summaryrefslogtreecommitdiffstats
path: root/src/encoder/encoderrecordingsettings.h
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2019-12-29 12:26:23 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2019-12-29 12:26:23 +0100
commit0a54eb5c294f16124ee3b5fdad16d5127e7848d8 (patch)
tree02bb9ac1256cfef0cf54e558ffb77e29156d46b6 /src/encoder/encoderrecordingsettings.h
parente1c8b45b64181481546d4497a43212ff72e3d017 (diff)
Split out EncoderRecordingSettings
Diffstat (limited to 'src/encoder/encoderrecordingsettings.h')
-rw-r--r--src/encoder/encoderrecordingsettings.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/encoder/encoderrecordingsettings.h b/src/encoder/encoderrecordingsettings.h
new file mode 100644
index 0000000000..d68e019ed0
--- /dev/null
+++ b/src/encoder/encoderrecordingsettings.h
@@ -0,0 +1,34 @@
+#pragma once
+
+#include "encoder/encodersettings.h"
+
+class EncoderRecordingSettings : public EncoderSettings {
+ public:
+ ~EncoderRecordingSettings() override = default;
+
+ // Indicates that it uses the quality slider section of the preferences
+ virtual bool usesQualitySlider() const = 0;
+ // Indicates that it uses the compression slider section of the preferences
+ virtual bool usesCompressionSlider() const = 0;
+ // Indicates that it uses the radio button section of the preferences.
+ virtual bool usesOptionGroups() const = 0;
+
+ virtual void setQualityByIndex(int qualityIndex) {
+ Q_UNUSED(qualityIndex);
+ }
+
+ // Sets the compression level
+ virtual void setCompression(int compression) {
+ Q_UNUSED(compression);
+ }
+
+ // Selects the option by its index. If it is a single-element option,
+ // index 0 means disabled and 1 enabled.
+ virtual void setGroupOption(QString groupCode, int optionIndex) {
+ Q_UNUSED(groupCode);
+ Q_UNUSED(optionIndex);
+ }
+};
+
+typedef std::shared_ptr<EncoderRecordingSettings> EncoderRecordingSettingsPointer;
+