[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