- fix in setting

- change to volume approach on raspi in sound player
This commit is contained in:
Dorian Zedler 2020-10-07 09:48:15 +02:00
parent 10645e9eb8
commit a20e7e2fc9
Signed by: dorian
GPG key ID: D3B255CB8BC7CD37
4 changed files with 23 additions and 3 deletions

View file

@ -28,6 +28,10 @@
#include <QDateTime> #include <QDateTime>
#include <QSoundEffect> #include <QSoundEffect>
#ifdef RASPI
#include <QProcess>
#endif
/*! /*!
* \brief The ScStwSoundPlayer class is used for ultra low latency sound playback of the speed clibing start tones and commands * \brief The ScStwSoundPlayer class is used for ultra low latency sound playback of the speed clibing start tones and commands
*/ */

View file

@ -22,6 +22,9 @@ ScStwRemoteRace::ScStwRemoteRace(ScStwClient *scStwClient, ScStwSettings *settin
{ {
this->isReadyForNextState = true; this->isReadyForNextState = true;
this->remoteTimers = {};
this->localTimers = {};*********
this->scStwClient = scStwClient; this->scStwClient = scStwClient;
this->scStwClient->addSignalSubscription(ScStw::RaceDetailsChanged); this->scStwClient->addSignalSubscription(ScStw::RaceDetailsChanged);
@ -213,6 +216,9 @@ void ScStwRemoteRace::refreshDetails(QVariantMap details) {
} }
void ScStwRemoteRace::rebuildRemoteTimers(QVariantList remoteTimers) { void ScStwRemoteRace::rebuildRemoteTimers(QVariantList remoteTimers) {
qDebug() << "REBUILDING TIMERS";
// delete all current timers // delete all current timers
foreach(ScStwTimer * oldTimer, this->timers){ foreach(ScStwTimer * oldTimer, this->timers){
oldTimer->deleteLater(); oldTimer->deleteLater();
@ -271,8 +277,10 @@ bool ScStwRemoteRace::refreshRemoteTimers(QVariantList remoteTimers) {
} }
bool ScStwRemoteRace::addTimer(ScStwTimer* timer) { bool ScStwRemoteRace::addTimer(ScStwTimer* timer) {
if(this->local()) if(this->local()) {
this->localTimers.append(timer);
return ScStwRace::addTimer(timer); return ScStwRace::addTimer(timer);
}
return false; return false;
} }

View file

@ -30,8 +30,10 @@ ScStwSettings::ScStwSettings(QObject *parent) : QObject(parent)
if(!this->settingsFile->open(QFile::ReadWrite)) if(!this->settingsFile->open(QFile::ReadWrite))
qFatal("[FATAL] Couldn't open settings file %s", qPrintable(path + "/settings.json")); qFatal("[FATAL] Couldn't open settings file %s", qPrintable(path + "/settings.json"));
if(!this->loadSettingsFromFile() && this->settingsFile->size() != 0) if(!this->loadSettingsFromFile() && this->settingsFile->size() != 0) {
qFatal("[FATAL] Settings file (%s) is of invalid format!", qPrintable(path + "/settings.json")); this->writeSettingsToFile();
qWarning("[WARNING] Settings file (%s) was of invalid format and therefore overwritten!", qPrintable(path + "/settings.json"));
}
connect(this, &ScStwSettings::settingChanged, this, &ScStwSettings::writeSettingsToFile); connect(this, &ScStwSettings::settingChanged, this, &ScStwSettings::writeSettingsToFile);

View file

@ -49,7 +49,13 @@ ScStwSoundPlayer::PlayResult ScStwSoundPlayer::play(ScStwSoundPlayer::StartSound
this->currentlyPlayingSound = sound; this->currentlyPlayingSound = sound;
// update volume // update volume
#ifdef RASPI
// set volume on raspi using alsamixer
QProcess::execute("amixer -q -M sset PCM " + QString::number(volume * 100, 'f', 0) + "%");
#else
this->soundEffect->setVolume(volume); this->soundEffect->setVolume(volume);
#endif
// load // load
this->soundEffect->setSource(this->soundFiles[sound]["path"].toString()); this->soundEffect->setSource(this->soundFiles[sound]["path"].toString());