summaryrefslogtreecommitdiffstats
path: root/src/encoder
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
parente1c8b45b64181481546d4497a43212ff72e3d017 (diff)
Split out EncoderRecordingSettings
Diffstat (limited to 'src/encoder')
-rw-r--r--src/encoder/encoder.cpp2
-rw-r--r--src/encoder/encoder.h3
-rw-r--r--src/encoder/encoderbroadcastsettings.h4
-rw-r--r--src/encoder/encoderflacsettings.h4
-rw-r--r--src/encoder/encodermp3settings.h4
-rw-r--r--src/encoder/encoderopussettings.h4
-rw-r--r--src/encoder/encoderrecordingsettings.h34
-rw-r--r--src/encoder/encodersettings.h16
-rw-r--r--src/encoder/encodervorbissettings.h4
-rw-r--r--src/encoder/encoderwavesettings.h4
10 files changed, 50 insertions, 29 deletions
diff --git a/src/encoder/encoder.cpp b/src/encoder/encoder.cpp
index 9e727c1ade..7efba0eea5 100644
--- a/src/encoder/encoder.cpp
+++ b/src/encoder/encoder.cpp
@@ -125,7 +125,7 @@ EncoderPointer EncoderFactory::getNewEncoder(Encoder::Format format,
return pEncoder;
}
-EncoderSettingsPointer EncoderFactory::getEncoderSettings(Encoder::Format format,
+EncoderRecordingSettingsPointer EncoderFactory::getEncoderRecordingSettings(Encoder::Format format,
UserSettingsPointer pConfig) const
{
if (format.internalName == ENCODING_WAVE) {
diff --git a/src/encoder/encoder.h b/src/encoder/encoder.h
index 7ed0e431d4..193a62d8a2 100644
--- a/src/encoder/encoder.h
+++ b/src/encoder/encoder.h
@@ -14,6 +14,7 @@
#include "util/types.h"
#include "preferences/usersettings.h"
#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encodercallback.h"
class Encoder {
@@ -57,7 +58,7 @@ class EncoderFactory {
UserSettingsPointer pConfig, EncoderCallback* pCallback) const;
EncoderPointer getNewEncoder(Encoder::Format format,
UserSettingsPointer pConfig, EncoderCallback* pCallback) const;
- EncoderSettingsPointer getEncoderSettings(Encoder::Format format,
+ EncoderRecordingSettingsPointer getEncoderRecordingSettings(Encoder::Format format,
UserSettingsPointer pConfig) const;
private:
static EncoderFactory factory;
diff --git a/src/encoder/encoderbroadcastsettings.h b/src/encoder/encoderbroadcastsettings.h
index 955e314245..0953c1eef5 100644
--- a/src/encoder/encoderbroadcastsettings.h
+++ b/src/encoder/encoderbroadcastsettings.h
@@ -9,11 +9,11 @@
#ifndef ENCODERBROADCASTSETTINGS_H
#define ENCODERBROADCASTSETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
#include "preferences/broadcastsettings.h"
-class EncoderBroadcastSettings : public EncoderSettings {
+class EncoderBroadcastSettings : public EncoderRecordingSettings {
public:
EncoderBroadcastSettings(BroadcastProfilePtr profile);
virtual ~EncoderBroadcastSettings();
diff --git a/src/encoder/encoderflacsettings.h b/src/encoder/encoderflacsettings.h
index 10efa2bcae..f102159bfd 100644
--- a/src/encoder/encoderflacsettings.h
+++ b/src/encoder/encoderflacsettings.h
@@ -8,10 +8,10 @@
#ifndef ENCODERFLACSETTINGS_H
#define ENCODERFLACSETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
-class EncoderFlacSettings : public EncoderSettings {
+class EncoderFlacSettings : public EncoderRecordingSettings {
public:
EncoderFlacSettings(UserSettingsPointer pConfig);
virtual ~EncoderFlacSettings();
diff --git a/src/encoder/encodermp3settings.h b/src/encoder/encodermp3settings.h
index 01af4c0036..e476f7fe5c 100644
--- a/src/encoder/encodermp3settings.h
+++ b/src/encoder/encodermp3settings.h
@@ -8,10 +8,10 @@
#ifndef ENCODERMP3SETTINGS_H
#define ENCODERMP3SETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
-class EncoderMp3Settings : public EncoderSettings {
+class EncoderMp3Settings : public EncoderRecordingSettings {
public:
EncoderMp3Settings(UserSettingsPointer m_pConfig);
virtual ~EncoderMp3Settings();
diff --git a/src/encoder/encoderopussettings.h b/src/encoder/encoderopussettings.h
index 6b351c76fd..398210da58 100644
--- a/src/encoder/encoderopussettings.h
+++ b/src/encoder/encoderopussettings.h
@@ -4,7 +4,7 @@
#ifndef ENCODER_ENCODEROPUSSETTINGS_H
#define ENCODER_ENCODEROPUSSETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
#define OPUS_BITRATE_MODES_COUNT 3
@@ -12,7 +12,7 @@
#define OPUS_BITRATE_CBR 1
#define OPUS_BITRATE_VBR 2
-class EncoderOpusSettings: public EncoderSettings {
+class EncoderOpusSettings: public EncoderRecordingSettings {
public:
explicit EncoderOpusSettings(UserSettingsPointer pConfig);
~EncoderOpusSettings() override = default;
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;
+
diff --git a/src/encoder/encodersettings.h b/src/encoder/encodersettings.h
index f44f343852..05d8366b80 100644
--- a/src/encoder/encodersettings.h
+++ b/src/encoder/encodersettings.h
@@ -28,21 +28,10 @@ class EncoderSettings {
STEREO=2
};
- EncoderSettings() {}
- virtual ~EncoderSettings() {}
-
- // 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 ~EncoderSettings() = default;
// Returns the list of quality values supported, to assign them to the slider
virtual QList<int> getQualityValues() const { return QList<int>(); }
- // Sets the quality value by its value
- // Sets the quality value by its index
- virtual void setQualityByIndex(int qualityIndex) { Q_UNUSED(qualityIndex); }
virtual int getQuality() const { return 0; }
virtual int getQualityIndex() const { return 0; }
// Returns the list of compression values supported, to assign them to the slider
@@ -54,9 +43,6 @@ class EncoderSettings {
virtual QList<OptionsGroup> getOptionGroups() const { return QList<OptionsGroup>(); }
// 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); }
// Return the selected option of the group. If it is a single-element option,
// 0 means disabled and 1 enabled.
virtual int getSelectedOption(QString groupCode) const { Q_UNUSED(groupCode); return 0; }
diff --git a/src/encoder/encodervorbissettings.h b/src/encoder/encodervorbissettings.h
index 5ab9f558af..d4d22739a3 100644
--- a/src/encoder/encodervorbissettings.h
+++ b/src/encoder/encodervorbissettings.h
@@ -8,10 +8,10 @@
#ifndef ENCODERVORBISSETTINGS_H
#define ENCODERVORBISSETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
-class EncoderVorbisSettings : public EncoderSettings {
+class EncoderVorbisSettings : public EncoderRecordingSettings {
public:
EncoderVorbisSettings(UserSettingsPointer pConfig);
virtual ~EncoderVorbisSettings();
diff --git a/src/encoder/encoderwavesettings.h b/src/encoder/encoderwavesettings.h
index 1519c6926c..eba1dab046 100644
--- a/src/encoder/encoderwavesettings.h
+++ b/src/encoder/encoderwavesettings.h
@@ -8,11 +8,11 @@
#ifndef ENCODERWAVESETTINGS_H
#define ENCODERWAVESETTINGS_H
-#include "encoder/encodersettings.h"
+#include "encoder/encoderrecordingsettings.h"
#include "encoder/encoder.h"
#include <QList>
-class EncoderWaveSettings : public EncoderSettings {
+class EncoderWaveSettings : public EncoderRecordingSettings {
public:
EncoderWaveSettings(UserSettingsPointer pConfig, QString format);
virtual ~EncoderWaveSettings();