drumstick  2.9.0
C++ MIDI libraries using Qt objects, idioms, and style.
sonivoxsettingsdialog.h
Go to the documentation of this file.
1 /*
2  Virtual Piano test using the MIDI Sequencer C++ library
3  Copyright (C) 2006-2023, Pedro Lopez-Cabanillas <plcl@users.sf.net>
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef SonivoxSettingsDialog_H
20 #define SonivoxSettingsDialog_H
21 
22 #include <QDialog>
23 #include <QShowEvent>
24 #include <QSettings>
25 
31 namespace drumstick {
32 
33 namespace rt {
34  class MIDIOutput;
35 }
36 
37 namespace widgets {
38 
39  namespace Ui {
40  class SonivoxSettingsDialog;
41  }
42 
43  class SonivoxSettingsDialog : public QDialog
44  {
45  Q_OBJECT
46 
47  public:
48  explicit SonivoxSettingsDialog(QWidget *parent = nullptr);
49  ~SonivoxSettingsDialog();
50  void readSettings();
51  void writeSettings();
52  void chkDriverProperties(QSettings *settings);
53  void changeSoundFont(const QString& fileName);
54 
55  static const QString QSTR_PREFERENCES;
56  static const QString QSTR_BUFFERTIME;
57  static const QString QSTR_REVERBTYPE;
58  static const QString QSTR_REVERBAMT;
59  static const QString QSTR_CHORUSTYPE;
60  static const QString QSTR_CHORUSAMT;
61  static const QString QSTR_SOUNDFONT;
62  static const QString QSTR_DATADIR;
63  static const QString QSTR_DATADIR2;
64 
65  public Q_SLOTS:
66  void accept() override;
67  void showEvent(QShowEvent *event) override;
68  void restoreDefaults();
69  void showFileDialog();
70 
71  private:
72  Ui::SonivoxSettingsDialog *ui;
73  drumstick::rt::MIDIOutput *m_driver;
74  };
75 
76 }} // namespace drumstick::widgets
77 
78 #endif // SonivoxSettingsDialog_H
The QSettings class provides persistent platform-independent application settings.
MIDI OUT interface.
Definition: rtmidioutput.h:122
void DRUMSTICK_WIDGETS_EXPORT changeSoundFont(const QString driver, const QString fileName, QWidget *parent=nullptr)
Changes the sound font configuration Some RT output drivers accept soundfonts.
Drumstick common.
Definition: alsaclient.cpp:68