1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-24 15:03:53 +02:00

Merge branch 'master' into wx3

This commit is contained in:
Leland Lucius
2015-06-30 11:30:48 -05:00
128 changed files with 25654 additions and 33376 deletions

View File

@@ -462,8 +462,21 @@ bool LV2Effect::SetHost(EffectHostInterface *host)
{
mHost = host;
// Allocate buffers for the port indices and the default control values
int numPorts = lilv_plugin_get_num_ports(mPlug);
// Fail if we don't grok the port types
for (int i = 0; i < numPorts; i++)
{
const LilvPort *port = lilv_plugin_get_port_by_index(mPlug, i);
if (!lilv_port_is_a(mPlug, port, gAudio) &&
!lilv_port_is_a(mPlug, port, gControl))
{
return false;
}
}
// Allocate buffers for the port indices and the default control values
float *minimumVals = new float [numPorts];
float *maximumVals = new float [numPorts];
float *defaultValues = new float [numPorts];
@@ -1079,6 +1092,13 @@ bool LV2Effect::PopulateUI(wxWindow *parent)
mUseGUI,
true);
// Until I figure out where to put the "Duration" control in the
// graphical editor, force usage of plain editor.
if (GetType() == EffectTypeGenerate)
{
mUseGUI = false;
}
if (mUseGUI)
{
mUseGUI = BuildFancy();

View File

@@ -98,7 +98,7 @@ wxString LV2EffectsModule::GetPath()
wxString LV2EffectsModule::GetSymbol()
{
return XO("LV2 Effects Module");
return XO("LV2 Effects");
}
wxString LV2EffectsModule::GetName()
@@ -227,7 +227,16 @@ wxArrayString LV2EffectsModule::FindPlugins(PluginManagerInterface & WXUNUSED(pm
wxArrayString plugins;
LILV_FOREACH(plugins, i, plugs)
{
plugins.Add(LilvString(lilv_plugin_get_uri(lilv_plugins_get(plugs, i))));
const LilvPlugin *plug = lilv_plugins_get(plugs, i);
// Bypass Instrument (MIDI) plugins for now
const LilvPluginClass *cls = lilv_plugin_get_class(plug);
if (lilv_node_equals(lilv_plugin_class_get_uri(cls), LV2Effect::gInstrument))
{
continue;
}
plugins.Add(LilvString(lilv_plugin_get_uri(plug)));
}
return plugins;

View File

@@ -44,6 +44,7 @@
URI( gAudio, LV2_CORE__AudioPort ) \
URI( gControl, LV2_CORE__ControlPort ) \
URI( gInput, LV2_CORE__InputPort ) \
URI( gInstrument, LV2_CORE__InstrumentPlugin ) \
URI( gOutput, LV2_CORE__OutputPort ) \
URI( gOptional, LV2_CORE__connectionOptional ) \
URI( gEnumeration, LV2_CORE__enumeration ) \

38
src/effects/lv2/win_gtk.h Normal file
View File

@@ -0,0 +1,38 @@
// Ubuntu (and probably others) do not ship this file
// and we need it to embed the LV2 GUIs into a wxWindow.
/* ///////////////////////////////////////////////////////////////////////////
// Name: wx/gtk/private/win_gtk.h
// Purpose: native GTK+ widget for wxWindow
// Author: Robert Roebling
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////// */
#ifndef _WX_GTK_PIZZA_H_
#define _WX_GTK_PIZZA_H_
#define WX_PIZZA(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, wxPizza::type(), wxPizza)
#define WX_IS_PIZZA(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, wxPizza::type())
struct WXDLLIMPEXP_CORE wxPizza
{
// borders styles which can be used with wxPizza
enum { BORDER_STYLES =
wxBORDER_SIMPLE | wxBORDER_RAISED | wxBORDER_SUNKEN | wxBORDER_THEME };
static GtkWidget* New(long windowStyle = 0);
static GType type();
void move(GtkWidget* widget, int x, int y, int width, int height);
void put(GtkWidget* widget, int x, int y, int width, int height);
void scroll(int dx, int dy);
void get_border(GtkBorder& border);
GtkFixed m_fixed;
GList* m_children;
int m_scroll_x;
int m_scroll_y;
int m_windowStyle;
};
#endif // _WX_GTK_PIZZA_H_

View File

@@ -43,6 +43,7 @@ const static wxChar *kShippedEffects[] =
wxT("SpectralEditShelves.ny"),
wxT("StudioFadeOut.ny"),
wxT("tremolo.ny"),
wxT("vocalrediso.ny"),
wxT("vocalremover.ny"),
wxT("vocoder.ny"),
};