[SCM] calf/master: Add patches cherry-picked upstream to fix various bugs.
js at users.alioth.debian.org
js at users.alioth.debian.org
Mon Jul 31 03:19:46 UTC 2017
The following commit has been merged in the master branch:
commit 89cb231a190a09dbb6f6eb2c33f8c634f2d4b7ab
Author: Jonas Smedegaard <dr at jones.dk>
Date: Sun Jul 30 20:28:25 2017 -0400
Add patches cherry-picked upstream to fix various bugs.
diff --git a/debian/patches/020150508~f57ab5f.patch b/debian/patches/020150508~f57ab5f.patch
new file mode 100644
index 0000000..b9b20ea
--- /dev/null
+++ b/debian/patches/020150508~f57ab5f.patch
@@ -0,0 +1,21 @@
+Description: L10n: add l10n FR in .desktop file
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/f57ab5f
+Author: Olivier Humbert <trebmuh at tuxfamily.org>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/calf.desktop.in
++++ b/calf.desktop.in
+@@ -2,10 +2,12 @@
+ Name=Calf Plugin Pack for JACK
+ Name[pl]=Zestaw wtyczek Calf
+ Name[ru]=Набор эффектов и инструментов Calf для JACK
++Name[fr]=Ensemble de greffons Calf pour JACK
+ Version=@VERSION@
+ Comment=Process and produce sounds using a set of plugins with JACK interface
+ Comment[pl]=Przetwarzaj i generuj dźwięk używając zestawu wtyczek zgodnych z JACK
+ Comment[ru]=Обработка и создание музыки при помощи эффектов и инструментов через JACK
++Comment[fr]=Traitement et production de sons utilisant un ensemble de greffons avec une interface JACK
+ Exec=calfjackhost
+ Terminal=false
+ Type=Application
diff --git a/debian/patches/020150624~d72df1d.patch b/debian/patches/020150624~d72df1d.patch
new file mode 100644
index 0000000..fbe64bb
--- /dev/null
+++ b/debian/patches/020150624~d72df1d.patch
@@ -0,0 +1,24 @@
+Description: Try to fix a bug with unsorted plugins in Ardour
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/d72df1d
+Author: Markus Schmidt <schmidt at boomshop.net>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/makerdf.cpp
++++ b/src/makerdf.cpp
+@@ -287,11 +287,12 @@
+ " rdfs:label \"Output\" .\n\n";
+ }
+
+- ttl += uri + " a lv2:Plugin ;\n";
++ ttl += uri;
+
+ if (classes.count(lpi.plugin_type))
+- ttl += " a " + classes[lpi.plugin_type]+" ;\n";
+-
++ ttl += " a " + classes[lpi.plugin_type]+" ;\n";
++ else
++ ttl += " a lv2:Plugin ;\n";
+
+ ttl += " doap:name \""+string(lpi.name)+"\" ;\n";
+ ttl += " doap:maintainer [ foaf:name \""+string(lpi.maker)+"\" ; ] ;\n";
diff --git a/debian/patches/020150629~52ecdb4.patch b/debian/patches/020150629~52ecdb4.patch
new file mode 100644
index 0000000..01ea97f
--- /dev/null
+++ b/debian/patches/020150629~52ecdb4.patch
@@ -0,0 +1,47 @@
+Description: LED widget: fix drawing glitch
+ Looks like the existing code tried to re-invent the wheel in the widget
+ size allocation method - changed it to call the parent class and it
+ seems to work correctly now.
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/52ecdb4
+Author: Krzysztof Foltman <wdev at foltman.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/calf/ctl_led.h
++++ b/src/calf/ctl_led.h
+@@ -31,6 +31,7 @@
+ #define CALF_IS_LED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CALF_TYPE_LED))
+ #define CALF_LED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CALF_TYPE_LED, CalfLedClass))
+ #define CALF_IS_LED_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((klass), CALF_TYPE_LED))
++#define CALF_LED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CALF_TYPE_LED, CalfLedClass))
+
+ /// Instance object for CalfLed
+ struct CalfLed
+--- a/src/ctl_led.cpp
++++ b/src/ctl_led.cpp
+@@ -213,14 +213,12 @@
+ g_assert(CALF_IS_LED(widget));
+ CalfLed *led = CALF_LED(widget);
+
+- widget->allocation = *allocation;
++ GtkWidgetClass *parent_class = (GtkWidgetClass *) g_type_class_peek_parent( CALF_LED_GET_CLASS( led ) );
++ parent_class->size_allocate( widget, allocation );
+
+ if( led->cache_surface )
+ cairo_surface_destroy( led->cache_surface );
+ led->cache_surface = NULL;
+-
+- if (GTK_WIDGET_REALIZED(widget))
+- gdk_window_move_resize(widget->window, allocation->x, allocation->y, allocation->width, allocation->height );
+ }
+
+ static gboolean
+@@ -246,6 +244,8 @@
+ GtkWidget *widget = GTK_WIDGET(self);
+ // GtkWidget *widget = GTK_WIDGET(self);
+ // GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
++ self->led_mode = 0;
++ self->size = 0;
+ self->led_value = 0.f;
+ self->cache_surface = NULL;
+ widget->requisition.width = self->size ? 24 : 19;
diff --git a/debian/patches/020150712~c115927.patch b/debian/patches/020150712~c115927.patch
new file mode 100644
index 0000000..f6def5c
--- /dev/null
+++ b/debian/patches/020150712~c115927.patch
@@ -0,0 +1,83 @@
+Description: Make Analyzer UI require instance-access
+ The analyzer plugin is useless without graphs, which right now depend
+ on LV2 instance+data-access. Also the instance/data-access feature was
+ wrongly placed as plugin prop, when in fact it's a UI property.
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/c115927
+Author: falkTX <falktx at gmail.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/lv2gui.cpp
++++ b/src/lv2gui.cpp
+@@ -475,5 +475,14 @@
+ if (!index--)
+ return >kgui;
+
++ static LV2UI_Descriptor gtkguireq;
++ gtkguireq.URI = "http://calf.sourceforge.net/plugins/gui/gtk2-gui-req";
++ gtkguireq.instantiate = gui_instantiate;
++ gtkguireq.cleanup = gui_cleanup;
++ gtkguireq.port_event = gui_port_event;
++ gtkguireq.extension_data = gui_extension;
++ if (!index--)
++ return >kguireq;
++
+ return NULL;
+ }
+--- a/src/makerdf.cpp
++++ b/src/makerdf.cpp
+@@ -240,8 +240,23 @@
+ string gtkgui_uri = "<http://calf.sourceforge.net/plugins/gui/gtk2-gui>";
+ gui_header = gtkgui_uri + "\n"
+ " a uiext:GtkUI ;\n"
+- " lv2:extensionData uiext:showInterface ;\n"
++ " lv2:extensionData uiext:idleInterface ,\n"
++ " uiext:showInterface ;\n"
+ " lv2:requiredFeature uiext:makeResident ;\n"
++ " lv2:optionalFeature <http://lv2plug.in/ns/ext/instance-access> ;\n"
++ " lv2:optionalFeature <http://lv2plug.in/ns/ext/data-access> ;\n"
++ " uiext:binary <calflv2gui.so> .\n"
++ "\n"
++ ;
++
++ string gtkgui_req_uri = "<http://calf.sourceforge.net/plugins/gui/gtk2-gui-req>";
++ gui_header += gtkgui_req_uri + "\n"
++ " a uiext:GtkUI ;\n"
++ " lv2:extensionData uiext:idleInterface ,\n"
++ " uiext:showInterface ;\n"
++ " lv2:requiredFeature uiext:makeResident ;\n"
++ " lv2:requiredFeature <http://lv2plug.in/ns/ext/instance-access> ;\n"
++ " lv2:requiredFeature <http://lv2plug.in/ns/ext/data-access> ;\n"
+ " uiext:binary <calflv2gui.so> .\n"
+ "\n"
+ ;
+@@ -259,6 +274,9 @@
+ id_to_info[pi->get_id()] = make_pair(lpi.label, uri);
+ string ttl;
+ ttl = "@prefix : <" + unquoted_uri + "#> .\n" + header + gui_header;
++
++ bool uireq = !strcmp(lpi.label, "Analyzer");
++
+
+ #if USE_LV2_GUI
+ for (int j = 0; j < pi->get_param_count(); j++)
+@@ -267,7 +285,7 @@
+ if (props.flags & PF_PROP_OUTPUT)
+ {
+ string portnot = " uiext:portNotification [\n uiext:plugin " + uri + " ;\n uiext:portIndex " + i2s(j) + "\n] .\n\n";
+- ttl += gtkgui_uri + portnot;
++ ttl += (uireq ? gtkgui_req_uri : gtkgui_uri) + portnot;
+ }
+ }
+ #endif
+@@ -298,9 +316,7 @@
+ ttl += " doap:maintainer [ foaf:name \""+string(lpi.maker)+"\" ; ] ;\n";
+
+ #if USE_LV2_GUI
+- ttl += " uiext:ui <http://calf.sourceforge.net/plugins/gui/gtk2-gui> ;\n";
+- ttl += " lv2:optionalFeature <http://lv2plug.in/ns/ext/instance-access> ;\n";
+- ttl += " lv2:optionalFeature <http://lv2plug.in/ns/ext/data-access> ;\n";
++ ttl += " uiext:ui " + (uireq ? gtkgui_req_uri : gtkgui_uri) + " ;\n";
+ #endif
+
+ ttl += " doap:license <http://usefulinc.com/doap/licenses/lgpl> ;\n";
diff --git a/debian/patches/020151018~851af01.patch b/debian/patches/020151018~851af01.patch
new file mode 100644
index 0000000..c4a9d01
--- /dev/null
+++ b/debian/patches/020151018~851af01.patch
@@ -0,0 +1,18 @@
+Description: properly update linegraph mouse coordinates on click
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/851af01
+Bug: https://github.com/calf-studio-gear/calf/issues/37
+Author: Evstifeev Roman <someuniquename at gmail.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/ctl_linegraph.cpp
++++ b/src/ctl_linegraph.cpp
+@@ -1190,6 +1190,8 @@
+ CalfLineGraph *lg = CALF_LINE_GRAPH(widget);
+ bool inside_handle = false;
+
++ lg->mouse_x = event->x;
++ lg->mouse_y = event->y;
+ int i = calf_line_graph_get_handle_at(lg, lg->mouse_x, lg->mouse_y);
+ if (i != -1)
+ {
diff --git a/debian/patches/020151209~b73bce3.patch b/debian/patches/020151209~b73bce3.patch
new file mode 100644
index 0000000..eabb6bb
--- /dev/null
+++ b/debian/patches/020151209~b73bce3.patch
@@ -0,0 +1,20 @@
+Description: Line Graph: fix hover bug
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/b73bce3
+Author: Markus Schmidt <schmidt at boomshop.net>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/ctl_linegraph.cpp
++++ b/src/ctl_linegraph.cpp
+@@ -1311,7 +1311,10 @@
+ calf_line_graph_expose_request(widget, true);
+ lg->mouse_x = -1;
+ lg->mouse_y = -1;
+-
++ gdk_window_set_cursor(widget->window, lg->arrow_cursor);
++ lg->handle_hovered = -1;
++ lg->handle_redraw = 1;
++ calf_line_graph_expose_request(widget, true);
+ return TRUE;
+ }
+
diff --git a/debian/patches/020160122~a4bb4b6.patch b/debian/patches/020160122~a4bb4b6.patch
new file mode 100644
index 0000000..d12504f
--- /dev/null
+++ b/debian/patches/020160122~a4bb4b6.patch
@@ -0,0 +1,17 @@
+Description: Mono Input: fix use of uninitialized member
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/a4bb4b6
+Bug: https://github.com/calf-studio-gear/calf/issues/57
+Author: Krzysztof Foltman <wdev at foltman.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/modules_tools.cpp
++++ b/src/modules_tools.cpp
+@@ -278,6 +278,7 @@
+ meter_outL = 0.f;
+ meter_outR = 0.f;
+ _phase = -1.f;
++ _sc_level = 0.f;
+ }
+ mono_audio_module::~mono_audio_module() {
+ free(buffer);
diff --git a/debian/patches/020161201~6eb51ad.patch b/debian/patches/020161201~6eb51ad.patch
new file mode 100644
index 0000000..984027b
--- /dev/null
+++ b/debian/patches/020161201~6eb51ad.patch
@@ -0,0 +1,436 @@
+Description: Unified creator metadata
+ Assign all the plugins the same unified creator metadata, so
+ applications like Ardour will show all Calf plugins in a single creator
+ category:
+ .
+ Mixer, New Plugin, By Creator, Calf Studio Gear, ...
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/6eb51ad
+Author: Pascal de Bruijn <pmjdebruijn at pcode.nl>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/metadata.cpp
++++ b/src/metadata.cpp
+@@ -98,7 +98,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(flanger) = { 0x847d, "Flanger", "Calf Flanger", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
++CALF_PLUGIN_INFO(flanger) = { 0x847d, "Flanger", "Calf Flanger", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -116,7 +116,7 @@
+ { 1.0, 0, 4, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_NOBOUNDS, NULL, "dry", "Dry Amount" },
+ };
+
+-CALF_PLUGIN_INFO(phaser) = { 0x8484, "Phaser", "Calf Phaser", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
++CALF_PLUGIN_INFO(phaser) = { 0x8484, "Phaser", "Calf Phaser", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -140,7 +140,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(reverb) = { 0x847e, "Reverb", "Calf Reverb", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "ReverbPlugin" };
++CALF_PLUGIN_INFO(reverb) = { 0x847e, "Reverb", "Calf Reverb", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ReverbPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -171,7 +171,7 @@
+ { 20, 5, 100, 20, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "inertia", "Inertia"},
+ };
+
+-CALF_PLUGIN_INFO(filter) = { 0x847f, "Filter", "Calf Filter", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "FilterPlugin" };
++CALF_PLUGIN_INFO(filter) = { 0x847f, "Filter", "Calf Filter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "FilterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -189,7 +189,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(filterclavier) = { 0x849f, "Filterclavier", "Calf Filterclavier", "Calf Studio Gear / Krzysztof Foltman / Hans Baier", calf_plugins::calf_copyright_info, "FilterPlugin" };
++CALF_PLUGIN_INFO(filterclavier) = { 0x849f, "Filterclavier", "Calf Filterclavier", "Calf Studio Gear", calf_plugins::calf_copyright_info, "FilterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -216,7 +216,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(envelopefilter) = { 0x8432, "EnvelopeFilter", "Calf Envelope Filter", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "FilterPlugin" };
++CALF_PLUGIN_INFO(envelopefilter) = { 0x8432, "EnvelopeFilter", "Calf Envelope Filter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "FilterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -251,7 +251,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(vintage_delay) = { 0x8482, "VintageDelay", "Calf Vintage Delay", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "DelayPlugin" };
++CALF_PLUGIN_INFO(vintage_delay) = { 0x8482, "VintageDelay", "Calf Vintage Delay", "Calf Studio Gear", calf_plugins::calf_copyright_info, "DelayPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+ CALF_PORT_NAMES(comp_delay) = { "In L", "In R", "Out L", "Out R" };
+@@ -266,7 +266,7 @@
+ { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "bypass", "Bypass" },
+ {}
+ };
+-CALF_PLUGIN_INFO(comp_delay) = { 0x8485, "CompensationDelay", "Calf Compensation Delay Line", "Calf Studio Gear / Vladimir Sadovnikov", calf_plugins::calf_copyright_info, "DelayPlugin" };
++CALF_PLUGIN_INFO(comp_delay) = { 0x8485, "CompensationDelay", "Calf Compensation Delay Line", "Calf Studio Gear", calf_plugins::calf_copyright_info, "DelayPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -289,7 +289,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(reverse_delay) = { 0x8482, "ReverseDelay", "Calf Reverse Delay", "Calf Studio Gear / drgreenthumb", calf_plugins::calf_copyright_info, "DelayPlugin" };
++CALF_PLUGIN_INFO(reverse_delay) = { 0x8482, "ReverseDelay", "Calf Reverse Delay", "Calf Studio Gear", calf_plugins::calf_copyright_info, "DelayPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -313,7 +313,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(rotary_speaker) = { 0x8483, "RotarySpeaker", "Calf Rotary Speaker", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "SimulatorPlugin" };
++CALF_PLUGIN_INFO(rotary_speaker) = { 0x8483, "RotarySpeaker", "Calf Rotary Speaker", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SimulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -334,7 +334,7 @@
+ { 0.75, 0, 1, 0, PF_FLOAT | PF_SCALE_PERC | PF_CTL_KNOB, NULL, "overlap", "Overlap" },
+ };
+
+-CALF_PLUGIN_INFO(multichorus) = { 0x8501, "MultiChorus", "Calf Multi Chorus", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
++CALF_PLUGIN_INFO(multichorus) = { 0x8501, "MultiChorus", "Calf Multi Chorus", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -363,7 +363,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(monocompressor) = { 0x8577, "MonoCompressor", "Calf Mono Compressor", "Calf Studio Gear / Damien Zammit", calf_plugins::calf_copyright_info, "CompressorPlugin" };
++CALF_PLUGIN_INFO(monocompressor) = { 0x8577, "MonoCompressor", "Calf Mono Compressor", "Calf Studio Gear", calf_plugins::calf_copyright_info, "CompressorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -392,7 +392,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(compressor) = { 0x8502, "Compressor", "Calf Compressor", "Calf Studio Gear / Thor Harald Johansen", calf_plugins::calf_copyright_info, "CompressorPlugin" };
++CALF_PLUGIN_INFO(compressor) = { 0x8502, "Compressor", "Calf Compressor", "Calf Studio Gear", calf_plugins::calf_copyright_info, "CompressorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -443,7 +443,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(sidechaincompressor) = { 0x8517, "SidechainCompressor", "Calf Sidechain Compressor", "Calf Studio Gear / Markus Schmidt / Thor Harald Johansen", calf_plugins::calf_copyright_info, "CompressorPlugin" };
++CALF_PLUGIN_INFO(sidechaincompressor) = { 0x8517, "SidechainCompressor", "Calf Sidechain Compressor", "Calf Studio Gear", calf_plugins::calf_copyright_info, "CompressorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+ #define MULTI_BAND_COMP_PARAMS(band1, band2) \
+@@ -478,7 +478,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(multibandcompressor) = { 0x8516, "MultibandCompressor", "Calf Multiband Compressor", "Calf Studio Gear / Markus Schmidt / Thor Harald Johansen", calf_plugins::calf_copyright_info, "CompressorPlugin" };
++CALF_PLUGIN_INFO(multibandcompressor) = { 0x8516, "MultibandCompressor", "Calf Multiband Compressor", "Calf Studio Gear", calf_plugins::calf_copyright_info, "CompressorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -510,7 +510,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(deesser) = { 0x8515, "Deesser", "Calf Deesser", "Calf Studio Gear / Markus Schmidt / Thor Harald Johansen", calf_plugins::calf_copyright_info, "CompressorPlugin" };
++CALF_PLUGIN_INFO(deesser) = { 0x8515, "Deesser", "Calf Deesser", "Calf Studio Gear", calf_plugins::calf_copyright_info, "CompressorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -539,7 +539,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(gate) = { 0x8503, "Gate", "Calf Gate", "Calf Studio Gear / Damien Zammit / Thor Harald Johansen", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
++CALF_PLUGIN_INFO(gate) = { 0x8503, "Gate", "Calf Gate", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -590,7 +590,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(sidechaingate) = { 0x8504, "SidechainGate", "Calf Sidechain Gate", "Calf Studio Gear / Markus Schmidt / Damien Zammit / Thor Harald Johansen", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
++CALF_PLUGIN_INFO(sidechaingate) = { 0x8504, "SidechainGate", "Calf Sidechain Gate", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+ #define MULTI_BAND_GATE_PARAMS(band1, band2) \
+@@ -626,7 +626,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(multibandgate) = { 0x8505, "MultibandGate", "Calf Multiband Gate", "Calf Studio Gear / Markus Schmidt / Damien Zammit / Thor Harald Johansen", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
++CALF_PLUGIN_INFO(multibandgate) = { 0x8505, "MultibandGate", "Calf Multiband Gate", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ExpanderPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -650,7 +650,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(limiter) = { 0x8521, "Limiter", "Calf Limiter", "Calf Studio Gear / Christian Holschuh / Markus Schmidt", calf_plugins::calf_copyright_info, "LimiterPlugin" };
++CALF_PLUGIN_INFO(limiter) = { 0x8521, "Limiter", "Calf Limiter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "LimiterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -706,7 +706,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(multibandlimiter) = { 0x8520, "MultibandLimiter", "Calf Multiband Limiter", "Calf Studio Gear / Markus Schmidt / Christian Holschuh", calf_plugins::calf_copyright_info, "LimiterPlugin" };
++CALF_PLUGIN_INFO(multibandlimiter) = { 0x8520, "MultibandLimiter", "Calf Multiband Limiter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "LimiterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -769,7 +769,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(sidechainlimiter) = { 0x8522, "SidechainLimiter", "Calf Sidechain Limiter", "Calf Studio Gear / Markus Schmidt / Christian Holschuh", calf_plugins::calf_copyright_info, "LimiterPlugin" };
++CALF_PLUGIN_INFO(sidechainlimiter) = { 0x8522, "SidechainLimiter", "Calf Sidechain Limiter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "LimiterPlugin" };
+
+
+ ////////////////////////////////////////////////////////////////////////////
+@@ -786,7 +786,7 @@
+ { 4, 0, 4, 0, PF_ENUM | PF_CTL_COMBO, emphasis_filter_types, "type", "Filter Type" },
+ {}
+ };
+-CALF_PLUGIN_INFO(emphasis) = { 0x8599, "Emphasis", "Calf Emphasis", "Calf Studio Gear / Damien Zammit", calf_plugins::calf_copyright_info, "FilterPlugin" };
++CALF_PLUGIN_INFO(emphasis) = { 0x8599, "Emphasis", "Calf Emphasis", "Calf Studio Gear", calf_plugins::calf_copyright_info, "FilterPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+ const char *active_mode_names[] = { " ", "ON", "Left", "Right", "Mid", "Side" };
+@@ -804,7 +804,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(equalizer5band) = { 0x8511, "Equalizer5Band", "Calf Equalizer 5 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "EQPlugin" };
++CALF_PLUGIN_INFO(equalizer5band) = { 0x8511, "Equalizer5Band", "Calf Equalizer 5 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "EQPlugin" };
+
+ //////////////////////////////////////////////////////////////////////////////
+
+@@ -825,7 +825,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(equalizer8band) = { 0x8512, "Equalizer8Band", "Calf Equalizer 8 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "EQPlugin" };
++CALF_PLUGIN_INFO(equalizer8band) = { 0x8512, "Equalizer8Band", "Calf Equalizer 8 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "EQPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -848,7 +848,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(equalizer12band) = { 0x8513, "Equalizer12Band", "Calf Equalizer 12 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "EQPlugin" };
++CALF_PLUGIN_INFO(equalizer12band) = { 0x8513, "Equalizer12Band", "Calf Equalizer 12 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "EQPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -956,7 +956,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(equalizer30band) = { 0x8514, "Equalizer30Band", "Calf Equalizer 30 Band", "Calf Studio Gear / drgreenthumb", calf_plugins::calf_copyright_info, "EQPlugin" };
++CALF_PLUGIN_INFO(equalizer30band) = { 0x8514, "Equalizer30Band", "Calf Equalizer 30 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "EQPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -982,7 +982,7 @@
+ XOVER_BAND_PARAMS(2)
+ {}
+ };
+-CALF_PLUGIN_INFO(xover2) = { 0x8515, "XOver2Band", "Calf X-Over 2 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "UtilityPlugin" };
++CALF_PLUGIN_INFO(xover2) = { 0x8515, "XOver2Band", "Calf X-Over 2 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "UtilityPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1000,7 +1000,7 @@
+ XOVER_BAND_PARAMS(3)
+ {}
+ };
+-CALF_PLUGIN_INFO(xover3) = { 0x8515, "XOver3Band", "Calf X-Over 3 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "UtilityPlugin" };
++CALF_PLUGIN_INFO(xover3) = { 0x8515, "XOver3Band", "Calf X-Over 3 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "UtilityPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1020,7 +1020,7 @@
+ XOVER_BAND_PARAMS(4)
+ {}
+ };
+-CALF_PLUGIN_INFO(xover4) = { 0x8515, "XOver4Band", "Calf X-Over 4 Band", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "UtilityPlugin" };
++CALF_PLUGIN_INFO(xover4) = { 0x8515, "XOver4Band", "Calf X-Over 4 Band", "Calf Studio Gear", calf_plugins::calf_copyright_info, "UtilityPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1108,7 +1108,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(vocoder) = { 0x8514, "Vocoder", "Calf Vocoder", "Calf Studio Gear / Markus Schmidt / Christian Holschuh", calf_plugins::calf_copyright_info, "FilterPlugin" };
++CALF_PLUGIN_INFO(vocoder) = { 0x8514, "Vocoder", "Calf Vocoder", "Calf Studio Gear", calf_plugins::calf_copyright_info, "FilterPlugin" };
+
+
+ ////////////////////////////////////////////////////////////////////////////
+@@ -1129,7 +1129,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(pulsator) = { 0x8514, "Pulsator", "Calf Pulsator", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
++CALF_PLUGIN_INFO(pulsator) = { 0x8514, "Pulsator", "Calf Pulsator", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1172,7 +1172,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(ringmodulator) = { 0x8514, "RingModulator", "Calf Ring Modulator", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
++CALF_PLUGIN_INFO(ringmodulator) = { 0x8514, "RingModulator", "Calf Ring Modulator", "Calf Studio Gear", calf_plugins::calf_copyright_info, "ModulatorPlugin" };
+
+
+ ////////////////////////////////////////////////////////////////////////////
+@@ -1199,7 +1199,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(saturator) = { 0x8530, "Saturator", "Calf Saturator", "Calf Studio Gear / Markus Schmidt / Krzysztof Foltman", calf_plugins::calf_copyright_info, "DistortionPlugin" };
++CALF_PLUGIN_INFO(saturator) = { 0x8530, "Saturator", "Calf Saturator", "Calf Studio Gear", calf_plugins::calf_copyright_info, "DistortionPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1226,7 +1226,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(exciter) = { 0x8531, "Exciter", "Calf Exciter", "Calf Studio Gear / Markus Schmidt / Krzysztof Foltman", calf_plugins::calf_copyright_info, "SpectralPlugin" };
++CALF_PLUGIN_INFO(exciter) = { 0x8531, "Exciter", "Calf Exciter", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SpectralPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1253,7 +1253,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(bassenhancer) = { 0x8532, "BassEnhancer", "Calf Bass Enhancer", "Calf Studio Gear / Markus Schmidt / Krzysztof Foltman", calf_plugins::calf_copyright_info, "SpectralPlugin" };
++CALF_PLUGIN_INFO(bassenhancer) = { 0x8532, "BassEnhancer", "Calf Bass Enhancer", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SpectralPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1289,7 +1289,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(stereo) = { 0x8588, "StereoTools", "Calf Stereo Tools", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "SpatialPlugin" };
++CALF_PLUGIN_INFO(stereo) = { 0x8588, "StereoTools", "Calf Stereo Tools", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SpatialPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1325,7 +1325,7 @@
+
+ {}
+ };
+-CALF_PLUGIN_INFO(haas_enhancer) = { 0x8486, "HaasEnhancer", "Calf Haas Stereo Enhancer", "Calf Studio Gear / Vladimir Sadovnikov", calf_plugins::calf_copyright_info, "SpatialPlugin" };
++CALF_PLUGIN_INFO(haas_enhancer) = { 0x8486, "HaasEnhancer", "Calf Haas Stereo Enhancer", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SpatialPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1356,7 +1356,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(mono) = { 0x8589, "MonoInput", "Calf Mono Input", "Calf Studio Gear / Markus Schmidt", calf_plugins::calf_copyright_info, "UtilityPlugin" };
++CALF_PLUGIN_INFO(mono) = { 0x8589, "MonoInput", "Calf Mono Input", "Calf Studio Gear", calf_plugins::calf_copyright_info, "UtilityPlugin" };
+
+
+ ////////////////////////////////////////////////////////////////////////////
+@@ -1397,7 +1397,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(analyzer) = { 0x8588, "Analyzer", "Calf Analyzer", "Calf Studio Gear / Christian Holschuh / Markus Schmidt", calf_plugins::calf_copyright_info, "AnalyserPlugin" };
++CALF_PLUGIN_INFO(analyzer) = { 0x8588, "Analyzer", "Calf Analyzer", "Calf Studio Gear", calf_plugins::calf_copyright_info, "AnalyserPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+ const char *transientdesigner_view_names[] = { "Output", "Envelope", "Attack", "Release" };
+@@ -1424,7 +1424,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(transientdesigner) = { 0x8588, "TransientDesigner", "Calf Transient Designer", "Calf Studio Gear / Christian Holschuh / Markus Schmidt", calf_plugins::calf_copyright_info, "EnvelopePlugin" };
++CALF_PLUGIN_INFO(transientdesigner) = { 0x8588, "TransientDesigner", "Calf Transient Designer", "Calf Studio Gear", calf_plugins::calf_copyright_info, "EnvelopePlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1445,7 +1445,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(tapesimulator) = { 0x8588, "TapeSimulator", "Calf Tape Simulator", "Calf Studio Gear / Markus Schmidt / Christian Holschuh", calf_plugins::calf_copyright_info, "SimulatorPlugin" };
++CALF_PLUGIN_INFO(tapesimulator) = { 0x8588, "TapeSimulator", "Calf Tape Simulator", "Calf Studio Gear", calf_plugins::calf_copyright_info, "SimulatorPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1466,7 +1466,7 @@
+ {}
+ };
+
+-CALF_PLUGIN_INFO(crusher) = { 0x8587, "Crusher", "Calf Crusher", "Calf Studio Gear / Markus Schmidt / Christian Holschuh", calf_plugins::calf_copyright_info, "DistortionPlugin" };
++CALF_PLUGIN_INFO(crusher) = { 0x8587, "Crusher", "Calf Crusher", "Calf Studio Gear", calf_plugins::calf_copyright_info, "DistortionPlugin" };
+
+ ////////////////////////////////////////////////////////////////////////////
+
+@@ -1491,7 +1491,7 @@
+ "2x6dB/oct Bandpass",
+ };
+
+-CALF_PLUGIN_INFO(monosynth) = { 0x8480, "Monosynth", "Calf Monosynth", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
++CALF_PLUGIN_INFO(monosynth) = { 0x8480, "Monosynth", "Calf Monosynth", "Calf Studio Gear", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
+
+ CALF_PORT_PROPS(monosynth) = {
+ { monosynth_metadata::wave_saw, 0, monosynth_metadata::wave_count - 1, 1, PF_ENUM | PF_CTL_COMBO | PF_PROP_GRAPH, monosynth_waveform_names, "o1_wave", "Osc1 Wave" },
+@@ -1601,7 +1601,7 @@
+
+ ////////////////////////////////////////////////////////////////////////////
+
+-CALF_PLUGIN_INFO(organ) = { 0x8481, "Organ", "Calf Organ", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
++CALF_PLUGIN_INFO(organ) = { 0x8481, "Organ", "Calf Organ", "Calf Studio Gear", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
+
+ plugin_command_info *organ_metadata::get_commands()
+ {
+@@ -1807,7 +1807,7 @@
+ "Out L", "Out R",
+ };
+
+-CALF_PLUGIN_INFO(fluidsynth) = { 0x8700, "Fluidsynth", "Calf Fluidsynth", "Calf Studio Gear / FluidSynth Team / Krzysztof Foltman", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
++CALF_PLUGIN_INFO(fluidsynth) = { 0x8700, "Fluidsynth", "Calf Fluidsynth", "Calf Studio Gear", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
+
+ CALF_PORT_PROPS(fluidsynth) = {
+ { 0.5, 0, 1, 100, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_PROP_OUTPUT_GAIN, NULL, "master", "Volume" },
+@@ -1890,7 +1890,7 @@
+ "Out L", "Out R",
+ };
+
+-CALF_PLUGIN_INFO(wavetable) = { 0x8701, "Wavetable", "Calf Wavetable", "Calf Studio Gear / Krzysztof Foltman", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
++CALF_PLUGIN_INFO(wavetable) = { 0x8701, "Wavetable", "Calf Wavetable", "Calf Studio Gear", calf_plugins::calf_copyright_info, "InstrumentPlugin" };
+
+ CALF_PORT_PROPS(wavetable) = {
+ { wavetable_metadata::wt_count - 1, 0, wavetable_metadata::wt_count - 1, 0, PF_ENUM | PF_SCALE_LINEAR | PF_CTL_COMBO, wavetable_names, "o1wave", "Osc1 Wave" },
diff --git a/debian/patches/020161212~b2cdb2f.patch b/debian/patches/020161212~b2cdb2f.patch
new file mode 100644
index 0000000..b34b918
--- /dev/null
+++ b/debian/patches/020161212~b2cdb2f.patch
@@ -0,0 +1,18 @@
+Description: fix a manpage
+ As suggested by Lintian:
+ https://lintian.debian.org/tags/manpage-has-bad-whatis-entry.html
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/b2cdb2f
+Author: Olivier Humbert <trebmuh at users.noreply.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/calf.7
++++ b/calf.7
+@@ -1,6 +1,6 @@
+ .TH CALF 7 2015-03-03
+ .SH NAME
+-Calf Studio Gear \- audio plugin library
++Calf_Studio_Gear \- audio plugin library
+ .SH SYNOPSIS
+ calfjackhost
+ plugin
diff --git a/debian/patches/020170113~3ce5497.patch b/debian/patches/020170113~3ce5497.patch
new file mode 100644
index 0000000..e0db2c3
--- /dev/null
+++ b/debian/patches/020170113~3ce5497.patch
@@ -0,0 +1,32 @@
+Description: fix explicitly instantiate in namespace calf_plugins
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/3ce5497
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/modules_filter.cpp
++++ b/src/modules_filter.cpp
+@@ -492,9 +492,11 @@
+ return ret;
+ }
+
++namespace calf_plugins {
+ template class equalizerNband_audio_module<equalizer5band_metadata, false>;
+ template class equalizerNband_audio_module<equalizer8band_metadata, true>;
+ template class equalizerNband_audio_module<equalizer12band_metadata, true>;
++}
+
+ /**********************************************************************
+ * EQUALIZER 30 BAND
+@@ -1042,9 +1044,11 @@
+ return crossover.get_layers(index, generation, layers);
+ }
+
++namespace calf_plugins {
+ template class xover_audio_module<xover2_metadata>;
+ template class xover_audio_module<xover3_metadata>;
+ template class xover_audio_module<xover4_metadata>;
++}
+
+
+ /**********************************************************************
diff --git a/debian/patches/020170113~7febcb6.patch b/debian/patches/020170113~7febcb6.patch
new file mode 100644
index 0000000..77ae01d
--- /dev/null
+++ b/debian/patches/020170113~7febcb6.patch
@@ -0,0 +1,16 @@
+Description: fix memory error
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/7febcb6
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/audio_fx.cpp
++++ b/src/audio_fx.cpp
+@@ -1326,7 +1326,6 @@
+ }
+ resampleN::~resampleN()
+ {
+- free(tmp);
+ }
+ void resampleN::set_params(uint32_t sr, int fctr = 2, int fltrs = 2)
+ {
diff --git a/debian/patches/020170113~93091c4.patch b/debian/patches/020170113~93091c4.patch
new file mode 100644
index 0000000..3133db6
--- /dev/null
+++ b/debian/patches/020170113~93091c4.patch
@@ -0,0 +1,16 @@
+Description: fix FFT buffer leak
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/93091c4
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/analyzer.cpp
++++ b/src/analyzer.cpp
+@@ -90,6 +90,7 @@
+ free(fft_outL);
+ free(fft_inR);
+ free(fft_inL);
++ free(fft_buffer);
+ free(spline_buffer);
+ }
+ void analyzer::set_sample_rate(uint32_t sr) {
diff --git a/debian/patches/020170113~9c055ff.patch b/debian/patches/020170113~9c055ff.patch
new file mode 100644
index 0000000..010a829
--- /dev/null
+++ b/debian/patches/020170113~9c055ff.patch
@@ -0,0 +1,17 @@
+Description: fix c++11 type narrowing in initializer
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/9c055ff
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/metadata.cpp
++++ b/src/metadata.cpp
+@@ -1413,7 +1413,7 @@
+ { 300.f, 1.f, 5000.f, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "release_time", "Release Time" },
+ { 0.f, -1.f, 1.f, 0, PF_FLOAT | PF_SCALE_PERC | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_GRAPH, NULL, "release_boost", "Release Boost" },
+ { 2000.f, 50.f, 5000.f, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "display", "Display" },
+- { pow(2.0,-12.0), pow(2.0,-12.0),1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_GRAPH, NULL, "display_threshold", "Threshold" },
++ { pow(2.0f,-12.0f), pow(2.0f,-12.0f),1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_GRAPH, NULL, "display_threshold", "Threshold" },
+ { 0, 0, 100, 0, PF_INT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_SAMPLES, NULL, "lookahead", "Lookahead" },
+ { 0, 0, 3, 0, PF_ENUM | PF_CTL_COMBO, transientdesigner_view_names, "view", "View Mode" },
+ { 100, 20,20000, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_HZ | PF_PROP_GRAPH, NULL, "hipass", "Highpass" },
diff --git a/debian/patches/020170113~a1d4da8.patch b/debian/patches/020170113~a1d4da8.patch
new file mode 100644
index 0000000..0d79d83
--- /dev/null
+++ b/debian/patches/020170113~a1d4da8.patch
@@ -0,0 +1,16 @@
+Description: fix cleanup of LV2 wrapped module which is never freed
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/a1d4da8
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/calf/lv2wrap.h
++++ b/src/calf/lv2wrap.h
+@@ -295,6 +295,7 @@
+ static void cb_cleanup(LV2_Handle Instance)
+ {
+ instance *const mod = (instance *)Instance;
++ delete mod->module;
+ delete mod;
+ }
+
diff --git a/debian/patches/020170113~e635e95.patch b/debian/patches/020170113~e635e95.patch
new file mode 100644
index 0000000..82e415d
--- /dev/null
+++ b/debian/patches/020170113~e635e95.patch
@@ -0,0 +1,19 @@
+Description: fix memory leak in waveform generation
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/e635e95
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/calf/osc.h
++++ b/src/calf/osc.h
+@@ -206,7 +206,9 @@
+ float *wf = new float[SIZE+1];
+ bl.make_waveform(wf, cutoff, foldover);
+ wf[SIZE] = wf[0];
+- (*this)[base * (top / cutoff)] = wf;
++ float **storage = &(*this)[base * (top / cutoff)];
++ delete[] *storage;
++ *storage = wf;
+ cutoff = (int)(0.75 * cutoff);
+ }
+ }
diff --git a/debian/patches/020170113~ec8afdd.patch b/debian/patches/020170113~ec8afdd.patch
new file mode 100644
index 0000000..8f24f79
--- /dev/null
+++ b/debian/patches/020170113~ec8afdd.patch
@@ -0,0 +1,74 @@
+Description: fix free() of uninitialized pointers
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/ec8afdd
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/audio_fx.cpp
++++ b/src/audio_fx.cpp
+@@ -587,6 +587,9 @@
+ asc_pos = -1;
+ asc_changed = false;
+ asc_coeff = 1.f;
++ buffer = NULL;
++ nextpos = NULL;
++ nextdelta = NULL;
+ }
+ lookahead_limiter::~lookahead_limiter()
+ {
+--- a/src/modules_comp.cpp
++++ b/src/modules_comp.cpp
+@@ -2492,6 +2492,7 @@
+ transients.set_channels(channels);
+ hp_f_old = hp_m_old = lp_f_old = lp_m_old = 0;
+ redraw = false;
++ pbuffer = NULL;
+ }
+ transientdesigner_audio_module::~transientdesigner_audio_module()
+ {
+--- a/src/modules_filter.cpp
++++ b/src/modules_filter.cpp
+@@ -914,6 +914,7 @@
+ is_active = false;
+ srate = 0;
+ redraw_graph = true;
++ buffer = NULL;
+ crossover.init(AM::channels, AM::bands, 44100);
+ }
+ template<class XoverBaseClass>
+--- a/src/modules_limit.cpp
++++ b/src/modules_limit.cpp
+@@ -193,6 +193,7 @@
+ _sanitize = false;
+ is_active = false;
+ cnt = 0;
++ buffer = NULL;
+
+ for(int i = 0; i < strips; i ++) {
+ weight_old[i] = -1.f;
+@@ -585,6 +586,7 @@
+ _sanitize = false;
+ is_active = false;
+ cnt = 0;
++ buffer = NULL;
+
+ for(int i = 0; i < strips; i ++) {
+ weight_old[i] = -1.f;
+--- a/src/modules_tools.cpp
++++ b/src/modules_tools.cpp
+@@ -41,6 +41,7 @@
+ stereo_audio_module::stereo_audio_module() {
+ active = false;
+ _phase = -1;
++ buffer = NULL;
+ }
+ stereo_audio_module::~stereo_audio_module() {
+ free(buffer);
+@@ -279,6 +280,7 @@
+ meter_outR = 0.f;
+ _phase = -1.f;
+ _sc_level = 0.f;
++ buffer = NULL;
+ }
+ mono_audio_module::~mono_audio_module() {
+ free(buffer);
diff --git a/debian/patches/020170113~fe63fa9.patch b/debian/patches/020170113~fe63fa9.patch
new file mode 100644
index 0000000..cbe4783
--- /dev/null
+++ b/debian/patches/020170113~fe63fa9.patch
@@ -0,0 +1,43 @@
+Description: fix warnings about mismatched class/struct tags
+Origin: upstream, https://github.com/calf-studio-gear/calf/commit/fe63fa9
+Author: JP Cimalando <jpcima at noreply.users.github.com>
+Forwarded: yes
+Last-Update: 2017-07-30
+
+--- a/src/calf/connector.h
++++ b/src/calf/connector.h
+@@ -28,7 +28,7 @@
+
+ namespace calf_plugins {
+
+-class plugin_strip;
++struct plugin_strip;
+ class calf_connector;
+
+ struct connector_port
+--- a/src/calf/gui.h
++++ b/src/calf/gui.h
+@@ -199,8 +199,8 @@
+ static void xml_element_end(void *data, const char *element);
+ };
+
+-class main_window_iface;
+-class main_window_owner_iface;
++struct main_window_iface;
++struct main_window_owner_iface;
+
+ /// A class used to inform the plugin GUIs about the environment they run in
+ /// (currently: what plugin features are accessible)
+--- a/src/calf/preset.h
++++ b/src/calf/preset.h
+@@ -27,8 +27,8 @@
+
+ namespace calf_plugins {
+
+-class plugin_ctl_iface;
+-
++struct plugin_ctl_iface;
++
+ /// Contents of single preset
+ struct plugin_preset
+ {
diff --git a/debian/patches/series b/debian/patches/series
index faf326c..63b5cd0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,23 @@
+020150508~f57ab5f.patch
+020150624~d72df1d.patch
+020150629~52ecdb4.patch
+020150712~c115927.patch
+020151018~851af01.patch
+020151209~b73bce3.patch
+020160122~a4bb4b6.patch
020160503~413bd43.patch
020160718~784c842.patch
+020161201~6eb51ad.patch
020161210~f392c59.patch
+020161212~b2cdb2f.patch
+020170113~3ce5497.patch
+020170113~7febcb6.patch
+020170113~93091c4.patch
+020170113~9c055ff.patch
+020170113~a1d4da8.patch
+020170113~e635e95.patch
+020170113~ec8afdd.patch
+020170113~fe63fa9.patch
1001_use_autoconf_dirnames.patch
1002-lv2core_to_lv2.patch
2001_use_colorbox.patch
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list