| 
									
										
										
										
											2023-11-19 06:43:20 +01:00
										 |  |  | ///////////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | // Copyright (C) 2015-2022 Edouard Griffiths, F4EXB <f4exb06@gmail.com>              //
 | 
					
						
							|  |  |  | // Copyright (C) 2020, 2022-2023 Jon Beniston, M7RCE <jon@beniston.com>              //
 | 
					
						
							|  |  |  | //                                                                                   //
 | 
					
						
							|  |  |  | // This program is free software; you can redistribute it and/or modify              //
 | 
					
						
							|  |  |  | // it under the terms of the GNU General Public License as published by              //
 | 
					
						
							|  |  |  | // the Free Software Foundation as version 3 of the License, or                      //
 | 
					
						
							|  |  |  | // (at your option) any later version.                                               //
 | 
					
						
							|  |  |  | //                                                                                   //
 | 
					
						
							|  |  |  | // This program is distributed in the hope that it will be useful,                   //
 | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of                    //
 | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                      //
 | 
					
						
							|  |  |  | // GNU General Public License V3 for more details.                                   //
 | 
					
						
							|  |  |  | //                                                                                   //
 | 
					
						
							|  |  |  | // You should have received a copy of the GNU General Public License                 //
 | 
					
						
							|  |  |  | // along with this program. If not, see <http://www.gnu.org/licenses/>.              //
 | 
					
						
							|  |  |  | ///////////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | #ifndef INCLUDE_SETTINGS_H
 | 
					
						
							|  |  |  | #define INCLUDE_SETTINGS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | #include <QObject>
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | #include <QString>
 | 
					
						
							| 
									
										
										
										
											2019-06-12 18:50:53 +02:00
										 |  |  | #include "device/deviceuserargs.h"
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | #include "preferences.h"
 | 
					
						
							|  |  |  | #include "preset.h"
 | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  | #include "featuresetpreset.h"
 | 
					
						
							| 
									
										
										
										
											2023-08-24 15:51:50 +01:00
										 |  |  | #include "pluginpreset.h"
 | 
					
						
							| 
									
										
										
										
											2022-04-05 16:26:57 +02:00
										 |  |  | #include "configuration.h"
 | 
					
						
							| 
									
										
										
										
											2018-03-20 13:49:21 +01:00
										 |  |  | #include "export.h"
 | 
					
						
							| 
									
										
										
										
											2020-09-08 15:47:20 +01:00
										 |  |  | #include "plugin/pluginmanager.h"
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-04 11:11:53 +01:00
										 |  |  | class Command; | 
					
						
							| 
									
										
										
										
											2019-07-20 23:25:00 +02:00
										 |  |  | class AudioDeviceManager; | 
					
						
							| 
									
										
										
										
											2018-01-04 11:11:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-08 15:47:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | class SDRBASE_API MainSettings : public QObject { | 
					
						
							|  |  |  | 	Q_OBJECT | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | public: | 
					
						
							|  |  |  | 	MainSettings(); | 
					
						
							|  |  |  | 	~MainSettings(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  | 	void load(); | 
					
						
							|  |  |  | 	void save() const; | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	void resetToDefaults(); | 
					
						
							| 
									
										
										
										
											2019-08-06 08:48:14 +02:00
										 |  |  |     void initialize(); | 
					
						
							| 
									
										
										
										
											2019-01-17 11:22:38 +01:00
										 |  |  | 	QString getFileLocation() const; | 
					
						
							| 
									
										
										
										
											2019-01-17 11:17:28 +01:00
										 |  |  | 	int getFileFormat() const; //!< see QSettings::Format for the values
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-01 02:16:56 +02:00
										 |  |  |     const Preferences& getPreferences() const { return m_preferences; } | 
					
						
							| 
									
										
										
										
											2019-08-06 08:48:14 +02:00
										 |  |  |     void setPreferences(const Preferences& preferences) { m_preferences = preferences; } | 
					
						
							| 
									
										
										
										
											2019-08-01 02:16:56 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 	Preset* newPreset(const QString& group, const QString& description); | 
					
						
							| 
									
										
										
										
											2019-08-06 08:48:14 +02:00
										 |  |  |     void addPreset(Preset *preset); | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 	void deletePreset(const Preset* preset); | 
					
						
							| 
									
										
										
										
											2022-05-08 19:33:10 +02:00
										 |  |  |     QByteArray serializePreset(const Preset* preset) const; | 
					
						
							|  |  |  |     bool deserializePreset(const QByteArray& blob, Preset* preset); | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 	int getPresetCount() const { return m_presets.count(); } | 
					
						
							|  |  |  | 	const Preset* getPreset(int index) const { return m_presets[index]; } | 
					
						
							| 
									
										
										
										
											2019-05-09 01:12:40 +02:00
										 |  |  | 	const Preset* getPreset(const QString& groupName, quint64 centerFrequency, const QString& description, const QString& type) const; | 
					
						
							| 
									
										
										
										
											2016-09-11 18:58:40 +02:00
										 |  |  | 	void sortPresets(); | 
					
						
							| 
									
										
										
										
											2018-01-05 11:45:20 +01:00
										 |  |  | 	void renamePresetGroup(const QString& oldGroupName, const QString& newGroupName); | 
					
						
							| 
									
										
										
										
											2018-01-06 20:02:08 +01:00
										 |  |  | 	void deletePresetGroup(const QString& groupName); | 
					
						
							| 
									
										
										
										
											2019-08-06 08:48:14 +02:00
										 |  |  |     void clearPresets(); | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  |     const Preset& getWorkingPresetConst() const { return m_workingPreset; } | 
					
						
							|  |  |  | 	Preset* getWorkingPreset() { return &m_workingPreset; } | 
					
						
							| 
									
										
										
										
											2022-04-13 18:43:37 +02:00
										 |  |  |     QList<Preset*> *getPresets() { return &m_presets; } | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-04 11:11:53 +01:00
										 |  |  |     void addCommand(Command *command); | 
					
						
							|  |  |  |     void deleteCommand(const Command* command); | 
					
						
							|  |  |  |     int getCommandCount() const { return m_commands.count(); } | 
					
						
							|  |  |  |     const Command* getCommand(int index) const { return m_commands[index]; } | 
					
						
							|  |  |  |     const Command* getCommand(const QString& groupName, const QString& description) const; | 
					
						
							|  |  |  |     void sortCommands(); | 
					
						
							| 
									
										
										
										
											2018-01-05 11:45:20 +01:00
										 |  |  |     void renameCommandGroup(const QString& oldGroupName, const QString& newGroupName); | 
					
						
							| 
									
										
										
										
											2018-01-06 20:02:08 +01:00
										 |  |  |     void deleteCommandGroup(const QString& groupName); | 
					
						
							| 
									
										
										
										
											2019-08-06 08:48:14 +02:00
										 |  |  |     void clearCommands(); | 
					
						
							| 
									
										
										
										
											2018-01-04 11:11:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  | 	FeatureSetPreset* newFeatureSetPreset(const QString& group, const QString& description); | 
					
						
							|  |  |  |     void addFeatureSetPreset(FeatureSetPreset *preset); | 
					
						
							|  |  |  | 	void deleteFeatureSetPreset(const FeatureSetPreset* preset); | 
					
						
							|  |  |  | 	int getFeatureSetPresetCount() const { return m_featureSetPresets.count(); } | 
					
						
							|  |  |  | 	const FeatureSetPreset* getFeatureSetPreset(int index) const { return m_featureSetPresets[index]; } | 
					
						
							|  |  |  | 	const FeatureSetPreset* getFeatureSetPreset(const QString& groupName, const QString& description) const; | 
					
						
							|  |  |  | 	void sortFeatureSetPresets(); | 
					
						
							|  |  |  | 	void renameFeatureSetPresetGroup(const QString& oldGroupName, const QString& newGroupName); | 
					
						
							|  |  |  | 	void deleteFeatureSetPresetGroup(const QString& groupName); | 
					
						
							|  |  |  |     void clearFeatureSetPresets(); | 
					
						
							|  |  |  |     const FeatureSetPreset& getWorkingFeatureSetPresetConst() const { return m_workingFeatureSetPreset; } | 
					
						
							|  |  |  | 	FeatureSetPreset* getWorkingFeatureSetPreset() { return &m_workingFeatureSetPreset; } | 
					
						
							|  |  |  | 	QList<FeatureSetPreset*> *getFeatureSetPresets() { return &m_featureSetPresets; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-24 15:51:50 +01:00
										 |  |  |     PluginPreset* newPluginPreset(const QString& group, const QString& description); | 
					
						
							|  |  |  |     void addPluginPreset(PluginPreset *preset); | 
					
						
							|  |  |  |     void deletePluginPreset(const PluginPreset* preset); | 
					
						
							|  |  |  |     int getPluginPresetCount() const { return m_pluginPresets.count(); } | 
					
						
							|  |  |  |     const PluginPreset* getPluginPreset(int index) const { return m_pluginPresets[index]; } | 
					
						
							|  |  |  |     const PluginPreset* getPluginPreset(const QString& groupName, const QString& description) const; | 
					
						
							|  |  |  |     void sortPluginPresets(); | 
					
						
							|  |  |  |     void renamePluginPresetGroup(const QString& oldGroupName, const QString& newGroupName); | 
					
						
							|  |  |  |     void deletePluginPresetGroup(const QString& groupName); | 
					
						
							|  |  |  |     void clearPluginPresets(); | 
					
						
							|  |  |  |     const PluginPreset& getWorkingPluginPresetConst() const { return m_workingPluginPreset; } | 
					
						
							|  |  |  |     PluginPreset* getWorkingPluginPreset() { return &m_workingPluginPreset; } | 
					
						
							|  |  |  |     QList<PluginPreset*> *getPluginPresets() { return &m_pluginPresets; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-05 16:26:57 +02:00
										 |  |  |     Configuration* newConfiguration(const QString& group, const QString& description); | 
					
						
							|  |  |  |     void addConfiguration(Configuration *configuration); | 
					
						
							|  |  |  |     void deleteConfiguration(const Configuration *configuration); | 
					
						
							| 
									
										
										
										
											2022-05-08 19:33:10 +02:00
										 |  |  |     QByteArray serializeConfiguration(const Configuration *configuration) const; | 
					
						
							|  |  |  |     bool deserializeConfiguration(const QByteArray& blob, Configuration *configuration); | 
					
						
							| 
									
										
										
										
											2022-04-05 16:26:57 +02:00
										 |  |  |     int getConfigurationCount() const { return m_configurations.size(); } | 
					
						
							|  |  |  | 	const Configuration* getConfiguration(int index) const { return m_configurations[index]; } | 
					
						
							|  |  |  | 	const Configuration* getConfiguration(const QString& groupName, const QString& description) const; | 
					
						
							|  |  |  |     void sortConfigurations(); | 
					
						
							|  |  |  | 	void renameConfigurationGroup(const QString& oldGroupName, const QString& newGroupName); | 
					
						
							|  |  |  | 	void deleteConfigurationGroup(const QString& groupName); | 
					
						
							|  |  |  |     void clearConfigurations(); | 
					
						
							|  |  |  |     const Configuration& getWorkingConfigurationConst() const { return m_workingConfiguration; } | 
					
						
							|  |  |  | 	Configuration* getWorkingConfiguration() { return &m_workingConfiguration; } | 
					
						
							|  |  |  | 	QList<Configuration*> *getConfigurations() { return &m_configurations; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	const QString& getSourceDevice() const { return m_preferences.getSourceDevice(); } | 
					
						
							|  |  |  | 	void setSourceDevice(const QString& value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setSourceDevice(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::SourceDevice); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 	int getSourceIndex() const { return m_preferences.getSourceIndex(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setSourceIndex(int value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setSourceIndex(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::SourceIndex); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	int getSourceItemIndex() const { return m_preferences.getSourceItemIndex(); } | 
					
						
							|  |  |  | 	void setSourceItemIndex(int value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setSourceItemIndex(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::SourceItemIndex); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	const QString& getAudioType() const { return m_preferences.getAudioType(); } | 
					
						
							|  |  |  | 	void setAudioType(const QString& value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setAudioType(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::AudioType); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	const QString& getAudioDevice() const { return m_preferences.getAudioDevice(); } | 
					
						
							|  |  |  | 	void setAudioDevice(const QString& value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setAudioDevice(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::AudioDevice); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     QString getStationName() const { return m_preferences.getStationName(); } | 
					
						
							|  |  |  | 	void setStationName(const QString& name) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setStationName(name); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::StationName); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 	float getLatitude() const { return m_preferences.getLatitude(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setLatitude(float latitude) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setLatitude(latitude); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::Latitude); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 	float getLongitude() const { return m_preferences.getLongitude(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setLongitude(float longitude) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setLongitude(longitude); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::Longitude); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-27 16:22:10 +00:00
										 |  |  | 	float getAltitude() const { return m_preferences.getAltitude(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setAltitude(float altitude) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setAltitude(altitude); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::Altitude); | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-09-28 13:38:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-20 21:06:39 +00:00
										 |  |  |     bool getAutoUpdatePosition() const { return m_preferences.getAutoUpdatePosition(); } | 
					
						
							|  |  |  |     void setAutoUpdatePosition(bool autoUpdatePosition) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         m_preferences.setAutoUpdatePosition(autoUpdatePosition); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  |     QtMsgType getConsoleMinLogLevel() const { return m_preferences.getConsoleMinLogLevel(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setConsoleMinLogLevel(const QtMsgType& minLogLevel) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setConsoleMinLogLevel(minLogLevel); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::ConsoleMinLogLevel); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-12 02:23:55 +01:00
										 |  |  |     QtMsgType getFileMinLogLevel() const { return m_preferences.getFileMinLogLevel(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  |     void setFileMinLogLevel(const QtMsgType& minLogLevel) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setFileMinLogLevel(minLogLevel); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::FileMinLogLevel); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  |     bool getUseLogFile() const { return m_preferences.getUseLogFile(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setUseLogFile(bool useLogFile) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setUseLogFile(useLogFile); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::UseLogFile); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-11 19:26:23 +01:00
										 |  |  |     const QString& getLogFileName() const { return m_preferences.getLogFileName(); } | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | 	void setLogFileName(const QString& value) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		m_preferences.setLogFileName(value); | 
					
						
							|  |  |  | 		emit preferenceChanged(Preferences::LogFileName); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-12 18:50:53 +02:00
										 |  |  | 	DeviceUserArgs& getDeviceUserArgs() { return m_hardwareDeviceUserArgs; } | 
					
						
							| 
									
										
										
										
											2018-03-23 18:08:38 +01:00
										 |  |  | 	const AudioDeviceManager *getAudioDeviceManager() const { return m_audioDeviceManager; } | 
					
						
							|  |  |  | 	void setAudioDeviceManager(AudioDeviceManager *audioDeviceManager) { m_audioDeviceManager = audioDeviceManager; } | 
					
						
							| 
									
										
										
										
											2017-01-06 18:56:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-18 12:35:44 +01:00
										 |  |  |     int getMultisampling() const { return m_preferences.getMultisampling(); } | 
					
						
							|  |  |  |     void setMultisampling(int samples) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         m_preferences.setMultisampling(samples); | 
					
						
							|  |  |  |         emit preferenceChanged(Preferences::Multisampling); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-14 14:46:08 +00:00
										 |  |  |     int getMapMultisampling() const { return m_preferences.getMapMultisampling(); } | 
					
						
							|  |  |  |     void setMapMultisampling(int samples) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         m_preferences.setMapMultisampling(samples); | 
					
						
							|  |  |  |         emit preferenceChanged(Preferences::MapMultisampling); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-16 11:00:30 +00:00
										 |  |  |     bool getMapSmoothing() const { return m_preferences.getMapSmoothing(); } | 
					
						
							|  |  |  |     void setMapSmoothing(bool smoothing) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         m_preferences.setMapSmoothing(smoothing); | 
					
						
							|  |  |  |         emit preferenceChanged(Preferences::MapSmoothing); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-13 23:52:57 +01:00
										 |  |  |     const QString& getFFTEngine() const { return m_preferences.getFFTEngine(); } | 
					
						
							|  |  |  |     void setFFTEngine(const QString& fftEngine) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         m_preferences.setFFTEngine(fftEngine); | 
					
						
							|  |  |  |         emit preferenceChanged(Preferences::FFTEngine); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-20 12:23:50 +01:00
										 |  |  | signals: | 
					
						
							|  |  |  | 	void preferenceChanged(int); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | protected: | 
					
						
							|  |  |  | 	Preferences m_preferences; | 
					
						
							| 
									
										
										
										
											2018-03-23 18:08:38 +01:00
										 |  |  | 	AudioDeviceManager *m_audioDeviceManager; | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | 	Preset m_workingPreset; | 
					
						
							|  |  |  | 	typedef QList<Preset*> Presets; | 
					
						
							|  |  |  | 	Presets m_presets; | 
					
						
							| 
									
										
										
										
											2018-01-04 11:11:53 +01:00
										 |  |  |     typedef QList<Command*> Commands; | 
					
						
							|  |  |  |     Commands m_commands; | 
					
						
							| 
									
										
										
										
											2022-04-05 16:26:57 +02:00
										 |  |  | 	FeatureSetPreset m_workingFeatureSetPreset; | 
					
						
							| 
									
										
										
										
											2020-09-24 05:38:05 +02:00
										 |  |  |     typedef QList<FeatureSetPreset*> FeatureSetPresets; | 
					
						
							|  |  |  |     FeatureSetPresets m_featureSetPresets; | 
					
						
							| 
									
										
										
										
											2023-08-24 15:51:50 +01:00
										 |  |  |     PluginPreset m_workingPluginPreset; | 
					
						
							|  |  |  |     typedef QList<PluginPreset*> PluginPresets; | 
					
						
							|  |  |  |     PluginPresets m_pluginPresets; | 
					
						
							| 
									
										
										
										
											2022-04-05 16:26:57 +02:00
										 |  |  |     Configuration m_workingConfiguration; | 
					
						
							|  |  |  |     typedef QList<Configuration*> Configurations; | 
					
						
							|  |  |  |     Configurations m_configurations; | 
					
						
							| 
									
										
										
										
											2019-06-12 18:50:53 +02:00
										 |  |  | 	DeviceUserArgs m_hardwareDeviceUserArgs; | 
					
						
							| 
									
										
										
										
											2015-10-02 04:04:38 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // INCLUDE_SETTINGS_H
 |