From 648d09c5cea5ad4c2e31d51ff804ec32b23ac458 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 6 Dec 2009 18:20:45 +0000 Subject: changed effect api git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1425 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Effect/ladspa/ladspaplugin.cpp | 57 ++++++++++-------------------- 1 file changed, 19 insertions(+), 38 deletions(-) (limited to 'src/plugins/Effect/ladspa/ladspaplugin.cpp') diff --git a/src/plugins/Effect/ladspa/ladspaplugin.cpp b/src/plugins/Effect/ladspa/ladspaplugin.cpp index 99392a5d0..bef363397 100644 --- a/src/plugins/Effect/ladspa/ladspaplugin.cpp +++ b/src/plugins/Effect/ladspa/ladspaplugin.cpp @@ -22,13 +22,10 @@ #include #include #include -#include -#include #include #include #include #include -#include "ladspaslider.h" #include "ladspaplugin.h" #ifndef PATH_MAX @@ -40,7 +37,7 @@ LADSPAHost *LADSPAHost::m_instance = 0; -LADSPAHost::LADSPAHost(QObject* parent) : Effect(parent) +LADSPAHost::LADSPAHost() : Effect() { m_instance = this; findAllPlugins(); @@ -366,42 +363,34 @@ LADSPAEffect *LADSPAHost::addPlugin(LADSPAPlugin *plugin) instance->stereo = plugin->stereo; if (channels() && sampleRate()) bootPlugin(instance); - draw_plugin(instance); + initialize(instance); m_effects.append(instance); return instance; } -void LADSPAHost::draw_plugin(LADSPAEffect *instance) +void LADSPAHost::initialize(LADSPAEffect *instance) { const LADSPA_Descriptor *plugin = instance->descriptor; const LADSPA_PortRangeHint *hints = plugin->PortRangeHints; LADSPA_Data fact, min, max, step, start; int dp; - unsigned long k; - bool no_ui = TRUE; - QWidget *widget = new QWidget(); - QFormLayout *formLayout = new QFormLayout(widget); - widget->setLayout(formLayout); - - for (k = 0; k < MAX_KNOBS && k < plugin->PortCount; ++k) + for (unsigned long k = 0; k < MAX_KNOBS && k < plugin->PortCount; ++k) { if (!LADSPA_IS_PORT_CONTROL(plugin->PortDescriptors[k])) continue; - no_ui = FALSE; - //hbox = gtk_hbox_new(FALSE, 3); - //widget = gtk_label_new(plugin->PortNames[k]); - //gtk_container_add(GTK_CONTAINER(hbox), widget); + + LADSPAControl *c = new LADSPAControl; + c->name = QString(plugin->PortNames[k]); if (LADSPA_IS_HINT_TOGGLED(hints[k].HintDescriptor)) { - /*widget = gtk_toggle_button_new_with_label("Press"); - g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(toggled), &(instance->knobs[k])); - gtk_container_add(GTK_CONTAINER(hbox), widget); - gtk_container_add(GTK_CONTAINER(vbox), hbox);*/ - - - //formLayout->addRow(plugin->PortNames[k], slider); + c->type = LADSPAControl::BUTTON; + c->min = 0; + c->max = 0; + c->step = 0; + c->value = &instance->knobs[k]; + instance->controls << c; continue; } @@ -488,19 +477,11 @@ void LADSPAHost::draw_plugin(LADSPAEffect *instance) start = min * 0.5f + max * 0.5f; instance->knobs[k] = start; - LADSPASlider *slider = new LADSPASlider(min, max, step, &instance->knobs[k], this, widget); - - //slider->setEnabled(!LADSPA_IS_PORT_OUTPUT(plugin->PortDescriptors[k])); - - formLayout->addRow(plugin->PortNames[k], slider); + c->type = LADSPAControl::SLIDER; + c->min = min; + c->max = max; + c->step = step; + c->value = &instance->knobs[k]; + instance->controls << c; } - widget->setLayout(formLayout); - widget->setFixedSize(widget->sizeHint()); - instance->widget = widget; - - /*if (no_ui) - { - widget = gtk_label_new(_("This LADSPA plugin has no user controls")); - gtk_container_add(GTK_CONTAINER(vbox), widget); - }*/ } -- cgit v1.2.3-13-gbd6f