[SCM] calf/master: Unbreak Monosynth by changing listview to use a 'key' attribute instead of 'param'.

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:40:27 UTC 2013


The following commit has been merged in the master branch:
commit ab96b105e50d4de1ea423941dbc12208a997a78e
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Wed Oct 20 23:40:23 2010 +0100

    Unbreak Monosynth by changing listview to use a 'key' attribute instead of 'param'.
    
    The table-edit-iface names are keys of configure variables, not real
    parameters (control ports), so using the 'param' is basically incorrect.

diff --git a/gui/gui-monosynth.xml b/gui/gui-monosynth.xml
index c8aa3d1..b5e5377 100644
--- a/gui/gui-monosynth.xml
+++ b/gui/gui-monosynth.xml
@@ -326,7 +326,7 @@
     </vbox>
     <if cond="jackhost">
       <vbox page="Modulation Matrix">
-        <listview param="scale_detune" />
+        <listview key="mod_matrix" />
       </vbox>
     </if>
   </notebook>
diff --git a/src/calf/modules_synths.h b/src/calf/modules_synths.h
index ee4ae42..f847a2c 100644
--- a/src/calf/modules_synths.h
+++ b/src/calf/modules_synths.h
@@ -178,6 +178,8 @@ public:
     void apply_fadeout();
     /// Main processing function
     uint32_t process(uint32_t offset, uint32_t nsamples, uint32_t inputs_mask, uint32_t outputs_mask);
+    /// Lookup of table edit interface
+    virtual table_edit_iface *get_table_edit_iface(const char *key) { if (!strcmp(key, "mod_matrix")) return static_cast<mod_matrix *>(this); else return NULL; }
 };
 
 };
diff --git a/src/gui_controls.cpp b/src/gui_controls.cpp
index 627d451..48bac24 100644
--- a/src/gui_controls.cpp
+++ b/src/gui_controls.cpp
@@ -938,7 +938,10 @@ GtkWidget *listview_param_control::create(plugin_gui *_gui, int _param_no)
     gui = _gui;
     param_no = _param_no;
     
-    teif = gui->plugin->get_table_edit_iface(param_variable.c_str());
+    string key = attribs["key"];
+    teif = gui->plugin->get_table_edit_iface(key.c_str());
+    if (!teif)
+        g_error("Missing table_edit_iface for variable '%s'", key.c_str());
     const table_column_info *tci = teif->get_table_columns();
     assert(tci);
     cols = 0;

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list