Chris@60: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@60: Chris@60: /* Chris@60: Sonic Visualiser Chris@60: An audio file viewer and annotation editor. Chris@60: Centre for Digital Music, Queen Mary, University of London. Chris@182: This file copyright 2006 Chris Cannam and QMUL. Chris@60: Chris@60: This program is free software; you can redistribute it and/or Chris@60: modify it under the terms of the GNU General Public License as Chris@60: published by the Free Software Foundation; either version 2 of the Chris@60: License, or (at your option) any later version. See the file Chris@60: COPYING included with this distribution for more information. Chris@60: */ Chris@60: Chris@60: #ifndef _PLUGIN_PARAMETER_BOX_H_ Chris@60: #define _PLUGIN_PARAMETER_BOX_H_ Chris@60: Chris@442: #include Chris@60: Chris@60: #include Chris@60: #include Chris@60: Chris@60: class AudioDial; Chris@60: class QDoubleSpinBox; Chris@63: class QCheckBox; Chris@60: class QGridLayout; Chris@74: class QComboBox; Chris@60: Chris@60: class PluginParameterBox : public QFrame Chris@60: { Chris@60: Q_OBJECT Chris@60: Chris@60: public: Chris@71: PluginParameterBox(Vamp::PluginBase *, QWidget *parent = 0); Chris@60: ~PluginParameterBox(); Chris@60: Chris@71: Vamp::PluginBase *getPlugin() { return m_plugin; } Chris@60: Chris@64: signals: Chris@64: void pluginConfigurationChanged(QString); Chris@64: Chris@60: protected slots: Chris@60: void dialChanged(int); Chris@60: void spinBoxChanged(double); Chris@63: void checkBoxChanged(int); Chris@63: void programComboChanged(const QString &); Chris@60: Chris@60: protected: Chris@60: void populate(); Chris@293: void updateProgramCombo(); Chris@60: Chris@60: QGridLayout *m_layout; Chris@71: Vamp::PluginBase *m_plugin; Chris@60: Chris@60: struct ParamRec { Chris@60: AudioDial *dial; Chris@60: QDoubleSpinBox *spin; Chris@63: QCheckBox *check; Chris@74: QComboBox *combo; Chris@71: Vamp::PluginBase::ParameterDescriptor param; Chris@60: }; Chris@60: Chris@293: QComboBox *m_programCombo; Chris@293: Chris@60: std::map m_params; Chris@207: std::map m_nameMap; Chris@293: Vamp::PluginBase::ProgramList m_programs; Chris@60: }; Chris@60: Chris@60: #endif Chris@60: