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/settingsdialog.cpp | 35 ++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'src/plugins/Effect/ladspa/settingsdialog.cpp') diff --git a/src/plugins/Effect/ladspa/settingsdialog.cpp b/src/plugins/Effect/ladspa/settingsdialog.cpp index 4d0c33a6f..e4d78a698 100644 --- a/src/plugins/Effect/ladspa/settingsdialog.cpp +++ b/src/plugins/Effect/ladspa/settingsdialog.cpp @@ -22,7 +22,11 @@ #include #include #include +#include +#include +#include #include +#include "ladspaslider.h" #include "ladspaplugin.h" #include "settingsdialog.h" @@ -90,13 +94,34 @@ void SettingsDialog::on_configureButton_clicked() { LADSPAHost *l = LADSPAHost::instance(); QModelIndex index = ui.runningListWidget->currentIndex (); - if(index.isValid()) + if(!index.isValid()) + return; + + LADSPAEffect *effect = l->runningPlugins().at(index.row()); + QDialog *dialog = new QDialog(this); + dialog->setWindowTitle(effect->descriptor->Name); + QFormLayout *formLayout = new QFormLayout(dialog); + + foreach(LADSPAControl *c, effect->controls) + { + switch ((int) c->type) + { + case LADSPAControl::BUTTON: + break; + case LADSPAControl::SLIDER: + LADSPASlider *slider = new LADSPASlider(c->min, c->max, c->step, c->value, l, dialog); + formLayout->addRow(c->name, slider); + } + } + if (effect->controls.isEmpty()) { - l->runningPlugins().at(index.row())->widget->setParent(this); - l->runningPlugins().at(index.row())->widget->setWindowFlags(Qt::Window); - l->runningPlugins().at(index.row())->widget->show(); - //updateRunningPlugins(); + QLabel *label = new QLabel(tr("This LADSPA plugin has no user controls"), dialog); + formLayout->addRow(label); } + dialog->setLayout(formLayout); + dialog->setFixedSize(dialog->sizeHint()); + dialog->exec(); + dialog->deleteLater(); } void SettingsDialog::accept() -- cgit v1.2.3-13-gbd6f