m-overlay
m-overlay copied to clipboard
Music stopped working
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.
Did you change either the music in your songs folder, or your Dolphin audio settings?
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.
Maybe project plus dolphin changed your audio backend to WASAPI?
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.
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?
Cubeb should be fine. There must be something else taking direct control over your audio device.
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?
I'm not really sure to be honest.
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.
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?
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.
Yeah, that would probably do it. Glad you figured it out.
Is there a way to force a specific device either in Dolphin or M'Overlay?
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
That's super strange. It just stops playing audio immediately, or if you alt tab does it start playing again?
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.
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.
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.
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