m-overlay icon indicating copy to clipboard operation
m-overlay copied to clipboard

Music stopped working

Open FaunoLabirintite opened this issue 3 years ago • 19 comments

Describe the bug I was using it to play Slippi with music yesterday, but today it simply started not to work. It hooks to Slippi Dolphin and all, but the songs just replay themselves before they even start.

Desktop (please complete the following information):

  • OS: Windows 10
  • Dolphin Version: Slippi 2.3.2

To Reproduce Steps to reproduce the behavior: Just open Slippi and M'overlay (the order doesn't matter) and use the debug to check that songs are looping eternally before anything is played.

Expected behavior Yesterday it was working fine.

Screenshots

Debug console output


[INFO  - 01:07:37] [DOLPHIN] Hooked

[DEBUG - 01:07:46] [DOLPHIN] Watching ram: 803D0000 [2000000]

[INFO  - 01:07:47] [DOLPHIN] Game: GALE01 revision 2

[INFO  - 01:07:47] [DOLPHIN] Loaded game config: GALE01-2

[INFO  - 01:07:47] [MEMORY] Mapped game memory structure

[DEBUG - 01:07:47] [MEMORY] [0x8046B6A5  = 0x00000000] match.playing = false

[DEBUG - 01:07:47] [MEMORY] [0x8046B6AE  = 0x00000000] match.finished = false

AL lib: (EE) ALCwasapiPlayback_mixerProc: Failed to get padding: 0x88890004

[DEBUG - 01:07:49] [MEMORY] [0x80479D30  = 0x00000028] menu.major = 40

[DEBUG - 01:07:49] [MEMORY] [0x80479D30  = 0x00000001] menu.major = 1

[DEBUG - 01:07:49] [RANDOM] Obtained seed "0x61286509" from the previous seed

[INFO  - 01:07:49] [MUSIC] Loaded 5 songs in "Melee/Menu Music"

[INFO  - 01:07:50] [MUSIC] Playing track #1 for menu

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying


[DEBUG - 01:07:50] [MUSIC] End of song reached, replaying

Additional context The last debug info repeats itself forever and ever.

FaunoLabirintite avatar Aug 27 '21 04:08 FaunoLabirintite

Did you change either the music in your songs folder, or your Dolphin audio settings?

ribbanya avatar Aug 27 '21 05:08 ribbanya

No, the only think I could think of was that I also downloaded Project Plus's Dolphin build: https://www.ssbwiki.com/Project%2B

Maybe that many Dolphin builds in the system "confused" M'overlay? I also use the regular Dolphin beta builds.

FaunoLabirintite avatar Aug 27 '21 05:08 FaunoLabirintite

Maybe project plus dolphin changed your audio backend to WASAPI?

bkacjios avatar Aug 27 '21 05:08 bkacjios

AL lib: (EE) ALCwasapiPlayback_mixerProc: Failed to get padding: 0x88890004

Yup, judging by the log, you have WASAPI enabled. WASAPI takes direct control over your audio device, so M'Overlay will fail to play any music.

bkacjios avatar Aug 27 '21 06:08 bkacjios

Oh, but every build is set to Cubeb. I even check the .ini file for the Slippi build and the audio backend is still Cubeb. What could be triggering that change when running the emulator?

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

Cubeb should be fine. There must be something else taking direct control over your audio device.

bkacjios avatar Aug 27 '21 06:08 bkacjios

There is a line (only on the regular and P + builds, it is absent from the Slippi one) that contains something related to WASAPI.

[DSP] EnableJIT = True DumpAudio = False DumpAudioSilent = False DumpUCode = False Backend = Cubeb Volume = 10 CaptureLog = False WASAPIDevice = default

The last one. Do you think it might be related?

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

I'm not really sure to be honest.

bkacjios avatar Aug 27 '21 06:08 bkacjios

I have my laptop connected to a TV via HDMI. Yesterday I was playing on the laptop, using its speakers. I'll check if that might have something to do with this tomorrow, maybe M'overlay or Slippi interacts with the devices in a different way, somehow.

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

It could be that dolphin is changing your audio device to something that isn't your default. If you have M'Overlay open when this change happens, it will probably freak out and break the audio.

Have you tried launching dolphin and opening melee and then opening M'Overlay after?

bkacjios avatar Aug 27 '21 06:08 bkacjios

Ok, I've changed to my laptop's speakers (actually, the audio jack, with an earphone) and it worked normally. Probably, that's it: Dolphin set my laptop speakers as default and doesn't recognize when I change the device to the TV.

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

Yeah, that would probably do it. Glad you figured it out.

bkacjios avatar Aug 27 '21 06:08 bkacjios

Is there a way to force a specific device either in Dolphin or M'Overlay?

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

It could be that dolphin is changing your audio device to something that isn't your default. If you have M'Overlay open when this change happens, it will probably freak out and break the audio.

Have you tried launching dolphin and opening melee and then opening M'Overlay after?

Oh, nevermind: Launching dolphin and opening meelee before opening M'Overlay fixes it. Thanks a million!

Edit: It only works if I don't go fullscreen

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

That's super strange. It just stops playing audio immediately, or if you alt tab does it start playing again?

bkacjios avatar Aug 27 '21 06:08 bkacjios

If I go Fullscreen, after opening Meelee, the audio stops immediately. However, if I set dolphin to Borderless fullscreen, it works, but it is a little finicky (if I alt + tab it can stop again). So, the fix for me is:

Set Slippi Dolphin not to start in Fullscreen. Check Borderless Fullscreen. Open Melee. Open M'overlay Alt + Enter so Dolphin goes Fullscreen (Borderless).

It isn't ideal because Borderless Fullcreen supposedly adds more latency, but I prefer having music.

FaunoLabirintite avatar Aug 27 '21 06:08 FaunoLabirintite

What audio backend are you using in Dolphin? (Config > Audio > Backend Settings)

Edit: Sorry, didn't read the whole post because I just woke up.

You can try changing the backend to OpenAL or something. If that doesn't work, go to the audio icon in Windows 10 system tray, right-click it, go to "Open Sound settings," go to "App volume and device preferences" at the bottom, and try assigning M'Overlay to a specific device (like your laptop speakers). This may prevent it from breaking.

ribbanya avatar Aug 27 '21 08:08 ribbanya

I tried OpenAL and XAudio2 and it didn't work in Fullscreen. The Device preference fix didn't work either. Only Borderless Fullscreen seems to do the trick.

Edit: I did manage to win a fight, and I suck. Maybe Borderless Fullscreen is not that much worse as I thought it would.

FaunoLabirintite avatar Aug 27 '21 13:08 FaunoLabirintite

This could probably be fixed using C OpenAL calls. Seems kind of complicated, though.

https://github.com/kcat/openal-soft/issues/533 https://love2d.org/forums/viewtopic.php?t=89823

ribbanya avatar Aug 29 '21 04:08 ribbanya