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 void toggleMixSanitization(bool enabled);
104
105 // Audio settings widget.
106 void audioInterfaceChanged(const QString & driver);
108 void setBufferSize(int value);
109 void resetBufferSize();
110
111 // MIDI settings widget.
112 void midiInterfaceChanged(const QString & driver);
113 void toggleMidiAutoQuantization(bool enabled);
114
115 // Paths settings widget.
116 void openWorkingDir();
117 void setWorkingDir(const QString & workingDir);
118 void openVSTDir();
119 void setVSTDir(const QString & vstDir);
120 void openLADSPADir();
121 void setLADSPADir(const QString & ladspaDir);
122 void openSF2Dir();
123 void setSF2Dir(const QString & sf2Dir);
124 void openSF2File();
125 void setSF2File(const QString & sf2File);
126 void openGIGDir();
127 void setGIGDir(const QString & gigDir);
128 void openThemeDir();
129 void setThemeDir(const QString & themeDir);
131 void setBackgroundPicFile(const QString & backgroundPicFile);
132
133 void showRestartWarning();
134
135private:
137
138 // General settings widgets.
151 bool m_MMPZ;
160 QString m_lang;
161 QStringList m_languages;
162
163 // Performance settings widgets.
169 QCheckBox * m_autoSave;
170 QCheckBox * m_runningAutoSave;
179
180 using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
181 using MswMap = QMap<QString, MidiSetupWidget*>;
182 using trMap = QMap<QString, QString>;
183
184 // Audio settings widgets.
185 QComboBox * m_audioInterfaces;
195
196 // MIDI settings widgets.
197 QComboBox * m_midiInterfaces;
202
203 // Paths settings widgets.
205 QString m_vstDir;
206 QString m_ladspaDir;
207 QString m_gigDir;
208 QString m_sf2Dir;
209#ifdef LMMS_HAVE_FLUIDSYNTH
210 QString m_sf2File;
211#endif
212 QString m_themeDir;
214
216 QLineEdit * m_vstDirLineEdit;
219 QLineEdit * m_gigDirLineEdit;
220 QLineEdit * m_sf2DirLineEdit;
221#ifdef LMMS_HAVE_FLUIDSYNTH
222 QLineEdit * m_sf2FileLineEdit;
223#endif
225
227};
228
229
230} // namespace lmms::gui
231
232#endif // LMMS_GUI_SETUP_DIALOG_H
void toggleDisplayWaveform(bool enabled)
Definition SetupDialog.cpp:1088
QCheckBox * m_autoSave
Definition SetupDialog.h:169
void setSF2File(const QString &sf2File)
Definition SetupDialog.cpp:1441
QLabel * m_saveIntervalLbl
Definition SetupDialog.h:168
void loopMarkerModeChanged()
Definition SetupDialog.cpp:1170
void toggleVSTAlwaysOnTop(bool en)
Definition SetupDialog.cpp:1244
QLineEdit * m_vstDirLineEdit
Definition SetupDialog.h:216
void openSF2Dir()
Definition SetupDialog.cpp:1410
trMap m_midiIfaceNames
Definition SetupDialog.h:199
QComboBox * m_autoScrollComboBox
Definition SetupDialog.h:159
void setWorkingDir(const QString &workingDir)
Definition SetupDialog.cpp:1362
void resetBufferSize()
Definition SetupDialog.cpp:1324
void showRestartWarning()
Definition SetupDialog.cpp:1520
QString m_sf2Dir
Definition SetupDialog.h:208
QString m_lang
Definition SetupDialog.h:160
void toggleSoloLegacyBehavior(bool enabled)
Definition SetupDialog.cpp:1182
QLineEdit * m_backgroundPicFileLineEdit
Definition SetupDialog.h:224
QCheckBox * m_vstAlwaysOnTopCheckBox
Definition SetupDialog.h:176
QString m_ladspaDir
Definition SetupDialog.h:206
QLineEdit * m_sf2FileLineEdit
Definition SetupDialog.h:222
QMap< QString, QString > trMap
Definition SetupDialog.h:182
bool m_compactTrackButtons
Definition SetupDialog.h:143
void toggleSideBarOnRight(bool enabled)
Definition SetupDialog.cpp:1116
void toggleMixSanitization(bool enabled)
Definition SetupDialog.cpp:1255
void setThemeDir(const QString &themeDir)
Definition SetupDialog.cpp:1477
void toggleMixerChannelDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1133
void updateBufferSizeWarning(int value)
Definition SetupDialog.cpp:1273
void setBufferSize(int value)
Definition SetupDialog.cpp:1295
void toggleUniversalPanClick(bool enabled)
Definition SetupDialog.cpp:1138
QLabel * m_bufferSizeLbl
Definition SetupDialog.h:190
bool m_soloLegacyBehavior
Definition SetupDialog.h:147
bool m_tooltips
Definition SetupDialog.h:139
QComboBox * m_assignableMidiDevices
Definition SetupDialog.h:200
bool m_printNoteLabels
Definition SetupDialog.h:141
QLineEdit * m_ladspaDirLineEdit
Definition SetupDialog.h:218
void openThemeDir()
Definition SetupDialog.cpp:1466
void toggleMidiAutoQuantization(bool enabled)
Definition SetupDialog.cpp:1343
bool m_oneInstrumentTrackWindow
Definition SetupDialog.h:144
int m_sampleRate
Definition SetupDialog.h:193
void toggleTooltips(bool enabled)
Definition SetupDialog.cpp:1082
bool m_disableBackup
Definition SetupDialog.h:152
bool m_MMPZ
Definition SetupDialog.h:151
void setSF2Dir(const QString &sf2Dir)
Definition SetupDialog.cpp:1421
AswMap m_audioIfaceSetupWidgets
Definition SetupDialog.h:186
bool m_letPreviewsFinish
Definition SetupDialog.h:146
QComboBox * m_audioInterfaces
Definition SetupDialog.h:185
bool m_enableRunningAutoSave
Definition SetupDialog.h:166
QString m_backgroundPicFile
Definition SetupDialog.h:213
void toggleAutoSave(bool enabled)
Definition SetupDialog.cpp:1202
void resetAutoSave()
Definition SetupDialog.cpp:1217
bool m_trackDeletionWarning
Definition SetupDialog.h:148
bool m_vstAlwaysOnTop
Definition SetupDialog.h:177
QString m_themeDir
Definition SetupDialog.h:212
void setLanguage(int lang)
Definition SetupDialog.cpp:1176
QString m_vstEmbedMethod
Definition SetupDialog.h:175
bool m_displayWaveform
Definition SetupDialog.h:140
bool m_enableAutoSave
Definition SetupDialog.h:165
QString m_autoScroll
Definition SetupDialog.h:158
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:226
QLineEdit * m_gigDirLineEdit
Definition SetupDialog.h:219
SetupDialog(ConfigTab tab_to_open=ConfigTab::GeneralSettings)
Definition SetupDialog.cpp:93
void toggleLetPreviewsFinish(bool enabled)
Definition SetupDialog.cpp:1122
void detachBehaviorChanged()
Definition SetupDialog.cpp:1164
void toggleCompactTrackButtons(bool enabled)
Definition SetupDialog.cpp:1104
QComboBox * m_midiInterfaces
Definition SetupDialog.h:197
QLineEdit * m_themeDirLineEdit
Definition SetupDialog.h:217
QSlider * m_saveIntervalSlider
Definition SetupDialog.h:167
QString m_loopMarkerMode
Definition SetupDialog.h:156
void setGIGDir(const QString &gigDir)
Definition SetupDialog.cpp:1460
QLineEdit * m_workingDirLineEdit
Definition SetupDialog.h:215
void toggleNoteLabels(bool enabled)
Definition SetupDialog.cpp:1094
void toggleRunningAutoSave(bool enabled)
Definition SetupDialog.cpp:1211
void toggleMMPZ(bool enabled)
Definition SetupDialog.cpp:1146
int m_saveInterval
Definition SetupDialog.h:164
bool m_smoothScroll
Definition SetupDialog.h:171
bool m_sideBarOnRight
Definition SetupDialog.h:145
void midiInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1332
void accept() override
Definition SetupDialog.cpp:979
bool m_universalPanClick
Definition SetupDialog.h:150
void toggleSmoothScroll(bool enabled)
Definition SetupDialog.cpp:1225
QString m_workingDir
Definition SetupDialog.h:204
void toggleDisableBackup(bool enabled)
Definition SetupDialog.cpp:1152
void openGIGDir()
Definition SetupDialog.cpp:1449
QLabel * m_bufferSizeWarnLbl
Definition SetupDialog.h:191
void toggleShowFaderTicks(bool enabled)
Definition SetupDialog.cpp:1099
QSlider * m_bufferSizeSlider
Definition SetupDialog.h:189
void setAutoSaveInterval(int time)
Definition SetupDialog.cpp:1190
void openBackgroundPicFile()
Definition SetupDialog.cpp:1483
void openVSTDir()
Definition SetupDialog.cpp:1368
int m_bufferSize
Definition SetupDialog.h:188
void toggleAnimateAFP(bool enabled)
Definition SetupDialog.cpp:1231
~SetupDialog() override
Definition SetupDialog.cpp:971
bool m_animateAFP
Definition SetupDialog.h:172
void toggleDisableAutoQuit(bool enabled)
Definition SetupDialog.cpp:1250
bool m_midiAutoQuantize
Definition SetupDialog.h:201
void audioInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1261
bool m_disableAutoQuit
Definition SetupDialog.h:178
void toggleOneInstrumentTrackWindow(bool enabled)
Definition SetupDialog.cpp:1110
QSlider * m_sampleRateSlider
Definition SetupDialog.h:194
QStringList m_languages
Definition SetupDialog.h:161
QString m_gigDir
Definition SetupDialog.h:207
QComboBox * m_vstEmbedComboBox
Definition SetupDialog.h:174
QString m_sf2File
Definition SetupDialog.h:210
bool m_openLastProject
Definition SetupDialog.h:153
bool m_mixSanitization
Definition SetupDialog.h:192
void openSF2File()
Definition SetupDialog.cpp:1427
void openLADSPADir()
Definition SetupDialog.cpp:1385
QLabel * m_vstEmbedLbl
Definition SetupDialog.h:173
void toggleTrackDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1128
void setBackgroundPicFile(const QString &backgroundPicFile)
Definition SetupDialog.cpp:1512
MswMap m_midiIfaceSetupWidgets
Definition SetupDialog.h:198
QMap< QString, MidiSetupWidget * > MswMap
Definition SetupDialog.h:181
QMap< QString, AudioDeviceSetupWidget * > AswMap
Definition SetupDialog.h:180
QComboBox * m_detachBehaviorComboBox
Definition SetupDialog.h:155
QComboBox * m_loopMarkerComboBox
Definition SetupDialog.h:157
void setLADSPADir(const QString &ladspaDir)
Definition SetupDialog.cpp:1404
void setVSTDir(const QString &vstDir)
Definition SetupDialog.cpp:1379
trMap m_audioIfaceNames
Definition SetupDialog.h:187
QCheckBox * m_runningAutoSave
Definition SetupDialog.h:170
bool m_mixerChannelDeletionWarning
Definition SetupDialog.h:149
void openWorkingDir()
Definition SetupDialog.cpp:1351
void vstEmbedMethodChanged()
Definition SetupDialog.cpp:1237
TabBar * m_tabBar
Definition SetupDialog.h:136
QLineEdit * m_sf2DirLineEdit
Definition SetupDialog.h:220
QString m_vstDir
Definition SetupDialog.h:205
QString m_detachBehavior
Definition SetupDialog.h:154
bool m_showFaderTicks
Definition SetupDialog.h:142
void toggleOpenLastProject(bool enabled)
Definition SetupDialog.cpp:1158
Definition TabBar.h:43
static PuglViewHint int value
Definition pugl.h:1708
Definition AudioPortAudio.cpp:209