[SCM] calf/master: Move the table_edit_iface out of plugin_metadata_iface, where it should have never been in first place.

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


The following commit has been merged in the master branch:
commit 6907dc9670eae2313707b142c552a8d9e8b477b5
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Sat Sep 25 21:39:34 2010 +0100

    Move the table_edit_iface out of plugin_metadata_iface, where it should have never been in first place.

diff --git a/src/calf/giface.h b/src/calf/giface.h
index d4eb287..55e8323 100644
--- a/src/calf/giface.h
+++ b/src/calf/giface.h
@@ -315,8 +315,6 @@ struct plugin_metadata_iface
     virtual bool requires_midi() const =0;
     /// @return port offset of first control (parameter) port (= number of audio inputs + number of audio outputs in all existing plugins as for 1 Aug 2008)
     virtual int get_param_port_offset() const  = 0;
-    /// @return table_edit_iface if any
-    virtual const table_edit_iface *get_table_edit_iface() const = 0;
     /// @return NULL-terminated list of menu commands
     virtual plugin_command_info *get_commands() const { return NULL; }
     /// @return description structure for given parameter
@@ -367,6 +365,8 @@ struct plugin_ctl_iface
     virtual const plugin_metadata_iface *get_metadata_iface() const = 0;
     /// @return line_graph_iface if any
     virtual const line_graph_iface *get_line_graph_iface() const = 0;
+    /// @return table_edit_iface if any
+    virtual const table_edit_iface *get_table_edit_iface() const = 0;
     /// Do-nothing destructor to silence compiler warning
     virtual ~plugin_ctl_iface() {}
 };
@@ -447,6 +447,8 @@ struct audio_module_iface
     virtual uint32_t message_run(const void *valid_ports, void *output_ports) = 0;
     /// @return line_graph_iface if any
     virtual const line_graph_iface *get_line_graph_iface() const = 0;
+    /// @return table_edit_iface if any
+    virtual const table_edit_iface *get_table_edit_iface() const = 0;
     virtual ~audio_module_iface() {}
 };
 
@@ -546,6 +548,7 @@ public:
     }
     /// @return line_graph_iface if any
     virtual const line_graph_iface *get_line_graph_iface() const { return dynamic_cast<const line_graph_iface *>(this); }
+    virtual const table_edit_iface *get_table_edit_iface() const { return dynamic_cast<const table_edit_iface *>(this); }    
 };
 
 #if USE_EXEC_GUI || USE_DSSI
@@ -609,7 +612,6 @@ public:
     bool get_midi() const { return Metadata::support_midi; }
     bool requires_midi() const { return Metadata::require_midi; }
     bool is_rt_capable() const { return Metadata::rt_capable; }
-    const table_edit_iface *get_table_edit_iface() const { return dynamic_cast<const table_edit_iface *>(this); }    
     int get_param_port_offset()  const { return Metadata::in_count + Metadata::out_count; }
     const char *get_gui_xml() const { static const char *data_ptr = calf_plugins::load_gui_xml(get_id()); return data_ptr; }
     plugin_command_info *get_commands() const { return NULL; }
diff --git a/src/calf/jackhost.h b/src/calf/jackhost.h
index 5057fee..2831e97 100644
--- a/src/calf/jackhost.h
+++ b/src/calf/jackhost.h
@@ -128,6 +128,7 @@ public:
     virtual int send_status_updates(send_updates_iface *sui, int last_serial) { return module->send_status_updates(sui, last_serial); }
     virtual const plugin_metadata_iface *get_metadata_iface() const { return module->get_metadata_iface(); }
     virtual const line_graph_iface *get_line_graph_iface() const { return module->get_line_graph_iface(); }
+    virtual const table_edit_iface *get_table_edit_iface() const { return module->get_table_edit_iface(); }
 };
 
 extern jack_host *create_jack_host(const char *name, const std::string &instance_name, calf_plugins::progress_report_iface *priface);
diff --git a/src/calf/ladspa_wrap.h b/src/calf/ladspa_wrap.h
index d94ebce..8859b98 100644
--- a/src/calf/ladspa_wrap.h
+++ b/src/calf/ladspa_wrap.h
@@ -48,6 +48,7 @@ struct ladspa_instance: public plugin_ctl_iface
     
     ladspa_instance(audio_module_iface *_module, ladspa_plugin_metadata_set *_ladspa, int sample_rate);
     virtual const line_graph_iface *get_line_graph_iface() const { return module->get_line_graph_iface(); }
