LMMS
Loading...
Searching...
No Matches
SetupDialog.h
Go to the documentation of this file.
1/*
2 * SetupDialog.h - dialog for setting up LMMS
3 *
4 * Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
5 *
6 * This file is part of LMMS - https://lmms.io
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program (see COPYING); if not, write to the
20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA.
22 *
23 */
24
25#ifndef LMMS_GUI_SETUP_DIALOG_H
26#define LMMS_GUI_SETUP_DIALOG_H
27
28#include <QDialog>
29#include <QMap>
30
31#include "AudioDevice.h"
33#include "MidiClient.h"
34#include "MidiSetupWidget.h"
35
36
37class QCheckBox;
38class QComboBox;
39class QLabel;
40class QLineEdit;
41class QSlider;
42
43
44namespace lmms::gui
45{
46
47
48class TabBar;
49
50class SetupDialog : public QDialog
51{
52 Q_OBJECT
53
54public:
63
65 ~SetupDialog() override;
66
67
68protected slots:
69 void accept() override;
70
71
72private slots:
73 // General settings widget.
74 void toggleTooltips(bool enabled);
75 void toggleDisplayWaveform(bool enabled);
76 void toggleNoteLabels(bool enabled);
77 void toggleShowFaderTicks(bool enabled);
78 void toggleCompactTrackButtons(bool enabled);
79 void toggleOneInstrumentTrackWindow(bool enabled);
80 void toggleSideBarOnRight(bool enabled);
81 void toggleLetPreviewsFinish(bool enabled);
82 void toggleSoloLegacyBehavior(bool enabled);
83 void toggleTrackDeletionWarning(bool enabled);
84 void toggleMixerChannelDeletionWarning(bool enabled);
85 void toggleUniversalPanClick(bool enabled);
86 void toggleMMPZ(bool enabled);
87 void toggleDisableBackup(bool enabled);
88 void toggleOpenLastProject(bool enabled);
91 void setLanguage(int lang);
92
93 // Performance settings widget.
94 void setAutoSaveInterval(int time);
95 void resetAutoSave();
96 void toggleAutoSave(bool enabled);
97 void toggleRunningAutoSave(bool enabled);
98 void toggleSmoothScroll(bool enabled);
99 void toggleAnimateAFP(bool enabled);
101 void toggleVSTAlwaysOnTop(bool en);
102 void toggleDisableAutoQuit(bool enabled);
103
104 // Audio settings widget.
105 void audioInterfaceChanged(const QString & driver);
107 void setBufferSize(int value);
108 void resetBufferSize();
109
110 // MIDI settings widget.
111 void midiInterfaceChanged(const QString & driver);
112 void toggleMidiAutoQuantization(bool enabled);
113
114 // Paths settings widget.
115 void openWorkingDir();
116 void setWorkingDir(const QString & workingDir);
117 void openVSTDir();
118 void setVSTDir(const QString & vstDir);
119 void openLADSPADir();
120 void setLADSPADir(const QString & ladspaDir);
121 void openSF2Dir();
122 void setSF2Dir(const QString & sf2Dir);
123 void openSF2File();
124 void setSF2File(const QString & sf2File);
125 void openGIGDir();
126 void setGIGDir(const QString & gigDir);
127 void openThemeDir();
128 void setThemeDir(const QString & themeDir);
130 void setBackgroundPicFile(const QString & backgroundPicFile);
131
132 void showRestartWarning();
133
134private:
136
137 // General settings widgets.
150 bool m_MMPZ;
159 QString m_lang;
160 QStringList m_languages;
161
162 // Performance settings widgets.
168 QCheckBox * m_autoSave;
169 QCheckBox * m_runningAutoSave;
178
179 using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
180 using MswMap = QMap<QString, MidiSetupWidget*>;
181 using trMap = QMap<QString, QString>;
182
183 // Audio settings widgets.
184 QComboBox * m_audioInterfaces;
194
195 // MIDI settings widgets.
196 QComboBox * m_midiInterfaces;
201
202 // Paths settings widgets.
204 QString m_vstDir;
205 QString m_ladspaDir;
206 QString m_gigDir;
207 QString m_sf2Dir;
208#ifdef LMMS_HAVE_FLUIDSYNTH
209 QString m_sf2File;
210#endif
211 QString m_themeDir;
213
215 QLineEdit * m_vstDirLineEdit;
218 QLineEdit * m_gigDirLineEdit;
219 QLineEdit * m_sf2DirLineEdit;
220#ifdef LMMS_HAVE_FLUIDSYNTH
221 QLineEdit * m_sf2FileLineEdit;
222#endif
224
226};
227
228
229} // namespace lmms::gui
230
231#endif // LMMS_GUI_SETUP_DIALOG_H
void toggleDisplayWaveform(bool enabled)
Definition SetupDialog.cpp:1086
QCheckBox * m_autoSave
Definition SetupDialog.h:168
void setSF2File(const QString &sf2File)
Definition SetupDialog.cpp:1433
QLabel * m_saveIntervalLbl
Definition SetupDialog.h:167
void loopMarkerModeChanged()
Definition SetupDialog.cpp:1168
void toggleVSTAlwaysOnTop(bool en)
Definition SetupDialog.cpp:1242
QLineEdit * m_vstDirLineEdit
Definition SetupDialog.h:215
void openSF2Dir()
Definition SetupDialog.cpp:1402
trMap m_midiIfaceNames
Definition SetupDialog.h:198
QComboBox * m_autoScrollComboBox
Definition SetupDialog.h:158
void setWorkingDir(const QString &workingDir)
Definition SetupDialog.cpp:1354
void resetBufferSize()
Definition SetupDialog.cpp:1316
void showRestartWarning()
Definition SetupDialog.cpp:1512
QString m_sf2Dir
Definition SetupDialog.h:207
QString m_lang
Definition SetupDialog.h:159
void toggleSoloLegacyBehavior(bool enabled)
Definition SetupDialog.cpp:1180
QLineEdit * m_backgroundPicFileLineEdit
Definition SetupDialog.h:223
QCheckBox * m_vstAlwaysOnTopCheckBox
Definition SetupDialog.h:175
QString m_ladspaDir
Definition SetupDialog.h:205
QLineEdit * m_sf2FileLineEdit
Definition SetupDialog.h:221
QMap< QString, QString > trMap
Definition SetupDialog.h:181
bool m_compactTrackButtons
Definition SetupDialog.h:142
void toggleSideBarOnRight(bool enabled)
Definition SetupDialog.cpp:1114
void setThemeDir(const QString &themeDir)
Definition SetupDialog.cpp:1469
void toggleMixerChannelDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1131
void updateBufferSizeWarning(int value)
Definition SetupDialog.cpp:1265
void setBufferSize(int value)
Definition SetupDialog.cpp:1287
bool m_NaNHandler
Definition SetupDialog.h:187
void toggleUniversalPanClick(bool enabled)
Definition SetupDialog.cpp:1136
QLabel * m_bufferSizeLbl
Definition SetupDialog.h:190
bool m_soloLegacyBehavior
Definition SetupDialog.h:146
bool m_tooltips
Definition SetupDialog.h:138
QComboBox * m_assignableMidiDevices
Definition SetupDialog.h:199
bool m_printNoteLabels
Definition SetupDialog.h:140
QLineEdit * m_ladspaDirLineEdit
Definition SetupDialog.h:217
void openThemeDir()
Definition SetupDialog.cpp:1458
void toggleMidiAutoQuantization(bool enabled)
Definition SetupDialog.cpp:1335
bool m_oneInstrumentTrackWindow
Definition SetupDialog.h:143
int m_sampleRate
Definition SetupDialog.h:192
void toggleTooltips(bool enabled)
Definition SetupDialog.cpp:1080
bool m_disableBackup
Definition SetupDialog.h:151
bool m_MMPZ
Definition SetupDialog.h:150
void setSF2Dir(const QString &sf2Dir)
Definition SetupDialog.cpp:1413
AswMap m_audioIfaceSetupWidgets
Definition SetupDialog.h:185
bool m_letPreviewsFinish
Definition SetupDialog.h:145
QComboBox * m_audioInterfaces
Definition SetupDialog.h:184
bool m_enableRunningAutoSave
Definition SetupDialog.h:165
QString m_backgroundPicFile
Definition SetupDialog.h:212
void toggleAutoSave(bool enabled)
Definition SetupDialog.cpp:1200
void resetAutoSave()
Definition SetupDialog.cpp:1215
bool m_trackDeletionWarning
Definition SetupDialog.h:147
bool m_vstAlwaysOnTop
Definition SetupDialog.h:176
QString m_themeDir
Definition SetupDialog.h:211
void setLanguage(int lang)
Definition SetupDialog.cpp:1174
QString m_vstEmbedMethod
Definition SetupDialog.h:174
bool m_displayWaveform
Definition SetupDialog.h:139
bool m_enableAutoSave
Definition SetupDialog.h:164
QString m_autoScroll
Definition SetupDialog.h:157
ConfigTab
Definition SetupDialog.h:56
@ MidiSettings
Definition SetupDialog.h:60
@ GeneralSettings
Definition SetupDialog.h:57
@ PathsSettings
Definition SetupDialog.h:61
@ AudioSettings
Definition SetupDialog.h:59
@ PerformanceSettings
Definition SetupDialog.h:58
QLabel * restartWarningLbl
Definition SetupDialog.h:225
QLineEdit * m_gigDirLineEdit
Definition SetupDialog.h:218
SetupDialog(ConfigTab tab_to_open=ConfigTab::GeneralSettings)
Definition SetupDialog.cpp:93
void toggleLetPreviewsFinish(bool enabled)
Definition SetupDialog.cpp:1120
void detachBehaviorChanged()
Definition SetupDialog.cpp:1162
void toggleCompactTrackButtons(bool enabled)
Definition SetupDialog.cpp:1102
QComboBox * m_midiInterfaces
Definition SetupDialog.h:196
QLineEdit * m_themeDirLineEdit
Definition SetupDialog.h:216
QSlider * m_saveIntervalSlider
Definition SetupDialog.h:166
QString m_loopMarkerMode
Definition SetupDialog.h:155
void setGIGDir(const QString &gigDir)
Definition SetupDialog.cpp:1452
QLineEdit * m_workingDirLineEdit
Definition SetupDialog.h:214
void toggleNoteLabels(bool enabled)
Definition SetupDialog.cpp:1092
void toggleRunningAutoSave(bool enabled)
Definition SetupDialog.cpp:1209
void toggleMMPZ(bool enabled)
Definition SetupDialog.cpp:1144
int m_saveInterval
Definition SetupDialog.h:163
bool m_smoothScroll
Definition SetupDialog.h:170
bool m_sideBarOnRight
Definition SetupDialog.h:144
void midiInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1324
void accept() override
Definition SetupDialog.cpp:977
bool m_universalPanClick
Definition SetupDialog.h:149
void toggleSmoothScroll(bool enabled)
Definition SetupDialog.cpp:1223
QString m_workingDir
Definition SetupDialog.h:203
void toggleDisableBackup(bool enabled)
Definition SetupDialog.cpp:1150
void openGIGDir()
Definition SetupDialog.cpp:1441
QLabel * m_bufferSizeWarnLbl
Definition SetupDialog.h:191
void toggleShowFaderTicks(bool enabled)
Definition SetupDialog.cpp:1097
QSlider * m_bufferSizeSlider
Definition SetupDialog.h:189
void setAutoSaveInterval(int time)
Definition SetupDialog.cpp:1188
void openBackgroundPicFile()
Definition SetupDialog.cpp:1475
void openVSTDir()
Definition SetupDialog.cpp:1360
int m_bufferSize
Definition SetupDialog.h:188
void toggleAnimateAFP(bool enabled)
Definition SetupDialog.cpp:1229
~SetupDialog() override
Definition SetupDialog.cpp:969
bool m_animateAFP
Definition SetupDialog.h:171
void toggleDisableAutoQuit(bool enabled)
Definition SetupDialog.cpp:1248
bool m_midiAutoQuantize
Definition SetupDialog.h:200
void audioInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1253
bool m_disableAutoQuit
Definition SetupDialog.h:177
void toggleOneInstrumentTrackWindow(bool enabled)
Definition SetupDialog.cpp:1108
QSlider * m_sampleRateSlider
Definition SetupDialog.h:193
QStringList m_languages
Definition SetupDialog.h:160
QString m_gigDir
Definition SetupDialog.h:206
QComboBox * m_vstEmbedComboBox
Definition SetupDialog.h:173
QString m_sf2File
Definition SetupDialog.h:209
bool m_openLastProject
Definition SetupDialog.h:152
void openSF2File()
Definition SetupDialog.cpp:1419
void openLADSPADir()
Definition SetupDialog.cpp:1377
QLabel * m_vstEmbedLbl
Definition SetupDialog.h:172
void toggleTrackDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1126
void setBackgroundPicFile(const QString &backgroundPicFile)
Definition SetupDialog.cpp:1504
MswMap m_midiIfaceSetupWidgets
Definition SetupDialog.h:197
QMap< QString, MidiSetupWidget * > MswMap
Definition SetupDialog.h:180
QMap< QString, AudioDeviceSetupWidget * > AswMap
Definition SetupDialog.h:179
QComboBox * m_detachBehaviorComboBox
Definition SetupDialog.h:154
QComboBox * m_loopMarkerComboBox
Definition SetupDialog.h:156
void setLADSPADir(const QString &ladspaDir)
Definition SetupDialog.cpp:1396
void setVSTDir(const QString &vstDir)
Definition SetupDialog.cpp:1371
trMap m_audioIfaceNames
Definition SetupDialog.h:186
QCheckBox * m_runningAutoSave
Definition SetupDialog.h:169
bool m_mixerChannelDeletionWarning
Definition SetupDialog.h:148
void openWorkingDir()
Definition SetupDialog.cpp:1343
void vstEmbedMethodChanged()
Definition SetupDialog.cpp:1235
TabBar * m_tabBar
Definition SetupDialog.h:135
QLineEdit * m_sf2DirLineEdit
Definition SetupDialog.h:219
QString m_vstDir
Definition SetupDialog.h:204
QString m_detachBehavior
Definition SetupDialog.h:153
bool m_showFaderTicks
Definition SetupDialog.h:141
void toggleOpenLastProject(bool enabled)
Definition SetupDialog.cpp:1156
Definition TabBar.h:43
static PuglViewHint int value
Definition pugl.h:1708
Definition AudioPortAudio.cpp:209