Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hooked up the emulated Wiimote speaker. #978

Merged
merged 3 commits into from Sep 7, 2014

Conversation

skidau
Copy link
Contributor

@skidau skidau commented Sep 5, 2014

The Wiimotes are positioned as follows:
Wiimote 0 = Center
Wiimote 1 = Left
Wiimote 2 = Right
Wiimote 3 = Center

The Wiimote speaker output can be disabled via the "Enable Speaker Data" checkbox in the Wiimote settings.

@MayImilae
Copy link
Contributor

So, by "Hook up", this means the wiimote speaker can go to the sound mixer and thus the main system speakers, correct? So how is this for the user? If they use an emulated Wiimote, the wii remote sounds will go to the system speakers by default unless they disable the enabled by default "Enable Speaker Data" option? And they go to the Wii Remote speakers if Real Wiimote is used?

@skidau
Copy link
Contributor Author

skidau commented Sep 5, 2014

MaJoRoesch, right on all counts.

@MayImilae
Copy link
Contributor

You could have just said all of that in the description...

In a quasi-related note, I have a suggestion for another PR to go along with this. Remove "Enable Speaker Data" from default. With Real Wiimote it's annoyingly bad thanks to bluetooth limitations, and it causes problems on the MS bluetooth stack anyway. On Emu Wiimote, it would just be kind of weird if you aren't expecting it. (I hope you don't mind me sabotaging your PR skid, I've been meaning to bring this up for forever)

@JMC47
Copy link
Contributor

JMC47 commented Sep 5, 2014

This is an awesome idea, but it's lacking in a few ways.

1: Wouldn't it be cool to have the option to set a device for the Wiimote speaker data to go to? I think the biggest problem with this commit is the lack of configurability of where the speaker data is doing. I have headphones I could plug in or something, and if I could choose the audio output device, it'd be much more useful.
2: Could this option be done with real wiimotes too? I mean, the speaker data doesn't work well on the actual wiimotes, if we could reroute it to a secondary speaker device, that'd be cool. Dunno though, that's more of a pipedream than a real request.

It works as intended and is pretty nice, but honestly I can't get much use out of it because it's coming from my speakers, and kinda overlaps with regular audio. Still a +1 over not being able to emulate it at all.

@delroth
Copy link
Member

delroth commented Sep 5, 2014

FWIW I'm not a big fan of statically mapping the wiimotes to audio channels. I find it confusing and arbitrary.

@skidau
Copy link
Contributor Author

skidau commented Sep 5, 2014

MaJoRoesch, I'll update the description and make the Wiimote speaker disabled by default.

JMC47, I am not sure if the audio backends will allow the selection of more than one audio device. That would be great if that were possible. phire's idea of using stereo panning on an individual Wiimote basis is possible. The real wiimote code and emulated wiimote code is separate so we cannot route the audio from one to the other. It is a good idea but cannot be realised.

@shuffle2
Copy link
Contributor

shuffle2 commented Sep 5, 2014

cool :)

@skidau
Copy link
Contributor Author

skidau commented Sep 5, 2014

Have actioned the above comments with this commit:

Route the wiimote speaker to the sound mixer (the host system's speakers). Emulated Wiimote speaker sounds will go to the host system's speakers. Real Wiimotes will continue to use their own speaker for Wiimote speaker sounds. All Wiimote speaker sound can be disabled by unchecking the "Enable Speaker Data" option.

Each emulated Wiimote can have its speaker routed from left to right via the "Speaker Pan" setting in the emulated wiimote settings dialog. Use any value from -127 for leftmost to 127 for rightmost with 0 being the centre.

Added code in the InputConfig to use a spin control for non-boolean values.

Defaulted the setting of "Enable Speaker Data" to disabled.

@delroth
Copy link
Member

delroth commented Sep 5, 2014

The speaker pan thing is pretty awesome :) Best of both worlds.

@@ -911,19 +911,31 @@ ControlGroupBox::ControlGroupBox(ControllerEmu::ControlGroup* const group, wxWin
//options
for (auto& groupSetting : group->settings)
{
PadSettingCheckBox* setting_cbox = new PadSettingCheckBox(parent, groupSetting.get());
if (groupSetting.get()->is_iterate == true)
if (groupSetting.get()->high == 100)

This comment was marked as off-topic.

@shuffle2
Copy link
Contributor

shuffle2 commented Sep 6, 2014

@skidau please make the 100 a named constant somewhere and use that...and rebase while you're at it? :) can be merged then.

The Wiimotes are positioned as follows:
Wiimote 0 = Center
Wiimote 1 = Left
Wiimote 2 = Right
Wiimote 3 = Center

The Wiimote speaker output can be disabled via the "Enable Speaker Data" checkbox in the Wiimote settings.
…ers). Emulated Wiimote speaker sounds will go to the host system's speakers. Real Wiimotes will continue to use their own speaker for Wiimote speaker sounds. All Wiimote speaker sound can be disabled by unchecking the "Enable Speaker Data" option.

Each emulated Wiimote can have its speaker routed from left to right via the "Speaker Pan" setting in the emulated wiimote settings dialog.  Use any value from -127 for leftmost to 127 for rightmost with 0 being the centre.

Added code in the InputConfig to use a spin control for non-boolean values.

Defaulted the setting of "Enable Speaker Data" to disabled.
@skidau
Copy link
Contributor Author

skidau commented Sep 7, 2014

Have rebased and actioned the review comments. Please merge.

skidau added a commit that referenced this pull request Sep 7, 2014
Hooked up the emulated Wiimote speaker.
@skidau skidau merged commit d12d4a5 into dolphin-emu:master Sep 7, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
6 participants