diff --git a/src/gb/core.c b/src/gb/core.c index a976b366c..a4819348a 100644 --- a/src/gb/core.c +++ b/src/gb/core.c @@ -70,7 +70,11 @@ static void _GBCoreLoadConfig(struct mCore* core, const struct mCoreConfig* conf UNUSED(config); struct GB* gb = core->board; - gb->audio.masterVolume = core->opts.volume; + if (core->opts.mute) { + gb->audio.masterVolume = 0; + } else { + gb->audio.masterVolume = core->opts.volume; + } gb->video.frameskip = core->opts.frameskip; } diff --git a/src/gba/core.c b/src/gba/core.c index cb2ff9571..db9d97398 100644 --- a/src/gba/core.c +++ b/src/gba/core.c @@ -77,7 +77,11 @@ static void _GBACoreSetSync(struct mCore* core, struct mCoreSync* sync) { static void _GBACoreLoadConfig(struct mCore* core, const struct mCoreConfig* config) { struct GBA* gba = core->board; - gba->audio.masterVolume = core->opts.volume; + if (core->opts.mute) { + gba->audio.masterVolume = 0; + } else { + gba->audio.masterVolume = core->opts.volume; + } gba->video.frameskip = core->opts.frameskip; #if !defined(MINIMAL_CORE) || MINIMAL_CORE < 2 diff --git a/src/platform/qt/GameController.cpp b/src/platform/qt/GameController.cpp index 503b3e469..f5ce3712d 100644 --- a/src/platform/qt/GameController.cpp +++ b/src/platform/qt/GameController.cpp @@ -848,12 +848,6 @@ void GameController::saveBackupState() { }); } -void GameController::setMute(bool mute) { - threadInterrupt(); - // TODO: Put back mute - threadContinue(); -} - void GameController::setTurbo(bool set, bool forced) { if (m_turboForced && !forced) { return; diff --git a/src/platform/qt/GameController.h b/src/platform/qt/GameController.h index d1baa5628..4b859e4f0 100644 --- a/src/platform/qt/GameController.h +++ b/src/platform/qt/GameController.h @@ -132,7 +132,6 @@ public slots: void saveState(int slot = 0); void loadBackupState(); void saveBackupState(); - void setMute(bool); void setTurbo(bool, bool forced = true); void setTurboSpeed(float ratio = -1); void setAVStream(mAVStream*); diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index 656e8bb0d..ed6c5ed93 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -1139,7 +1139,7 @@ void Window::setupMenu(QMenuBar* menubar) { ConfigOption* mute = m_config->addOption("mute"); mute->addBoolean(tr("Mute"), avMenu); mute->connect([this](const QVariant& value) { - m_controller->setMute(value.toBool()); + reloadConfig(); }, this); m_config->updateOption("mute");