Chris@62: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@62: Chris@62: /* Chris@62: Sonic Visualiser Chris@62: An audio file viewer and annotation editor. Chris@62: Centre for Digital Music, Queen Mary, University of London. Chris@62: This file copyright 2006 Chris Cannam. Chris@62: Chris@62: This program is free software; you can redistribute it and/or Chris@62: modify it under the terms of the GNU General Public License as Chris@62: published by the Free Software Foundation; either version 2 of the Chris@62: License, or (at your option) any later version. See the file Chris@62: COPYING included with this distribution for more information. Chris@62: */ Chris@62: Chris@62: #ifndef _PLUGIN_PARAMETER_DIALOG_H_ Chris@62: #define _PLUGIN_PARAMETER_DIALOG_H_ Chris@62: Chris@62: #include Chris@62: Chris@71: namespace Vamp { class PluginBase; } Chris@62: class PluginParameterBox; Chris@143: class QWidget; Chris@143: class QPushButton; Chris@62: Chris@62: /** Chris@62: * A dialog for editing the parameters of a given plugin, using a Chris@62: * PluginParameterBox. This dialog does not contain any mechanism for Chris@62: * selecting the plugin in the first place. Note that the dialog Chris@62: * directly modifies the parameters of the plugin, so they will remain Chris@62: * modified even if the dialog is then cancelled. Chris@62: */ Chris@62: Chris@62: class PluginParameterDialog : public QDialog Chris@62: { Chris@62: Q_OBJECT Chris@62: Chris@62: public: Chris@71: PluginParameterDialog(Vamp::PluginBase *, Chris@69: int sourceChannels, Chris@69: int targetChannels, Chris@69: int defaultChannel, Chris@106: QString output = "", Chris@140: bool showWindowSize = false, Chris@140: bool showFrequencyDomainOptions = false, Chris@69: QWidget *parent = 0); Chris@62: ~PluginParameterDialog(); Chris@62: Chris@71: Vamp::PluginBase *getPlugin() { return m_plugin; } Chris@62: Chris@69: int getChannel() const { return m_channel; } Chris@69: Chris@64: signals: Chris@64: void pluginConfigurationChanged(QString); Chris@64: Chris@69: protected slots: Chris@69: void channelComboChanged(int); Chris@143: void advancedToggled(); Chris@69: Chris@62: protected: Chris@71: Vamp::PluginBase *m_plugin; Chris@69: int m_channel; Chris@62: PluginParameterBox *m_parameterBox; Chris@143: QPushButton *m_advancedButton; Chris@143: QWidget *m_advanced; Chris@62: }; Chris@62: Chris@62: #endif Chris@62: