annotate widgets/PluginParameterDialog.h @ 143:bcb6d71be63c

* Put channel and windowing parameters on an "advanced" bit of the plugin parameter window
author Chris Cannam
date Fri, 15 Sep 2006 13:50:22 +0000
parents b9235b62fe31
children 4d132a06db9b
rev   line source
Chris@62 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@62 2
Chris@62 3 /*
Chris@62 4 Sonic Visualiser
Chris@62 5 An audio file viewer and annotation editor.
Chris@62 6 Centre for Digital Music, Queen Mary, University of London.
Chris@62 7 This file copyright 2006 Chris Cannam.
Chris@62 8
Chris@62 9 This program is free software; you can redistribute it and/or
Chris@62 10 modify it under the terms of the GNU General Public License as
Chris@62 11 published by the Free Software Foundation; either version 2 of the
Chris@62 12 License, or (at your option) any later version. See the file
Chris@62 13 COPYING included with this distribution for more information.
Chris@62 14 */
Chris@62 15
Chris@62 16 #ifndef _PLUGIN_PARAMETER_DIALOG_H_
Chris@62 17 #define _PLUGIN_PARAMETER_DIALOG_H_
Chris@62 18
Chris@62 19 #include <QDialog>
Chris@62 20
Chris@71 21 namespace Vamp { class PluginBase; }
Chris@62 22 class PluginParameterBox;
Chris@143 23 class QWidget;
Chris@143 24 class QPushButton;
Chris@62 25
Chris@62 26 /**
Chris@62 27 * A dialog for editing the parameters of a given plugin, using a
Chris@62 28 * PluginParameterBox. This dialog does not contain any mechanism for
Chris@62 29 * selecting the plugin in the first place. Note that the dialog
Chris@62 30 * directly modifies the parameters of the plugin, so they will remain
Chris@62 31 * modified even if the dialog is then cancelled.
Chris@62 32 */
Chris@62 33
Chris@62 34 class PluginParameterDialog : public QDialog
Chris@62 35 {
Chris@62 36 Q_OBJECT
Chris@62 37
Chris@62 38 public:
Chris@71 39 PluginParameterDialog(Vamp::PluginBase *,
Chris@69 40 int sourceChannels,
Chris@69 41 int targetChannels,
Chris@69 42 int defaultChannel,
Chris@106 43 QString output = "",
Chris@140 44 bool showWindowSize = false,
Chris@140 45 bool showFrequencyDomainOptions = false,
Chris@69 46 QWidget *parent = 0);
Chris@62 47 ~PluginParameterDialog();
Chris@62 48
Chris@71 49 Vamp::PluginBase *getPlugin() { return m_plugin; }
Chris@62 50
Chris@69 51 int getChannel() const { return m_channel; }
Chris@69 52
Chris@64 53 signals:
Chris@64 54 void pluginConfigurationChanged(QString);
Chris@64 55
Chris@69 56 protected slots:
Chris@69 57 void channelComboChanged(int);
Chris@143 58 void advancedToggled();
Chris@69 59
Chris@62 60 protected:
Chris@71 61 Vamp::PluginBase *m_plugin;
Chris@69 62 int m_channel;
Chris@62 63 PluginParameterBox *m_parameterBox;
Chris@143 64 QPushButton *m_advancedButton;
Chris@143 65 QWidget *m_advanced;
Chris@62 66 };
Chris@62 67
Chris@62 68 #endif
Chris@62 69