+    virtual const table_edit_iface *get_table_edit_iface() const { return module->get_table_edit_iface(); }
     virtual float get_param_value(int param_no);
     virtual void set_param_value(int param_no, float value);
     virtual bool activate_preset(int bank, int program);
diff --git a/src/calf/lv2wrap.h b/src/calf/lv2wrap.h
index 198b713..c43237f 100644
--- a/src/calf/lv2wrap.h
+++ b/src/calf/lv2wrap.h
@@ -160,6 +160,7 @@ struct lv2_instance: public plugin_ctl_iface, public progress_report_iface
     }
     virtual const plugin_metadata_iface *get_metadata_iface() const { return metadata; }
     virtual const line_graph_iface *get_line_graph_iface() const { return module->get_line_graph_iface(); }
+    virtual const table_edit_iface *get_table_edit_iface() const { return module->get_table_edit_iface(); }
     virtual int send_status_updates(send_updates_iface *sui, int last_serial) { return module->send_status_updates(sui, last_serial); }
 };
 
diff --git a/src/dssigui.cpp b/src/dssigui.cpp
index 5e59ae6..b1daf98 100644
--- a/src/dssigui.cpp
+++ b/src/dssigui.cpp
@@ -205,6 +205,7 @@ struct plugin_proxy: public plugin_ctl_iface, public line_graph_iface
         }
     }
     virtual const line_graph_iface *get_line_graph_iface() const { return this; }
+    virtual const table_edit_iface *get_table_edit_iface() const { return NULL; } // not supported in external UIs yet
     virtual bool get_graph(int index, int subindex, float *data, int points, cairo_iface *context) const;
     virtual bool get_dot(int index, int subindex, float &x, float &y, int &size, cairo_iface *context) const;
     virtual bool get_gridline(int index, int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
diff --git a/src/gui_controls.cpp b/src/gui_controls.cpp
index dede3b7..93b8d18 100644
--- a/src/gui_controls.cpp
+++ b/src/gui_controls.cpp
@@ -938,7 +938,7 @@ GtkWidget *listview_param_control::create(plugin_gui *_gui, int _param_no)
     gui = _gui;
     param_no = _param_no;
     
-    teif = gui->plugin->get_metadata_iface()->get_table_edit_iface();
+    teif = gui->plugin->get_table_edit_iface();
     const table_column_info *tci = teif->get_table_columns(param_no);
     assert(tci);
     cols = 0;
diff --git a/src/lv2gui.cpp b/src/lv2gui.cpp
index e236bce..eedcc16 100644
--- a/src/lv2gui.cpp
+++ b/src/lv2gui.cpp
@@ -92,6 +92,9 @@ struct plugin_proxy_base
     /// Obtain line graph interface if available
     const line_graph_iface *get_line_graph_iface() const;
     
+    /// Obtain line graph interface if available
+    const table_edit_iface *get_table_edit_iface() const;
+    
     /// Map an URI to an integer value using a given URI map
     uint32_t map_uri(const char *mapURI, const char *keyURI);
 
@@ -174,6 +177,13 @@ const line_graph_iface *plugin_proxy_base::get_line_graph_iface() const
     return NULL;
 }
 
+const table_edit_iface *plugin_proxy_base::get_table_edit_iface() const
+{
+    if (instance)
+        return instance->get_table_edit_iface();
+    return NULL;
+}
+
 char *plugin_proxy_base::configure(const char *key, const char *value)
 {
     if (instance)
@@ -239,6 +249,8 @@ struct lv2_plugin_proxy: public plugin_ctl_iface, public plugin_proxy_base, publ
     virtual const plugin_metadata_iface *get_metadata_iface() const { return plugin_metadata; }
     /// Override for a method in plugin_ctl_iface - trivial delegation to base class
     virtual const line_graph_iface *get_line_graph_iface() const { return plugin_proxy_base::get_line_graph_iface(); }
+    /// Override for a method in plugin_ctl_iface - trivial delegation to base class
+    virtual const table_edit_iface *get_table_edit_iface() const { return plugin_proxy_base::get_table_edit_iface(); }
 };
 
 static gboolean plugin_on_idle(void *data)

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list