From 61ab0faab81646ed9ba4287dd4f130ddd4b87b48 Mon Sep 17 00:00:00 2001 From: Sepalani Date: Sun, 1 Sep 2024 14:00:56 +0400 Subject: [PATCH] Config: Rename MAIN_WII_SPEAK_CONNECTED to MAIN_WII_SPEAK_MUTED --- .../features/settings/model/BooleanSetting.kt | 6 +++--- .../settings/ui/SettingsFragmentPresenter.kt | 6 +++--- .../Android/app/src/main/res/values/strings.xml | 2 +- Source/Core/Core/Config/MainSettings.cpp | 3 +-- Source/Core/Core/Config/MainSettings.h | 2 +- Source/Core/Core/IOS/USB/Emulated/Microphone.cpp | 4 ++-- Source/Core/Core/IOS/USB/Emulated/WiiSpeak.cpp | 15 --------------- Source/Core/Core/IOS/USB/Emulated/WiiSpeak.h | 1 - .../Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.cpp | 13 ++++++------- .../Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.h | 2 +- 10 files changed, 18 insertions(+), 36 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt index 78795bb761..535e9b831f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt @@ -244,11 +244,11 @@ enum class BooleanSetting( "EmulateWiiSpeak", false ), - MAIN_WII_SPEAK_CONNECTED( + MAIN_WII_SPEAK_MUTED( Settings.FILE_DOLPHIN, Settings.SECTION_EMULATED_USB_DEVICES, - "WiiSpeakConnected", - false + "WiiSpeakMuted", + true ), MAIN_SHOW_GAME_TITLES( Settings.FILE_DOLPHIN, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index 91d1aac809..cdf5689343 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -905,10 +905,10 @@ class SettingsFragmentPresenter( ) ) sl.add( - InvertedSwitchSetting( + SwitchSetting( context, - BooleanSetting.MAIN_WII_SPEAK_CONNECTED, - R.string.disconnect_wii_speak, + BooleanSetting.MAIN_WII_SPEAK_MUTED, + R.string.mute_wii_speak, 0 ) ) diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index dd3e1dcb31..c9b0cdff77 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -945,7 +945,7 @@ It can efficiently compress both junk data and encrypted Wii data. Please select a compatible figure file Wii Speak - Mute Wii Speak + Mute Wii Speak Missing Microphone Permission Wii Speak emulation requires microphone permission. You might need to restart the game for the permission to be effective. diff --git a/Source/Core/Core/Config/MainSettings.cpp b/Source/Core/Core/Config/MainSettings.cpp index 6555f20f17..6e782fdb4e 100644 --- a/Source/Core/Core/Config/MainSettings.cpp +++ b/Source/Core/Core/Config/MainSettings.cpp @@ -600,8 +600,7 @@ const Info MAIN_EMULATE_WII_SPEAK{{System::Main, "EmulatedUSBDevices", "Em const Info MAIN_WII_SPEAK_MICROPHONE{ {System::Main, "EmulatedUSBDevices", "WiiSpeakMicrophone"}, ""}; -const Info MAIN_WII_SPEAK_CONNECTED{{System::Main, "EmulatedUSBDevices", "WiiSpeakConnected"}, - false}; +const Info MAIN_WII_SPEAK_MUTED{{System::Main, "EmulatedUSBDevices", "WiiSpeakMuted"}, true}; // The reason we need this function is because some memory card code // expects to get a non-NTSC-K region even if we're emulating an NTSC-K Wii. diff --git a/Source/Core/Core/Config/MainSettings.h b/Source/Core/Core/Config/MainSettings.h index 057de249b1..add214340b 100644 --- a/Source/Core/Core/Config/MainSettings.h +++ b/Source/Core/Core/Config/MainSettings.h @@ -364,7 +364,7 @@ extern const Info MAIN_EMULATE_SKYLANDER_PORTAL; extern const Info MAIN_EMULATE_INFINITY_BASE; extern const Info MAIN_EMULATE_WII_SPEAK; extern const Info MAIN_WII_SPEAK_MICROPHONE; -extern const Info MAIN_WII_SPEAK_CONNECTED; +extern const Info MAIN_WII_SPEAK_MUTED; // GameCube path utility functions diff --git a/Source/Core/Core/IOS/USB/Emulated/Microphone.cpp b/Source/Core/Core/IOS/USB/Emulated/Microphone.cpp index 8777221faa..4b7912ecfe 100644 --- a/Source/Core/Core/IOS/USB/Emulated/Microphone.cpp +++ b/Source/Core/Core/IOS/USB/Emulated/Microphone.cpp @@ -152,9 +152,9 @@ long Microphone::CubebDataCallback(cubeb_stream* stream, void* user_data, const if (Core::GetState(Core::System::GetInstance()) != Core::State::Running) return nframes; - // Skip data when HLE Wii Speak is not connected + // Skip data when HLE Wii Speak is muted // TODO: Update cubeb and use cubeb_stream_set_input_mute - if (!Config::Get(Config::MAIN_WII_SPEAK_CONNECTED)) + if (Config::Get(Config::MAIN_WII_SPEAK_MUTED)) return nframes; auto* mic = static_cast(user_data); diff --git a/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.cpp b/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.cpp index 70b9095dd1..aaea7a04dc 100644 --- a/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.cpp +++ b/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.cpp @@ -5,7 +5,6 @@ #include -#include "Core/Config/MainSettings.h" #include "Core/HW/Memmap.h" #include "Core/System.h" @@ -95,12 +94,6 @@ int WiiSpeak::SubmitTransfer(std::unique_ptr cmd) m_vid, m_pid, m_active_interface, cmd->request_type, cmd->request, cmd->value, cmd->index, cmd->length); - // Without a proper way to reconnect the emulated Wii Speak, - // this error after being raised prevents some games to use the microphone later. - // - // if (!IsMicrophoneConnected()) - // return IPC_ENOENT; - switch (cmd->request_type << 8 | cmd->request) { case USBHDR(DIR_DEVICE2HOST, TYPE_STANDARD, REC_INTERFACE, REQUEST_GET_INTERFACE): @@ -163,9 +156,6 @@ int WiiSpeak::SubmitTransfer(std::unique_ptr cmd) int WiiSpeak::SubmitTransfer(std::unique_ptr cmd) { - // if (!IsMicrophoneConnected()) - // return IPC_ENOENT; - auto& system = cmd->GetEmulationKernel().GetSystem(); auto& memory = system.GetMemory(); @@ -409,9 +399,4 @@ void WiiSpeak::GetRegister(const std::unique_ptr& cmd) const break; } } - -bool WiiSpeak::IsMicrophoneConnected() const -{ - return Config::Get(Config::MAIN_WII_SPEAK_CONNECTED); -} } // namespace IOS::HLE::USB diff --git a/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.h b/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.h index 3546d06851..9d620a97b1 100644 --- a/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.h +++ b/Source/Core/Core/IOS/USB/Emulated/WiiSpeak.h @@ -76,7 +76,6 @@ private: void GetRegister(const std::unique_ptr& cmd) const; void SetRegister(const std::unique_ptr& cmd); - bool IsMicrophoneConnected() const; const u16 m_vid = 0x057E; const u16 m_pid = 0x0308; diff --git a/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.cpp b/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.cpp index ac01503d04..23db58601d 100644 --- a/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.cpp +++ b/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.cpp @@ -57,11 +57,10 @@ void WiiSpeakWindow::CreateMainWindow() auto* config_group = new QGroupBox(tr("Microphone Configuration")); auto* config_layout = new QHBoxLayout(); - auto checkbox_mic_connected = new QCheckBox(tr("Connect"), this); - checkbox_mic_connected->setChecked(Config::Get(Config::MAIN_WII_SPEAK_CONNECTED)); - connect(checkbox_mic_connected, &QCheckBox::toggled, this, - &WiiSpeakWindow::SetWiiSpeakConnectionState); - config_layout->addWidget(checkbox_mic_connected); + auto checkbox_mic_muted = new QCheckBox(tr("Mute"), this); + checkbox_mic_muted->setChecked(Config::Get(Config::MAIN_WII_SPEAK_MUTED)); + connect(checkbox_mic_muted, &QCheckBox::toggled, this, &WiiSpeakWindow::SetWiiSpeakMuted); + config_layout->addWidget(checkbox_mic_muted); m_combobox_microphones = new QComboBox(); #ifndef HAVE_CUBEB @@ -94,9 +93,9 @@ void WiiSpeakWindow::EmulateWiiSpeak(bool emulate) Config::SetBaseOrCurrent(Config::MAIN_EMULATE_WII_SPEAK, emulate); } -void WiiSpeakWindow::SetWiiSpeakConnectionState(bool connected) +void WiiSpeakWindow::SetWiiSpeakMuted(bool muted) { - Config::SetBaseOrCurrent(Config::MAIN_WII_SPEAK_CONNECTED, connected); + Config::SetBaseOrCurrent(Config::MAIN_WII_SPEAK_MUTED, muted); } void WiiSpeakWindow::OnEmulationStateChanged(Core::State state) diff --git a/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.h b/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.h index 2da4887cc9..858e794dc3 100644 --- a/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.h +++ b/Source/Core/DolphinQt/EmulatedUSB/WiiSpeakWindow.h @@ -21,7 +21,7 @@ private: void CreateMainWindow(); void OnEmulationStateChanged(Core::State state); void EmulateWiiSpeak(bool emulate); - void SetWiiSpeakConnectionState(bool connected); + void SetWiiSpeakMuted(bool muted); void OnInputDeviceChange(); QCheckBox* m_checkbox_enabled;