[SCM] calf/master: + LV2: String port - avoid redundant configure calls, remove printfs
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:38:44 UTC 2013
The following commit has been merged in the master branch:
commit 92cc0a370cd965bdc543fa175dcb94ad5fb072a5
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Mon Dec 8 22:32:45 2008 +0000
+ LV2: String port - avoid redundant configure calls, remove printfs
diff --git a/src/calf/lv2wrap.h b/src/calf/lv2wrap.h
index 7b794a5..79aad9e 100644
--- a/src/calf/lv2wrap.h
+++ b/src/calf/lv2wrap.h
@@ -61,7 +61,7 @@ struct lv2_instance: public plugin_ctl_iface, public Module
set_srate = true;
srate_to_set = 44100;
get_message_context_parameters(message_params);
- printf("message params %d\n", (int)message_params.size());
+ // printf("message params %d\n", (int)message_params.size());
}
virtual parameter_properties *get_param_props(int param_no)
{
@@ -120,7 +120,8 @@ struct lv2_instance: public plugin_ctl_iface, public Module
{
int pn = message_params[i];
parameter_properties &pp = *get_param_props(pn);
- if ((pp.flags & PF_TYPEMASK) == PF_STRING) {
+ if ((pp.flags & PF_TYPEMASK) == PF_STRING
+ && (((LV2_String_Data *)Module::params[pn])->flags & LV2_STRING_DATA_CHANGED_FLAG)) {
printf("Calling configure on %s\n", pp.short_name);
configure(pp.short_name, ((LV2_String_Data *)Module::params[pn])->data);
}
@@ -312,7 +313,6 @@ struct lv2_wrapper
delete mod;
}
static const void *cb_ext_data(const char *URI) {
- fprintf(stderr, "%s\n", URI);
if (!strcmp(URI, "http://foltman.com/ns/calf-plugin-instance"))
return &calf_descriptor;
if (!strcmp(URI, LV2_CONTEXT_MESSAGE))
diff --git a/src/calf/modules_synths.h b/src/calf/modules_synths.h
index 775c58b..6b29b6a 100644
--- a/src/calf/modules_synths.h
+++ b/src/calf/modules_synths.h
@@ -248,6 +248,9 @@ public:
char *configure(const char *key, const char *value);
void send_configures(send_configure_iface *);
+ void message_run(uint32_t *output_ports) {
+ // silence a default printf (which is kind of a warning about unhandled message_run)
+ }
};
};
diff --git a/src/lv2gui.cpp b/src/lv2gui.cpp
index ef54ee7..bc98bf7 100644
--- a/src/lv2gui.cpp
+++ b/src/lv2gui.cpp
@@ -120,6 +120,8 @@ struct plugin_proxy: public plugin_ctl_iface, public plugin_metadata_proxy
virtual char *configure(const char *key, const char *value)
{
+ if (!send)
+ return NULL;
map<string, int>::iterator i = params_by_name.find(key);
if (i == params_by_name.end())
{
@@ -134,7 +136,6 @@ struct plugin_proxy: public plugin_ctl_iface, public plugin_metadata_proxy
data.flags = 0;
data.pad = 0;
- printf("write port\n");
int idx = i->second;
if (string_port_uri) {
write_function(controller, idx + get_param_port_offset(), sizeof(LV2_String_Data), string_port_uri, &data);
@@ -245,20 +246,20 @@ void gui_cleanup(LV2UI_Handle handle)
void gui_port_event(LV2UI_Handle handle, uint32_t port, uint32_t buffer_size, uint32_t format, const void *buffer)
{
plugin_gui *gui = (plugin_gui *)handle;
+ plugin_proxy *proxy = dynamic_cast<plugin_proxy *>(gui->plugin);
+ assert(proxy);
float v = *(float *)buffer;
port -= gui->plugin->get_param_port_offset();
if (port >= (uint32_t)gui->plugin->get_param_count())
return;
if ((gui->plugin->get_param_props(port)->flags & PF_TYPEMASK) == PF_STRING)
{
- printf("port event: %s\n", ((LV2_String_Data *)buffer)->data);
+ scope_assign<bool> _a_(proxy->send, false);
gui->plugin->configure(gui->plugin->get_param_props(port)->short_name, ((LV2_String_Data *)buffer)->data);
return;
}
if (fabs(gui->plugin->get_param_value(port) - v) < 0.00001)
return;
- plugin_proxy *proxy = dynamic_cast<plugin_proxy *>(gui->plugin);
- assert(proxy);
{
scope_assign<bool> _a_(proxy->send, false);
gui->set_param_value(port, v);
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list