diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-12-06 18:20:45 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-12-06 18:20:45 +0000 |
| commit | 648d09c5cea5ad4c2e31d51ff804ec32b23ac458 (patch) | |
| tree | 4f6f236373690c7ad65720fbdf1bd8498ac99c81 /src/plugins/Effect/ladspa/ladspaplugin.cpp | |
| parent | 6c37e46ff15eab4ccd47b6162a3d350aa35b7b39 (diff) | |
| download | qmmp-648d09c5cea5ad4c2e31d51ff804ec32b23ac458.tar.gz qmmp-648d09c5cea5ad4c2e31d51ff804ec32b23ac458.tar.bz2 qmmp-648d09c5cea5ad4c2e31d51ff804ec32b23ac458.zip | |
changed effect api
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1425 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Effect/ladspa/ladspaplugin.cpp')
| -rw-r--r-- | src/plugins/Effect/ladspa/ladspaplugin.cpp | 57 |
1 files changed, 19 insertions, 38 deletions
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 <QByteArray> #include <QDir> #include <QFileInfo> -#include <QFormLayout> -#include <QWidget> #include <math.h> #include <stdlib.h> #include <dlfcn.h> #include <qmmp/qmmp.h> -#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); - }*/ } |
