diff --git a/srcpkgs/invada-studio-plugins-lv2/patches/invada-studio-fixes.patch b/srcpkgs/invada-studio-plugins-lv2/patches/invada-studio-fixes.patch new file mode 100644 index 00000000000..2d06f50b3fe --- /dev/null +++ b/srcpkgs/invada-studio-plugins-lv2/patches/invada-studio-fixes.patch @@ -0,0 +1,2293 @@ +# https://code.launchpad.net/~shanipribadi/invada-studio/fixes +# +# 104. By ShaniHP on 2013-06-03 +# destroy widget on plugingui cleanup (fix segfault on closing gui) +# +# 103. By falkTX on 2013-06-03 +# Update to latest LV2 spec +# +# 102. By Carl Hetherington on 2013-06-03 +# add denormal handling + +diff -Naurd plugin/inv_delay.c plugin/inv_delay.c +--- plugin/inv_delay.c 2009-08-16 08:56:09.000000000 +0200 ++++ plugin/inv_delay.c 2014-03-08 01:17:40.050457000 +0100 +@@ -28,6 +28,8 @@ + #include "library/common.h" + #include "inv_delay.h" + ++#define SMALL_TO_ZERO(f) if (fabs(f) < 1e-16) f = 0; ++ + static LV2_Descriptor *IDelayMonoDescriptor = NULL; + static LV2_Descriptor *IDelaySumDescriptor = NULL; + +@@ -906,7 +908,9 @@ + } + + // munge it ++ SMALL_TO_ZERO(In1FBmix); + In1FB = (1-fMunge)*In1FBmix + fMunge*ITube_do(In1FBmix,1+fMunge); ++ SMALL_TO_ZERO(In2FBmix); + In2FB = (1-fMunge)*In2FBmix + fMunge*ITube_do(In2FBmix,1+fMunge); + HPF1 = ((fHPFsamples-1) * HPF1 + In1FB) / fHPFsamples; + HPF2 = ((fHPFsamples-1) * HPF2 + In2FB) / fHPFsamples; +diff -Naurd plugin/inv_input.h plugin/inv_input.h +--- plugin/inv_input.h 2009-05-09 08:17:48.000000000 +0200 ++++ plugin/inv_input.h 2014-03-08 01:17:40.050457000 +0100 +@@ -18,8 +18,8 @@ + + */ + +-#define IINPUT_URI "http://invadarecords.com/plugins/lv2/input"; +-#define IINPUT_GUI_URI "http://invadarecords.com/plugins/lv2/input/gui"; ++#define IINPUT_URI "http://invadarecords.com/plugins/lv2/input" ++#define IINPUT_GUI_URI "http://invadarecords.com/plugins/lv2/input/gui" + #define IINPUT_BYPASS 0 + #define IINPUT_PHASEL 1 + #define IINPUT_PHASER 2 +@@ -32,11 +32,11 @@ + #define IINPUT_AUDIO_OUTL 9 + #define IINPUT_AUDIO_OUTR 10 + #define IINPUT_METER_INL 11 +-#define IINPUT_METER_INR 12 ++#define IINPUT_METER_INR 12 + #define IINPUT_METER_OUTL 13 +-#define IINPUT_METER_OUTR 14 +-#define IINPUT_METER_PHASE 15 +-#define IINPUT_METER_DRIVE 16 ++#define IINPUT_METER_OUTR 14 ++#define IINPUT_METER_PHASE 15 ++#define IINPUT_METER_DRIVE 16 + + /* control conversion function */ + float convertParam(unsigned long param, float value, double sr); +diff -Naurd plugin/inv_meter.c plugin/inv_meter.c +--- plugin/inv_meter.c 2009-08-09 08:57:23.000000000 +0200 ++++ plugin/inv_meter.c 2014-03-08 01:17:40.050457000 +0100 +@@ -320,7 +320,9 @@ + plugin->EnvVuLLast = (fabs(EnvVuL)<1.0e-10) ? 0.f : EnvVuL; + plugin->EnvVuRLast = (fabs(EnvVuR)<1.0e-10) ? 0.f : EnvVuR; + plugin->EnvPhaseLast = (fabs(EnvPhase)<1.0e-10) ? 0.f : EnvPhase; ++ filter=plugin->filters; + for(i=0;iEnvSpecLast[i] = (fabs(EnvSpec[i])<1.0e-10) ? 0.f : EnvSpec[i]; + } + +diff -Naurd plugin/inv_meter.h plugin/inv_meter.h +--- plugin/inv_meter.h 2009-08-08 11:00:52.000000000 +0200 ++++ plugin/inv_meter.h 2014-03-08 01:17:40.050457000 +0100 +@@ -18,8 +18,8 @@ + + */ + +-#define IMETER_URI "http://invadarecords.com/plugins/lv2/meter"; +-#define IMETER_GUI_URI "http://invadarecords.com/plugins/lv2/meter/gui"; ++#define IMETER_URI "http://invadarecords.com/plugins/lv2/meter" ++#define IMETER_GUI_URI "http://invadarecords.com/plugins/lv2/meter/gui" + #define IMETER_BYPASS 0 + #define IMETER_AUDIO_INL 1 + #define IMETER_AUDIO_INR 2 +diff -Naurd plugin/inv_testtone.h plugin/inv_testtone.h +--- plugin/inv_testtone.h 2009-06-30 00:37:22.000000000 +0200 ++++ plugin/inv_testtone.h 2014-03-08 01:17:40.050457000 +0100 +@@ -18,8 +18,8 @@ + + */ + +-#define ITONE_URI "http://invadarecords.com/plugins/lv2/testtone"; +-#define ITONE_GUI_URI "http://invadarecords.com/plugins/lv2/testtone/gui"; ++#define ITONE_URI "http://invadarecords.com/plugins/lv2/testtone" ++#define ITONE_GUI_URI "http://invadarecords.com/plugins/lv2/testtone/gui" + #define ITONE_ACTIVE 0 + #define ITONE_FREQ 1 + #define ITONE_TRIM 2 +diff -Naurd plugin/library/common.c plugin/library/common.c +--- plugin/library/common.c 2009-08-16 09:16:44.000000000 +0200 ++++ plugin/library/common.c 2014-03-08 01:17:40.050457000 +0100 +@@ -27,6 +27,7 @@ + #include + #include "common.h" + ++#define SMALL_TO_ZERO(f) if (fabs(f) < 1e-16) f = 0; + + /* a function that checks to see if a control has been changed and calls the provided conversion fuction */ + void +@@ -99,6 +100,8 @@ + { + float valueA; + ++ SMALL_TO_ZERO(audio_value); ++ + valueA=fabs(audio_value); + + return (valueA > envelope_value) ? Env->attack * (valueA - envelope_value) : Env->decay * (valueA - envelope_value); +@@ -601,5 +604,16 @@ + } + } + ++void ++denormalBandpassFilter(struct FilterP *f) ++{ ++ int i; + ++ for(i=0;i<2;i++) { ++ f->x[i] = (fabs(f->x[i])<1.0e-10) ? 0.f : f->x[i]; ++ f->x2[i] = (fabs(f->x2[i])<1.0e-10) ? 0.f : f->x2[i]; ++ f->y[i] = (fabs(f->y[i])<1.0e-10) ? 0.f : f->y[i]; ++ f->y2[i] = (fabs(f->y2[i])<1.0e-10) ? 0.f : f->y2[i]; ++ } ++} + +diff -Naurd plugin/library/common.h plugin/library/common.h +--- plugin/library/common.h 2009-08-16 09:16:57.000000000 +0200 ++++ plugin/library/common.h 2014-03-08 01:17:40.050457000 +0100 +@@ -109,5 +109,6 @@ + /* Butterworth bandpass for spectral analysier */ + void initBandpassFilter(struct FilterP *f, double sr, double cf, double bw); + float applyBandpassFilter(struct FilterP *f, float in); ++void denormalBandpassFilter(struct FilterP *f); + + #endif /*__INVADA_COMMON_H */ +diff -Naurd plugingui/gtk/inv_input_gui.glade plugingui/gtk/inv_input_gui.glade +--- plugingui/gtk/inv_input_gui.glade 2009-05-09 13:03:37.000000000 +0200 ++++ plugingui/gtk/inv_input_gui.glade 2014-03-08 01:17:40.050457000 +0100 +@@ -1,6 +1,6 @@ + + +- ++ + + + GTK_WINDOW_POPUP +@@ -83,28 +83,19 @@ + 2 + 2 + +- +- True +- 0.20000000298023224 +- Audio In +- GTK_JUSTIFY_RIGHT +- 4 +- +- +- +- +- +- +- ++ + True +- 0.20000000298023224 +- Audio Out +- GTK_JUSTIFY_RIGHT +- 5 ++ 0 ++ 0 ++ ++ ++ + + + 1 + 2 ++ 1 ++ 2 + + + +@@ -124,19 +115,28 @@ + + + +- ++ + True +- 0 +- 0 +- +- +- ++ 0.20000000298023224 ++ Audio Out ++ GTK_JUSTIFY_RIGHT ++ 5 + + + 1 + 2 +- 1 +- 2 ++ ++ ++ ++ ++ ++ True ++ 0.20000000298023224 ++ Audio In ++ GTK_JUSTIFY_RIGHT ++ 4 ++ ++ + + + +@@ -191,7 +191,7 @@ + + + True +- Phase ++ Stereo Width + True + + +@@ -221,19 +221,57 @@ + 5 + 2 + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 ++ 4 ++ 4 ++ 4 ++ 4 + +- ++ ++ ++ ++ ++ ++ ++ True ++ Width ++ True ++ ++ ++ label_item ++ ++ ++ ++ ++ 3 ++ 4 ++ GTK_EXPAND ++ GTK_FILL ++ 2 ++ 2 ++ ++ ++ ++ ++ True ++ 0.5 ++ ++ ++ True ++ 0 ++ 0 ++ ++ + True + +- ++ + True + 0 + 0 +@@ -247,7 +285,7 @@ + + + +- ++ + True + 0 + 0 +@@ -268,9 +306,9 @@ + + + +- ++ + True +- Soft Clip ++ Phase + True + + +@@ -279,8 +317,6 @@ + + + +- 4 +- 5 + GTK_EXPAND + GTK_FILL + 2 +@@ -288,11 +324,11 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 +@@ -306,9 +342,9 @@ + + + +- ++ + True +- Gain ++ Pan + True + + +@@ -317,8 +353,8 @@ + + + +- 1 +- 2 ++ 2 ++ 3 + GTK_EXPAND + GTK_FILL + 2 +@@ -326,11 +362,11 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 +@@ -344,9 +380,9 @@ + + + +- ++ + True +- Pan ++ Gain + True + + +@@ -355,8 +391,8 @@ + + + +- 2 +- 3 ++ 1 ++ 2 + GTK_EXPAND + GTK_FILL + 2 +@@ -364,19 +400,19 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 + +- ++ + True + +- ++ + True + 0 + 0 +@@ -390,7 +426,7 @@ + + + +- ++ + True + 0 + 0 +@@ -411,45 +447,9 @@ + + + +- +- True +- Phase +- True +- +- +- label_item +- +- +- +- +- GTK_EXPAND +- GTK_FILL +- 2 +- 2 +- +- +- +- +- True +- 0.5 +- +- +- True +- 0 +- 0 +- 4 +- 4 +- 4 +- 4 +- +- +- +- +- +- +- ++ + True +- Width ++ Soft Clip + True + + +@@ -458,8 +458,8 @@ + + + +- 3 +- 4 ++ 4 ++ 5 + GTK_EXPAND + GTK_FILL + 2 +diff -Naurd plugingui/gtk/inv_input_gui.xml plugingui/gtk/inv_input_gui.xml +--- plugingui/gtk/inv_input_gui.xml 2009-05-09 13:04:43.000000000 +0200 ++++ plugingui/gtk/inv_input_gui.xml 2014-03-08 01:17:40.050457000 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + GTK_WINDOW_POPUP +@@ -82,28 +82,19 @@ + 2 + 2 + +- +- True +- 0.20000000298023224 +- Audio In +- GTK_JUSTIFY_RIGHT +- 4 +- +- +- +- +- +- +- ++ + True +- 0.20000000298023224 +- Audio Out +- GTK_JUSTIFY_RIGHT +- 5 ++ 0 ++ 0 ++ ++ ++ + + + 1 + 2 ++ 1 ++ 2 + + + +@@ -123,19 +114,28 @@ + + + +- ++ + True +- 0 +- 0 +- +- +- ++ 0.20000000298023224 ++ Audio Out ++ GTK_JUSTIFY_RIGHT ++ 5 + + + 1 + 2 +- 1 +- 2 ++ ++ ++ ++ ++ ++ True ++ 0.20000000298023224 ++ Audio In ++ GTK_JUSTIFY_RIGHT ++ 4 ++ ++ + + + +@@ -187,7 +187,7 @@ + + + True +- Phase ++ Stereo Width + True + + +@@ -214,19 +214,54 @@ + 5 + 2 + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 ++ 4 ++ 4 ++ 4 ++ 4 + +- ++ ++ ++ ++ ++ ++ ++ True ++ Width ++ True ++ ++ ++ ++ ++ 3 ++ 4 ++ GTK_EXPAND ++ GTK_FILL ++ 2 ++ 2 ++ ++ ++ ++ ++ True ++ 0.5 ++ ++ ++ True ++ 0 ++ 0 ++ ++ + True + +- ++ + True + 0 + 0 +@@ -240,7 +275,7 @@ + + + +- ++ + True + 0 + 0 +@@ -261,16 +296,14 @@ + + + +- ++ + True +- Soft Clip ++ Phase + True + + + + +- 4 +- 5 + GTK_EXPAND + GTK_FILL + 2 +@@ -278,11 +311,11 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 +@@ -296,16 +329,16 @@ + + + +- ++ + True +- Gain ++ Pan + True + + + + +- 1 +- 2 ++ 2 ++ 3 + GTK_EXPAND + GTK_FILL + 2 +@@ -313,11 +346,11 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 +@@ -331,16 +364,16 @@ + + + +- ++ + True +- Pan ++ Gain + True + + + + +- 2 +- 3 ++ 1 ++ 2 + GTK_EXPAND + GTK_FILL + 2 +@@ -348,19 +381,19 @@ + + + +- ++ + True + 0.5 + +- ++ + True + 0 + 0 + +- ++ + True + +- ++ + True + 0 + 0 +@@ -374,7 +407,7 @@ + + + +- ++ + True + 0 + 0 +@@ -395,49 +428,16 @@ + + + +- +- True +- Phase +- True +- +- +- +- +- GTK_EXPAND +- GTK_FILL +- 2 +- 2 +- +- +- +- +- True +- 0.5 +- +- +- True +- 0 +- 0 +- 4 +- 4 +- 4 +- 4 +- +- +- +- +- +- +- ++ + True +- Width ++ Soft Clip + True + + + + +- 3 +- 4 ++ 4 ++ 5 + GTK_EXPAND + GTK_FILL + 2 +diff -Naurd plugingui/gtk/inv_meter_gui.glade plugingui/gtk/inv_meter_gui.glade +--- plugingui/gtk/inv_meter_gui.glade 2009-08-22 09:36:39.000000000 +0200 ++++ plugingui/gtk/inv_meter_gui.glade 2014-03-08 01:17:40.050457000 +0100 +@@ -1,6 +1,6 @@ + + +- ++ + + + GTK_WINDOW_POPUP +@@ -307,7 +307,7 @@ + + + True +- Phase ++ Stereo Width + True + + +diff -Naurd plugingui/gtk/inv_meter_gui.xml plugingui/gtk/inv_meter_gui.xml +--- plugingui/gtk/inv_meter_gui.xml 2009-08-22 09:36:47.000000000 +0200 ++++ plugingui/gtk/inv_meter_gui.xml 2014-03-08 01:17:40.050457000 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + GTK_WINDOW_POPUP +@@ -295,7 +295,7 @@ + + + True +- Phase ++ Stereo Width + True + + +diff -Naurd plugingui/inv_compressor_gui.c plugingui/inv_compressor_gui.c +--- plugingui/inv_compressor_gui.c 2009-07-04 12:51:18.000000000 +0200 ++++ plugingui/inv_compressor_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -36,8 +36,6 @@ + #include "inv_compressor_gui.h" + + +-static LV2UI_Descriptor *ICompGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -76,7 +74,7 @@ + + static LV2UI_Handle instantiateICompGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { +- ICompGui *pluginGui = (ICompGui *)malloc(sizeof(ICompGui)); ++ ICompGui *pluginGui = (ICompGui *)g_malloc0(sizeof(ICompGui)); + if(pluginGui==NULL) + return NULL; + +@@ -96,7 +94,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_compressor_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "comp_window")); + +@@ -321,7 +319,11 @@ + + static void cleanupICompGui(LV2UI_Handle ui) + { +- return; ++ ICompGui *pluginGui = (ICompGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -428,30 +430,23 @@ + } + + +-static void init() +-{ +- ICompGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- ICompGuiDescriptor->URI = ICOMP_GUI_URI; +- ICompGuiDescriptor->instantiate = instantiateICompGui; +- ICompGuiDescriptor->cleanup = cleanupICompGui; +- ICompGuiDescriptor->port_event = port_eventICompGui; +- ICompGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ ICOMP_GUI_URI, ++ &instantiateICompGui, ++ &cleanupICompGui, ++ &port_eventICompGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!ICompGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return ICompGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_delay_gui.c plugingui/inv_delay_gui.c +--- plugingui/inv_delay_gui.c 2009-07-04 12:51:38.000000000 +0200 ++++ plugingui/inv_delay_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -35,8 +35,6 @@ + #include "inv_delay_gui.h" + + +-static LV2UI_Descriptor *IDelayGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -88,7 +86,7 @@ + static LV2UI_Handle + instantiateIDelayGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { +- IDelayGui *pluginGui = (IDelayGui *)malloc(sizeof(IDelayGui)); ++ IDelayGui *pluginGui = (IDelayGui *)g_malloc0(sizeof(IDelayGui)); + if(pluginGui==NULL) + return NULL; + +@@ -108,7 +106,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_delay_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "delay_window")); + +@@ -410,7 +408,11 @@ + static void + cleanupIDelayGui(LV2UI_Handle ui) + { +- return; ++ IDelayGui *pluginGui = (IDelayGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -544,31 +546,23 @@ + } + + +-static void +-init() +-{ +- IDelayGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IDelayGuiDescriptor->URI = IDELAY_GUI_URI; +- IDelayGuiDescriptor->instantiate = instantiateIDelayGui; +- IDelayGuiDescriptor->cleanup = cleanupIDelayGui; +- IDelayGuiDescriptor->port_event = port_eventIDelayGui; +- IDelayGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IDELAY_GUI_URI, ++ &instantiateIDelayGui, ++ &cleanupIDelayGui, ++ &port_eventIDelayGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IDelayGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IDelayGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_erreverb_gui.c plugingui/inv_erreverb_gui.c +--- plugingui/inv_erreverb_gui.c 2009-07-04 08:22:56.000000000 +0200 ++++ plugingui/inv_erreverb_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -35,8 +35,6 @@ + #include "inv_erreverb_gui.h" + + +-static LV2UI_Descriptor *IErReverbGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -75,7 +73,7 @@ + static LV2UI_Handle + instantiateIErReverbGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { +- IErReverbGui *pluginGui = (IErReverbGui *)malloc(sizeof(IErReverbGui)); ++ IErReverbGui *pluginGui = (IErReverbGui *)g_malloc0(sizeof(IErReverbGui)); + if(pluginGui==NULL) + return NULL; + +@@ -95,7 +93,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_erreverb_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "erreverb_window")); + +@@ -287,7 +285,11 @@ + static void + cleanupIErReverbGui(LV2UI_Handle ui) + { +- return; ++ IErReverbGui *pluginGui = (IErReverbGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -392,31 +394,24 @@ + } + + +-static void +-init() +-{ +- IErReverbGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IErReverbGuiDescriptor->URI = IERR_GUI_URI; +- IErReverbGuiDescriptor->instantiate = instantiateIErReverbGui; +- IErReverbGuiDescriptor->cleanup = cleanupIErReverbGui; +- IErReverbGuiDescriptor->port_event = port_eventIErReverbGui; +- IErReverbGuiDescriptor->extension_data = NULL; + +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IERR_GUI_URI, ++ &instantiateIErReverbGui, ++ &cleanupIErReverbGui, ++ &port_eventIErReverbGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IErReverbGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IErReverbGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_filter_gui.c plugingui/inv_filter_gui.c +--- plugingui/inv_filter_gui.c 2009-07-04 12:57:42.000000000 +0200 ++++ plugingui/inv_filter_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -36,8 +36,6 @@ + #include "inv_filter_gui.h" + + +-static LV2UI_Descriptor *IFilterGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -67,7 +65,7 @@ + static LV2UI_Handle + instantiateIFilterGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { +- IFilterGui *pluginGui = (IFilterGui *)malloc(sizeof(IFilterGui)); ++ IFilterGui *pluginGui = (IFilterGui *)g_malloc0(sizeof(IFilterGui)); + if(pluginGui==NULL) + return NULL; + +@@ -87,7 +85,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_filter_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "filter_window")); + +@@ -250,7 +248,11 @@ + static void + cleanupIFilterGui(LV2UI_Handle ui) + { +- return; ++ IFilterGui *pluginGui = (IFilterGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -325,31 +327,23 @@ + } + + +-static void +-init() +-{ +- IFilterGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IFilterGuiDescriptor->URI = IFILTER_GUI_URI; +- IFilterGuiDescriptor->instantiate = instantiateIFilterGui; +- IFilterGuiDescriptor->cleanup = cleanupIFilterGui; +- IFilterGuiDescriptor->port_event = port_eventIFilterGui; +- IFilterGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IFILTER_GUI_URI, ++ &instantiateIFilterGui, ++ &cleanupIFilterGui, ++ &port_eventIFilterGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IFilterGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IFilterGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_input_gui.c plugingui/inv_input_gui.c +--- plugingui/inv_input_gui.c 2009-07-04 12:52:02.000000000 +0200 ++++ plugingui/inv_input_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -36,8 +36,6 @@ + #include "inv_input_gui.h" + + +-static LV2UI_Descriptor *IInputGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -74,7 +72,7 @@ + instantiateIInputGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { + +- IInputGui *pluginGui = (IInputGui *)malloc(sizeof(IInputGui)); ++ IInputGui *pluginGui = (IInputGui *)g_malloc0(sizeof(IInputGui)); + if(pluginGui==NULL) + return NULL; + +@@ -94,7 +92,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_input_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "input_window")); + +@@ -277,7 +275,11 @@ + static void + cleanupIInputGui(LV2UI_Handle ui) + { +- return; ++ IInputGui *pluginGui = (IInputGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -379,31 +381,23 @@ + } + + +-static void +-init() +-{ +- IInputGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IInputGuiDescriptor->URI = IINPUT_GUI_URI; +- IInputGuiDescriptor->instantiate = instantiateIInputGui; +- IInputGuiDescriptor->cleanup = cleanupIInputGui; +- IInputGuiDescriptor->port_event = port_eventIInputGui; +- IInputGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IINPUT_GUI_URI, ++ &instantiateIInputGui, ++ &cleanupIInputGui, ++ &port_eventIInputGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IInputGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IInputGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_meter_gui.c plugingui/inv_meter_gui.c +--- plugingui/inv_meter_gui.c 2009-08-22 08:56:27.000000000 +0200 ++++ plugingui/inv_meter_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -36,8 +36,6 @@ + #include "inv_meter_gui.h" + + +-static LV2UI_Descriptor *IMeterGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -70,7 +68,7 @@ + instantiateIMeterGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { + +- IMeterGui *pluginGui = (IMeterGui *)malloc(sizeof(IMeterGui)); ++ IMeterGui *pluginGui = (IMeterGui *)g_malloc0(sizeof(IMeterGui)); + if(pluginGui==NULL) + return NULL; + +@@ -90,7 +88,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_meter_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "meter_window")); + +@@ -185,7 +183,11 @@ + static void + cleanupIMeterGui(LV2UI_Handle ui) + { +- return; ++ IMeterGui *pluginGui = (IMeterGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -291,31 +293,23 @@ + } + + +-static void +-init() +-{ +- IMeterGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IMeterGuiDescriptor->URI = IMETER_GUI_URI; +- IMeterGuiDescriptor->instantiate = instantiateIMeterGui; +- IMeterGuiDescriptor->cleanup = cleanupIMeterGui; +- IMeterGuiDescriptor->port_event = port_eventIMeterGui; +- IMeterGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IMETER_GUI_URI, ++ &instantiateIMeterGui, ++ &cleanupIMeterGui, ++ &port_eventIMeterGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IMeterGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IMeterGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_phaser_gui.c plugingui/inv_phaser_gui.c +--- plugingui/inv_phaser_gui.c 2009-08-15 09:17:33.000000000 +0200 ++++ plugingui/inv_phaser_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -35,8 +35,6 @@ + #include "inv_phaser_gui.h" + + +-static LV2UI_Descriptor *IPhaserGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -71,7 +69,7 @@ + static LV2UI_Handle + instantiateIPhaserGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { +- IPhaserGui *pluginGui = (IPhaserGui *)malloc(sizeof(IPhaserGui)); ++ IPhaserGui *pluginGui = (IPhaserGui *)g_malloc0(sizeof(IPhaserGui)); + if(pluginGui==NULL) + return NULL; + +@@ -91,7 +89,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_phaser_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "phaser_window")); + +@@ -278,7 +276,11 @@ + static void + cleanupIPhaserGui(LV2UI_Handle ui) + { +- return; ++ IPhaserGui *pluginGui = (IPhaserGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -359,31 +361,23 @@ + } + + +-static void +-init() +-{ +- IPhaserGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IPhaserGuiDescriptor->URI = IPHASER_GUI_URI; +- IPhaserGuiDescriptor->instantiate = instantiateIPhaserGui; +- IPhaserGuiDescriptor->cleanup = cleanupIPhaserGui; +- IPhaserGuiDescriptor->port_event = port_eventIPhaserGui; +- IPhaserGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ IPHASER_GUI_URI, ++ &instantiateIPhaserGui, ++ &cleanupIPhaserGui, ++ &port_eventIPhaserGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IPhaserGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IPhaserGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd plugingui/inv_testtone_gui.c plugingui/inv_testtone_gui.c +--- plugingui/inv_testtone_gui.c 2009-08-23 07:06:02.000000000 +0200 ++++ plugingui/inv_testtone_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -36,8 +36,6 @@ + #include "inv_testtone_gui.h" + + +-static LV2UI_Descriptor *IToneGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -65,7 +63,7 @@ + instantiateIToneGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { + +- IToneGui *pluginGui = (IToneGui *)malloc(sizeof(IToneGui)); ++ IToneGui *pluginGui = (IToneGui *)g_malloc0(sizeof(IToneGui)); + if(pluginGui==NULL) + return NULL; + +@@ -85,7 +83,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_testtone_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "testtone_window")); + +@@ -182,7 +180,11 @@ + static void + cleanupIToneGui(LV2UI_Handle ui) + { +- return; ++ IToneGui *pluginGui = (IToneGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -233,33 +235,26 @@ + } + + +-static void +-init() +-{ +- IToneGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- IToneGuiDescriptor->URI = ITONE_GUI_URI; +- IToneGuiDescriptor->instantiate = instantiateIToneGui; +- IToneGuiDescriptor->cleanup = cleanupIToneGui; +- IToneGuiDescriptor->port_event = port_eventIToneGui; +- IToneGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ ITONE_GUI_URI, ++ &instantiateIToneGui, ++ &cleanupIToneGui, ++ &port_eventIToneGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!IToneGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return IToneGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + ++ + /*****************************************************************************/ + + static gint +diff -Naurd plugingui/inv_tube_gui.c plugingui/inv_tube_gui.c +--- plugingui/inv_tube_gui.c 2009-07-04 12:53:06.000000000 +0200 ++++ plugingui/inv_tube_gui.c 2014-03-08 01:17:40.050457000 +0100 +@@ -35,8 +35,6 @@ + #include "inv_tube_gui.h" + + +-static LV2UI_Descriptor *ITubeGuiDescriptor = NULL; +- + typedef struct { + GtkWidget *windowContainer; + GtkWidget *heading; +@@ -68,7 +66,7 @@ + instantiateITubeGui(const struct _LV2UI_Descriptor* descriptor, const char* plugin_uri, const char* bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget* widget, const LV2_Feature* const* features) + { + +- ITubeGui *pluginGui = (ITubeGui *)malloc(sizeof(ITubeGui)); ++ ITubeGui *pluginGui = (ITubeGui *)g_malloc0(sizeof(ITubeGui)); + if(pluginGui==NULL) + return NULL; + +@@ -88,7 +86,7 @@ + builder = gtk_builder_new (); + file = g_strdup_printf("%s/gtk/inv_tube_gui.xml",bundle_path); + gtk_builder_add_from_file (builder, file, &err); +- free(file); ++ g_free(file); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "tube_window")); + +@@ -240,7 +238,11 @@ + static void + cleanupITubeGui(LV2UI_Handle ui) + { +- return; ++ ITubeGui *pluginGui = (ITubeGui *)ui; ++ GtkWidget *window = (GtkWidget *) pluginGui->windowContainer; ++ gtk_widget_destroy(GTK_WIDGET(window)); ++ g_free(pluginGui); ++ return; + } + + +@@ -317,31 +319,23 @@ + } + + +-static void +-init() +-{ +- ITubeGuiDescriptor = +- (LV2UI_Descriptor *)malloc(sizeof(LV2UI_Descriptor)); +- +- ITubeGuiDescriptor->URI = ITUBE_GUI_URI; +- ITubeGuiDescriptor->instantiate = instantiateITubeGui; +- ITubeGuiDescriptor->cleanup = cleanupITubeGui; +- ITubeGuiDescriptor->port_event = port_eventITubeGui; +- ITubeGuiDescriptor->extension_data = NULL; +- +-} ++static const ++LV2UI_Descriptor descriptor = { ++ ITUBE_GUI_URI, ++ &instantiateITubeGui, ++ &cleanupITubeGui, ++ &port_eventITubeGui, ++ 0 ++}; + + ++LV2_SYMBOL_EXPORT + const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index) + { +- if (!ITubeGuiDescriptor) init(); +- +- switch (index) { +- case 0: +- return ITubeGuiDescriptor; +- default: +- return NULL; +- } ++ if (index == 0) { ++ return &descriptor; ++ } ++ return 0; + } + + +diff -Naurd rdf/inv_compressor.ttl rdf/inv_compressor.ttl +--- rdf/inv_compressor.ttl 2009-08-23 08:51:51.000000000 +0200 ++++ rdf/inv_compressor.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,19 +1,18 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix dc: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix dct: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -63,9 +62,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -93,7 +92,7 @@ + lv2:minimum 0.00001 ; + lv2:maximum 0.750 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 3 ; +@@ -103,7 +102,7 @@ + lv2:minimum 0.001 ; + lv2:maximum 5.0 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 4 ; +@@ -210,9 +209,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -240,7 +239,7 @@ + lv2:minimum 0.00001 ; + lv2:maximum 0.750 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 3 ; +@@ -250,7 +249,7 @@ + lv2:minimum 0.001 ; + lv2:maximum 5.0 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 4 ; +diff -Naurd rdf/inv_delay.ttl rdf/inv_delay.ttl +--- rdf/inv_delay.ttl 2009-08-23 08:52:29.000000000 +0200 ++++ rdf/inv_delay.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,17 +1,16 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix pg: . + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -60,7 +59,7 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +@@ -108,7 +107,7 @@ + lv2:minimum 2.0 ; + lv2:maximum 200.0 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 5 ; +@@ -127,7 +126,7 @@ + lv2:minimum 0.02 ; + lv2:maximum 2 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 7 ; +@@ -163,7 +162,7 @@ + lv2:minimum 0.02 ; + lv2:maximum 2 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 11 ; +@@ -270,7 +269,7 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +@@ -318,7 +317,7 @@ + lv2:minimum 2.0 ; + lv2:maximum 200.0 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 5 ; +@@ -337,7 +336,7 @@ + lv2:minimum 0.02 ; + lv2:maximum 2 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 7 ; +@@ -373,7 +372,7 @@ + lv2:minimum 0.02 ; + lv2:maximum 2 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 11 ; +diff -Naurd rdf/inv_erreverb.ttl rdf/inv_erreverb.ttl +--- rdf/inv_erreverb.ttl 2009-08-23 08:52:51.000000000 +0200 ++++ rdf/inv_erreverb.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,19 +1,18 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix dc: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix dct: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -56,9 +55,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -137,7 +136,7 @@ + lv2:minimum 20.0 ; + lv2:maximum 2000.0 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 9 ; +@@ -229,9 +228,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -310,7 +309,7 @@ + lv2:minimum 20.0 ; + lv2:maximum 2000.0 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 9 ; +diff -Naurd rdf/inv_filter.ttl rdf/inv_filter.ttl +--- rdf/inv_filter.ttl 2009-08-23 08:53:27.000000000 +0200 ++++ rdf/inv_filter.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,19 +1,18 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix dc: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix dct: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -87,9 +86,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -109,7 +108,7 @@ + lv2:minimum 20 ; + lv2:maximum 20000 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +@@ -190,9 +189,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -212,7 +211,7 @@ + lv2:minimum 20 ; + lv2:maximum 20000 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +@@ -319,9 +318,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -341,7 +340,7 @@ + lv2:minimum 20 ; + lv2:maximum 20000 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +@@ -422,9 +421,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -444,7 +443,7 @@ + lv2:minimum 20 ; + lv2:maximum 20000 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +diff -Naurd rdf/inv_input.ttl rdf/inv_input.ttl +--- rdf/inv_input.ttl 2009-08-23 08:53:43.000000000 +0200 ++++ rdf/inv_input.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -4,15 +4,14 @@ + @prefix rdfs: . + @prefix units: . + @prefix uiext: . +-@prefix dc: . +-@prefix pg: . ++@prefix dct: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -58,9 +57,9 @@ + foaf:homepage ; + foaf:mbox ; + ] ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +diff -Naurd rdf/inv_meter.ttl rdf/inv_meter.ttl +--- rdf/inv_meter.ttl 2009-08-23 08:54:48.000000000 +0200 ++++ rdf/inv_meter.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -4,14 +4,13 @@ + @prefix rdfs: . + @prefix units: . + @prefix uiext: . +-@prefix pg: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -147,7 +146,7 @@ + foaf:homepage ; + foaf:mbox ; + ] ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +diff -Naurd rdf/inv_phaser.ttl rdf/inv_phaser.ttl +--- rdf/inv_phaser.ttl 2009-08-23 08:55:32.000000000 +0200 ++++ rdf/inv_phaser.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,17 +1,16 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix pg: . + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -97,7 +96,7 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +@@ -118,7 +117,7 @@ + lv2:minimum 0.5 ; + lv2:maximum 500 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +@@ -251,7 +250,7 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +@@ -272,7 +271,7 @@ + lv2:minimum 0.5 ; + lv2:maximum 500 ; + units:unit units:s ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +@@ -423,7 +422,7 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +diff -Naurd rdf/inv_testtone.ttl rdf/inv_testtone.ttl +--- rdf/inv_testtone.ttl 2009-08-23 08:55:47.000000000 +0200 ++++ rdf/inv_testtone.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -1,18 +1,17 @@ +-@prefix lv2: . +-@prefix foaf: . +-@prefix doap: . +-@prefix rdfs: . +-@prefix units: . +-@prefix uiext: . +-@prefix epp: . +-@prefix pg: . ++@prefix lv2: . ++@prefix foaf: . ++@prefix doap: . ++@prefix rdfs: . ++@prefix units: . ++@prefix uiext: . ++@prefix pprops: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -33,7 +32,7 @@ + foaf:homepage ; + foaf:mbox ; + ] ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; + + lv2:port [ +@@ -54,7 +53,7 @@ + lv2:minimum 20.0 ; + lv2:maximum 20000.0 ; + units:unit units:hz ; +- lv2:portProperty epp:logarithmic ; ++ lv2:portProperty pprops:logarithmic ; + ] , [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 2 ; +diff -Naurd rdf/inv_tube.ttl rdf/inv_tube.ttl +--- rdf/inv_tube.ttl 2009-08-23 08:56:08.000000000 +0200 ++++ rdf/inv_tube.ttl 2014-03-08 01:17:40.050457000 +0100 +@@ -4,15 +4,14 @@ + @prefix rdfs: . + @prefix units: . + @prefix uiext: . +-@prefix dc: . +-@prefix pg: . ++@prefix dct: . ++@prefix pg: . + + + + a uiext:GtkUI; + uiext:binary ; +- uiext:requiredFeature uiext:makeResident ; +- uiext:optionalFeature uiext:noUserResize ; ++ lv2:optionalFeature uiext:noUserResize ; + + uiext:portNotification [ + uiext:plugin ; +@@ -57,9 +56,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; +@@ -168,9 +167,9 @@ + foaf:mbox ; + ] ; + doap:license ; +- lv2:optionalFeature lv2:hardRtCapable ; ++ lv2:optionalFeature lv2:hardRTCapable ; + uiext:ui ; +- dc:replaces ; ++ dct:replaces ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; diff --git a/srcpkgs/invada-studio-plugins-lv2/template b/srcpkgs/invada-studio-plugins-lv2/template new file mode 100644 index 00000000000..1e776a394a9 --- /dev/null +++ b/srcpkgs/invada-studio-plugins-lv2/template @@ -0,0 +1,22 @@ +# Template file for 'invada-studio-plugins-lv2' +pkgname=invada-studio-plugins-lv2 +version=1.2.0 +revision=1 +build_style=gnu-makefile +make_use_env=yes +hostmakedepends="pkg-config" +makedepends="lv2 gtk+-devel" +short_desc="Invada Studio LV2 plugins" +maintainer="Olga Ustuzhanina " +license="GPL-2.0-or-later" +homepage="https://launchpad.net/invada-studio/" +distfiles="https://launchpad.net/invada-studio/lv2/1.2/+download/${pkgname}_${version}-nopkg.tgz" +checksum=c6cac7c32effc6b3052e3b017133244f385ef8e053147859d88eae6facaf7d12 + +pre_build() { + make_build_args="CC=${CC} LD=${CC}" +} + +do_install() { + make INSTALL_SYS_PLUGINS_DIR="$DESTDIR/usr/lib/lv2" install-sys +}