summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/base/encoderrbspeex.cpp49
-rw-r--r--rbutil/rbutilqt/base/encoderrbspeex.h1
-rw-r--r--rbutil/rbutilqt/base/rbsettings.cpp2
3 files changed, 28 insertions, 24 deletions
diff --git a/rbutil/rbutilqt/base/encoderrbspeex.cpp b/rbutil/rbutilqt/base/encoderrbspeex.cpp
index 2d57082aa6..b5b516ec87 100644
--- a/rbutil/rbutilqt/base/encoderrbspeex.cpp
+++ b/rbutil/rbutilqt/base/encoderrbspeex.cpp
@@ -28,14 +28,15 @@ EncoderRbSpeex::EncoderRbSpeex(QObject *parent) : EncoderBase(parent)
28 28
29void EncoderRbSpeex::generateSettings() 29void EncoderRbSpeex::generateSettings()
30{ 30{
31 insertSetting(eVOLUME,new EncTtsSetting(this,EncTtsSetting::eDOUBLE, 31 loadSettings();
32 tr("Volume:"),RbSettings::subValue("rbspeex",RbSettings::EncoderVolume),1.0,10.0)); 32 insertSetting(eVOLUME, new EncTtsSetting(this, EncTtsSetting::eDOUBLE,
33 insertSetting(eQUALITY,new EncTtsSetting(this,EncTtsSetting::eDOUBLE, 33 tr("Volume:"), volume, 1.0, 10.0));
34 tr("Quality:"),RbSettings::subValue("rbspeex",RbSettings::EncoderQuality),0,10.0)); 34 insertSetting(eQUALITY, new EncTtsSetting(this, EncTtsSetting::eDOUBLE,
35 insertSetting(eCOMPLEXITY,new EncTtsSetting(this,EncTtsSetting::eINT, 35 tr("Quality:"), quality, 0, 10.0));
36 tr("Complexity:"),RbSettings::subValue("rbspeex",RbSettings::EncoderComplexity),0,10)); 36 insertSetting(eCOMPLEXITY, new EncTtsSetting(this, EncTtsSetting::eINT,
37 insertSetting(eNARROWBAND,new EncTtsSetting(this,EncTtsSetting::eBOOL, 37 tr("Complexity:"), complexity, 0, 10));
38 tr("Use Narrowband:"),RbSettings::subValue("rbspeex",RbSettings::EncoderNarrowBand))); 38 insertSetting(eNARROWBAND,new EncTtsSetting(this, EncTtsSetting::eBOOL,
39 tr("Use Narrowband:"), narrowband));
39} 40}
40 41
41void EncoderRbSpeex::saveSettings() 42void EncoderRbSpeex::saveSettings()
@@ -53,16 +54,25 @@ void EncoderRbSpeex::saveSettings()
53 RbSettings::sync(); 54 RbSettings::sync();
54} 55}
55 56
56bool EncoderRbSpeex::start()
57{
58 57
58void EncoderRbSpeex::loadSettings(void)
59{
59 // try to get config from settings 60 // try to get config from settings
60 quality = RbSettings::subValue("rbspeex", RbSettings::EncoderQuality).toDouble(); 61 quality = RbSettings::subValue("rbspeex", RbSettings::EncoderQuality).toDouble();
62 if(quality < 0) {
63 quality = 8.0;
64 }
61 complexity = RbSettings::subValue("rbspeex", RbSettings::EncoderComplexity).toInt(); 65 complexity = RbSettings::subValue("rbspeex", RbSettings::EncoderComplexity).toInt();
62 volume = RbSettings::subValue("rbspeex", RbSettings::EncoderVolume).toDouble(); 66 volume = RbSettings::subValue("rbspeex", RbSettings::EncoderVolume).toDouble();
63 narrowband = RbSettings::subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool(); 67 narrowband = RbSettings::subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool();
68}
64 69
65 70
71bool EncoderRbSpeex::start()
72{
73
74 // make sure configuration parameters are set.
75 loadSettings();
66 return true; 76 return true;
67} 77}
68 78
@@ -98,18 +108,11 @@ bool EncoderRbSpeex::encode(QString input,QString output)
98 108
99bool EncoderRbSpeex::configOk() 109bool EncoderRbSpeex::configOk()
100{ 110{
101 bool result=true; 111 // check config. Make sure current settings are loaded.
102 // check config 112 loadSettings();
103 113 if(volume <= 0 || quality <= 0 || complexity <= 0)
104 if(RbSettings::subValue("rbspeex", RbSettings::EncoderVolume).toDouble() <= 0) 114 return false;
105 result =false; 115 else
106 116 return true;
107 if(RbSettings::subValue("rbspeex", RbSettings::EncoderQuality).toDouble() <= 0)
108 result =false;
109
110 if(RbSettings::subValue("rbspeex", RbSettings::EncoderComplexity).toInt() <= 0)
111 result =false;
112
113 return result;
114} 117}
115 118
diff --git a/rbutil/rbutilqt/base/encoderrbspeex.h b/rbutil/rbutilqt/base/encoderrbspeex.h
index 9f51d8e264..b3028b3250 100644
--- a/rbutil/rbutilqt/base/encoderrbspeex.h
+++ b/rbutil/rbutilqt/base/encoderrbspeex.h
@@ -45,6 +45,7 @@ class EncoderRbSpeex : public EncoderBase
45 void saveSettings(); 45 void saveSettings();
46 46
47 private: 47 private:
48 void loadSettings(void);
48 float quality; 49 float quality;
49 float volume; 50 float volume;
50 int complexity; 51 int complexity;
diff --git a/rbutil/rbutilqt/base/rbsettings.cpp b/rbutil/rbutilqt/base/rbsettings.cpp
index e7e47af7b4..a74b167e92 100644
--- a/rbutil/rbutilqt/base/rbsettings.cpp
+++ b/rbutil/rbutilqt/base/rbsettings.cpp
@@ -64,7 +64,7 @@ const static struct {
64 { RbSettings::WavtrimThreshold, "wavtrimthreshold", "500"}, 64 { RbSettings::WavtrimThreshold, "wavtrimthreshold", "500"},
65 { RbSettings::TtsSpeed, ":tts:/speed", "175" }, 65 { RbSettings::TtsSpeed, ":tts:/speed", "175" },
66 { RbSettings::EncoderComplexity, ":encoder:/complexity", "10" }, 66 { RbSettings::EncoderComplexity, ":encoder:/complexity", "10" },
67 { RbSettings::EncoderQuality, ":encoder:/quality", "8.0" }, 67 { RbSettings::EncoderQuality, ":encoder:/quality", "-1.0" },
68 { RbSettings::EncoderVolume, ":encoder:/volume", "1.0" }, 68 { RbSettings::EncoderVolume, ":encoder:/volume", "1.0" },
69}; 69};
70 70