lmms
Cross-platform music production software
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:
55 enum class ConfigTab
56 {
57 GeneralSettings,
58 PerformanceSettings,
59 AudioSettings,
60 MidiSettings,
61 PathsSettings
62 };
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 toggleMMPZ(bool enabled);
86 void toggleDisableBackup(bool enabled);
87 void toggleOpenLastProject(bool enabled);
90 void setLanguage(int lang);
91
92 // Performance settings widget.
93 void setAutoSaveInterval(int time);
94 void resetAutoSave();
95 void toggleAutoSave(bool enabled);
96 void toggleRunningAutoSave(bool enabled);
97 void toggleSmoothScroll(bool enabled);
98 void toggleAnimateAFP(bool enabled);
100 void toggleVSTAlwaysOnTop(bool en);
101 void toggleDisableAutoQuit(bool enabled);
102 void toggleMixSanitization(bool enabled);
103
104 // Audio settings widget.
105 void audioInterfaceChanged(const QString & driver);
106 void updateBufferSizeWarning(int value);
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.
149 bool m_MMPZ;
158 QString m_lang;
159 QStringList m_languages;
160
161 // Performance settings widgets.
167 QCheckBox * m_autoSave;
168 QCheckBox * m_runningAutoSave;
177
178 using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
179 using MswMap = QMap<QString, MidiSetupWidget*>;
180 using trMap = QMap<QString, QString>;
181
182 // Audio settings widgets.
183 QComboBox * m_audioInterfaces;
193
194 // MIDI settings widgets.
195 QComboBox * m_midiInterfaces;
200
201 // Paths settings widgets.
203 QString m_vstDir;
204 QString m_ladspaDir;
205 QString m_gigDir;
206 QString m_sf2Dir;
207#ifdef LMMS_HAVE_FLUIDSYNTH
208 QString m_sf2File;
209#endif
210 QString m_themeDir;
212
214 QLineEdit * m_vstDirLineEdit;
217 QLineEdit * m_gigDirLineEdit;
218 QLineEdit * m_sf2DirLineEdit;
219#ifdef LMMS_HAVE_FLUIDSYNTH
220 QLineEdit * m_sf2FileLineEdit;
221#endif
223
225};
226
227
228} // namespace lmms::gui
229
230#endif // LMMS_GUI_SETUP_DIALOG_H
Definition SetupDialog.h:51
void toggleDisplayWaveform(bool enabled)
Definition SetupDialog.cpp:1064
QCheckBox * m_autoSave
Definition SetupDialog.h:167
void setSF2File(const QString &sf2File)
Definition SetupDialog.cpp:1410
QLabel * m_saveIntervalLbl
Definition SetupDialog.h:166
void loopMarkerModeChanged()
Definition SetupDialog.cpp:1139
void toggleVSTAlwaysOnTop(bool en)
Definition SetupDialog.cpp:1213
QLineEdit * m_vstDirLineEdit
Definition SetupDialog.h:214
void openSF2Dir()
Definition SetupDialog.cpp:1379
trMap m_midiIfaceNames
Definition SetupDialog.h:197
QComboBox * m_autoScrollComboBox
Definition SetupDialog.h:157
void setWorkingDir(const QString &workingDir)
Definition SetupDialog.cpp:1331
void resetBufferSize()
Definition SetupDialog.cpp:1293
void showRestartWarning()
Definition SetupDialog.cpp:1489
QString m_sf2Dir
Definition SetupDialog.h:206
QString m_lang
Definition SetupDialog.h:158
void toggleSoloLegacyBehavior(bool enabled)
Definition SetupDialog.cpp:1151
QLineEdit * m_backgroundPicFileLineEdit
Definition SetupDialog.h:222
QCheckBox * m_vstAlwaysOnTopCheckBox
Definition SetupDialog.h:174
QString m_ladspaDir
Definition SetupDialog.h:204
QLineEdit * m_sf2FileLineEdit
Definition SetupDialog.h:220
QMap< QString, QString > trMap
Definition SetupDialog.h:180
bool m_compactTrackButtons
Definition SetupDialog.h:142
void toggleSideBarOnRight(bool enabled)
Definition SetupDialog.cpp:1092
void toggleMixSanitization(bool enabled)
Definition SetupDialog.cpp:1224
void setThemeDir(const QString &themeDir)
Definition SetupDialog.cpp:1446
void toggleMixerChannelDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1109
void updateBufferSizeWarning(int value)
Definition SetupDialog.cpp:1242
void setBufferSize(int value)
Definition SetupDialog.cpp:1264
QLabel * m_bufferSizeLbl
Definition SetupDialog.h:188
bool m_soloLegacyBehavior
Definition SetupDialog.h:146
bool m_tooltips
Definition SetupDialog.h:138
QComboBox * m_assignableMidiDevices
Definition SetupDialog.h:198
bool m_printNoteLabels
Definition SetupDialog.h:140
QLineEdit * m_ladspaDirLineEdit
Definition SetupDialog.h:216
void openThemeDir()
Definition SetupDialog.cpp:1435
void toggleMidiAutoQuantization(bool enabled)
Definition SetupDialog.cpp:1312
bool m_oneInstrumentTrackWindow
Definition SetupDialog.h:143
int m_sampleRate
Definition SetupDialog.h:191
void toggleTooltips(bool enabled)
Definition SetupDialog.cpp:1058
bool m_disableBackup
Definition SetupDialog.h:150
bool m_MMPZ
Definition SetupDialog.h:149
void setSF2Dir(const QString &sf2Dir)
Definition SetupDialog.cpp:1390
AswMap m_audioIfaceSetupWidgets
Definition SetupDialog.h:184
bool m_letPreviewsFinish
Definition SetupDialog.h:145
QComboBox * m_audioInterfaces
Definition SetupDialog.h:183
bool m_enableRunningAutoSave
Definition SetupDialog.h:164
QString m_backgroundPicFile
Definition SetupDialog.h:211
void toggleAutoSave(bool enabled)
Definition SetupDialog.cpp:1171
void resetAutoSave()
Definition SetupDialog.cpp:1186
bool m_trackDeletionWarning
Definition SetupDialog.h:147
bool m_vstAlwaysOnTop
Definition SetupDialog.h:175
QString m_themeDir
Definition SetupDialog.h:210
void setLanguage(int lang)
Definition SetupDialog.cpp:1145
QString m_vstEmbedMethod
Definition SetupDialog.h:173
bool m_displayWaveform
Definition SetupDialog.h:139
bool m_enableAutoSave
Definition SetupDialog.h:163
QString m_autoScroll
Definition SetupDialog.h:156
ConfigTab
Definition SetupDialog.h:56
@ GeneralSettings
Definition SetupDialog.h:57
QLabel * restartWarningLbl
Definition SetupDialog.h:224
QLineEdit * m_gigDirLineEdit
Definition SetupDialog.h:217
SetupDialog(ConfigTab tab_to_open=ConfigTab::GeneralSettings)
Definition SetupDialog.cpp:90
void toggleLetPreviewsFinish(bool enabled)
Definition SetupDialog.cpp:1098
void detachBehaviorChanged()
Definition SetupDialog.cpp:1133
void toggleCompactTrackButtons(bool enabled)
Definition SetupDialog.cpp:1080
QComboBox * m_midiInterfaces
Definition SetupDialog.h:195
QLineEdit * m_themeDirLineEdit
Definition SetupDialog.h:215
QSlider * m_saveIntervalSlider
Definition SetupDialog.h:165
QString m_loopMarkerMode
Definition SetupDialog.h:154
void setGIGDir(const QString &gigDir)
Definition SetupDialog.cpp:1429
QLineEdit * m_workingDirLineEdit
Definition SetupDialog.h:213
void toggleNoteLabels(bool enabled)
Definition SetupDialog.cpp:1070
void toggleRunningAutoSave(bool enabled)
Definition SetupDialog.cpp:1180
void toggleMMPZ(bool enabled)
Definition SetupDialog.cpp:1115
int m_saveInterval
Definition SetupDialog.h:162
bool m_smoothScroll
Definition SetupDialog.h:169
bool m_sideBarOnRight
Definition SetupDialog.h:144
void midiInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1301
void accept() override
Definition SetupDialog.cpp:957
void toggleSmoothScroll(bool enabled)
Definition SetupDialog.cpp:1194
QString m_workingDir
Definition SetupDialog.h:202
void toggleDisableBackup(bool enabled)
Definition SetupDialog.cpp:1121
void openGIGDir()
Definition SetupDialog.cpp:1418
QLabel * m_bufferSizeWarnLbl
Definition SetupDialog.h:189
void toggleShowFaderTicks(bool enabled)
Definition SetupDialog.cpp:1075
QSlider * m_bufferSizeSlider
Definition SetupDialog.h:187
void setAutoSaveInterval(int time)
Definition SetupDialog.cpp:1159
void openBackgroundPicFile()
Definition SetupDialog.cpp:1452
void openVSTDir()
Definition SetupDialog.cpp:1337
int m_bufferSize
Definition SetupDialog.h:186
void toggleAnimateAFP(bool enabled)
Definition SetupDialog.cpp:1200
bool m_animateAFP
Definition SetupDialog.h:170
void toggleDisableAutoQuit(bool enabled)
Definition SetupDialog.cpp:1219
bool m_midiAutoQuantize
Definition SetupDialog.h:199
void audioInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1230
bool m_disableAutoQuit
Definition SetupDialog.h:176
void toggleOneInstrumentTrackWindow(bool enabled)
Definition SetupDialog.cpp:1086
QSlider * m_sampleRateSlider
Definition SetupDialog.h:192
QStringList m_languages
Definition SetupDialog.h:159
QString m_gigDir
Definition SetupDialog.h:205
QComboBox * m_vstEmbedComboBox
Definition SetupDialog.h:172
QString m_sf2File
Definition SetupDialog.h:208
bool m_openLastProject
Definition SetupDialog.h:151
bool m_mixSanitization
Definition SetupDialog.h:190
void openSF2File()
Definition SetupDialog.cpp:1396
void openLADSPADir()
Definition SetupDialog.cpp:1354
QLabel * m_vstEmbedLbl
Definition SetupDialog.h:171
void toggleTrackDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1104
void setBackgroundPicFile(const QString &backgroundPicFile)
Definition SetupDialog.cpp:1481
MswMap m_midiIfaceSetupWidgets
Definition SetupDialog.h:196
QMap< QString, MidiSetupWidget * > MswMap
Definition SetupDialog.h:179
QMap< QString, AudioDeviceSetupWidget * > AswMap
Definition SetupDialog.h:178
QComboBox * m_detachBehaviorComboBox
Definition SetupDialog.h:153
QComboBox * m_loopMarkerComboBox
Definition SetupDialog.h:155
void setLADSPADir(const QString &ladspaDir)
Definition SetupDialog.cpp:1373
void setVSTDir(const QString &vstDir)
Definition SetupDialog.cpp:1348
trMap m_audioIfaceNames
Definition SetupDialog.h:185
QCheckBox * m_runningAutoSave
Definition SetupDialog.h:168
bool m_mixerChannelDeletionWarning
Definition SetupDialog.h:148
void openWorkingDir()
Definition SetupDialog.cpp:1320
void vstEmbedMethodChanged()
Definition SetupDialog.cpp:1206
TabBar * m_tabBar
Definition SetupDialog.h:135
QLineEdit * m_sf2DirLineEdit
Definition SetupDialog.h:218
QString m_vstDir
Definition SetupDialog.h:203
QString m_detachBehavior
Definition SetupDialog.h:152
bool m_showFaderTicks
Definition SetupDialog.h:141
void toggleOpenLastProject(bool enabled)
Definition SetupDialog.cpp:1127
Definition TabBar.h:43
Definition AudioPortAudio.cpp:209