Make it so!

Fixes issue #2527
This commit is contained in:
John Maguire 2012-01-10 17:00:17 +01:00
parent 6ab38e0093
commit dfdb71b164
6 changed files with 31 additions and 6 deletions

View File

@ -10,6 +10,7 @@
const char* BackgroundStreams::kSettingsGroup = "BackgroundStreams"; const char* BackgroundStreams::kSettingsGroup = "BackgroundStreams";
const char* BackgroundStreams::kHypnotoadUrl = "hypnotoad:///"; const char* BackgroundStreams::kHypnotoadUrl = "hypnotoad:///";
const char* BackgroundStreams::kRainUrl = "http://data.clementine-player.org/rainymood"; const char* BackgroundStreams::kRainUrl = "http://data.clementine-player.org/rainymood";
const char* BackgroundStreams::kEnterpriseUrl = "enterprise:///";
BackgroundStreams::BackgroundStreams(EngineBase* engine, QObject* parent) BackgroundStreams::BackgroundStreams(EngineBase* engine, QObject* parent)
: QObject(parent), : QObject(parent),
@ -25,12 +26,14 @@ void BackgroundStreams::LoadStreams() {
s.beginGroup(kSettingsGroup); s.beginGroup(kSettingsGroup);
int version = s.value("version", 0).toInt(); int version = s.value("version", 0).toInt();
if (version < kVersion) { if (version < 1) {
s.setValue("version", kVersion);
AddStream(QT_TR_NOOP("Hypnotoad"), QUrl(kHypnotoadUrl)); AddStream(QT_TR_NOOP("Hypnotoad"), QUrl(kHypnotoadUrl));
AddStream(QT_TR_NOOP("Rain"), QUrl(kRainUrl)); AddStream(QT_TR_NOOP("Rain"), QUrl(kRainUrl));
SaveStreams(); }
return;
if (version < kVersion) {
s.setValue("version", kVersion);
AddStream(QT_TR_NOOP("Make it so!"), QUrl(kEnterpriseUrl));
} }
int size = s.beginReadArray("streams"); int size = s.beginReadArray("streams");
@ -41,6 +44,8 @@ void BackgroundStreams::LoadStreams() {
s.value("volume").toInt(), s.value("volume").toInt(),
s.value("enabled").toBool()); s.value("enabled").toBool());
} }
SaveStreams();
} }
void BackgroundStreams::SaveStreams() { void BackgroundStreams::SaveStreams() {

View File

@ -59,10 +59,11 @@ class BackgroundStreams : public QObject {
QMap<QString, Stream*> streams_; QMap<QString, Stream*> streams_;
static const char* kSettingsGroup; static const char* kSettingsGroup;
static const int kVersion = 1; static const int kVersion = 2;
static const char* kHypnotoadUrl; static const char* kHypnotoadUrl;
static const char* kRainUrl; static const char* kRainUrl;
static const char* kEnterpriseUrl;
}; };
#endif #endif

View File

@ -56,13 +56,16 @@ using boost::shared_ptr;
const char* GstEngine::kSettingsGroup = "GstEngine"; const char* GstEngine::kSettingsGroup = "GstEngine";
const char* GstEngine::kAutoSink = "autoaudiosink"; const char* GstEngine::kAutoSink = "autoaudiosink";
const char* GstEngine::kHypnotoadPipeline = const char* GstEngine::kHypnotoadPipeline =
"audiotestsrc wave=6 ! " "audiotestsrc wave=6 ! "
"audioecho intensity=1 delay=50000000 ! " "audioecho intensity=1 delay=50000000 ! "
"audioecho intensity=1 delay=25000000 ! " "audioecho intensity=1 delay=25000000 ! "
"equalizer-10bands " "equalizer-10bands "
"band0=-24 band1=-3 band2=7.5 band3=12 band4=8 " "band0=-24 band1=-3 band2=7.5 band3=12 band4=8 "
"band5=6 band6=5 band7=6 band8=0 band9=-24"; "band5=6 band6=5 band7=6 band8=0 band9=-24";
const char* GstEngine::kEnterprisePipeline =
"audiotestsrc wave=5 ! "
"audiocheblimit mode=0 cutoff=120";
GstEngine::GstEngine() GstEngine::GstEngine()
: Engine::Base(), : Engine::Base(),
@ -700,6 +703,11 @@ shared_ptr<GstEnginePipeline> GstEngine::CreatePipeline(const QUrl& url,
return ret; return ret;
} }
if (url.scheme() == "enterprise") {
ret->InitFromString(kEnterprisePipeline);
return ret;
}
if (!ret->InitFromUrl(url, end_nanosec)) if (!ret->InitFromUrl(url, end_nanosec))
ret.reset(); ret.reset();

View File

@ -153,6 +153,7 @@ class GstEngine : public Engine::Base, public BufferConsumer {
static const int kSeekDelayNanosec = 100 * kNsecPerMsec; // 100msec static const int kSeekDelayNanosec = 100 * kNsecPerMsec; // 100msec
static const char* kHypnotoadPipeline; static const char* kHypnotoadPipeline;
static const char* kEnterprisePipeline;
QFuture<void> initialising_; QFuture<void> initialising_;

View File

@ -371,6 +371,7 @@ MainWindow::MainWindow(
background_streams_->AddAction("Rain", ui_->action_rain); background_streams_->AddAction("Rain", ui_->action_rain);
background_streams_->AddAction("Hypnotoad", ui_->action_hypnotoad); background_streams_->AddAction("Hypnotoad", ui_->action_hypnotoad);
background_streams_->AddAction("Make it so!", ui_->action_enterprise);
// Playlist view actions // Playlist view actions
ui_->action_next_playlist->setShortcuts(QList<QKeySequence>() ui_->action_next_playlist->setShortcuts(QList<QKeySequence>()

View File

@ -474,6 +474,7 @@
</property> </property>
<addaction name="action_rain"/> <addaction name="action_rain"/>
<addaction name="action_hypnotoad"/> <addaction name="action_hypnotoad"/>
<addaction name="action_enterprise"/>
<addaction name="action_kittens"/> <addaction name="action_kittens"/>
<addaction name="separator"/> <addaction name="separator"/>
</widget> </widget>
@ -687,6 +688,14 @@
<string comment="Label for button to enable/disable Hypnotoad background sound.">All Glory to the Hypnotoad!</string> <string comment="Label for button to enable/disable Hypnotoad background sound.">All Glory to the Hypnotoad!</string>
</property> </property>
</action> </action>
<action name="action_enterprise">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string comment="Label for button to enable/disable Enterprise background sound.">Make it so!</string>
</property>
</action>
<action name="action_kittens"> <action name="action_kittens">
<property name="checkable"> <property name="checkable">
<bool>true</bool> <bool>true</bool>