libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.09k stars 1.81k forks source link

(Audio) MIDI doesn't start until fullscreen toggle #9332

Open phly95 opened 5 years ago

phly95 commented 5 years ago

Description

On Windows 10 using Retroarch/Libretro, I started Touhou 2: Story of Eastern Wonderland, and when switching from FM music to MIDI music, it stays silent, though toggling fullscreen with F gets the MIDI started (with incorrect instruments since the song started from the middle, which is fixed by starting a new song) Also, the problem comes back when you die and are booted to the main menu.

I also tested Doom with DOSbox and have the same problem, so it seems like a RetroArch Bug.

Expected behavior

MIDI just plays when told to

Actual behavior

MIDI doesn't play until pressing F to enable or disable fullscreen, and this workaround only works if MIDI music is currently playing.

Steps to reproduce the bug

  1. On windows 10, use Neko Project II kai core
  2. open TH02.hdi as "content"
  3. You may want to speed up the CPU clock multiplier to 52 or so in core settings
  4. in the game menu, select "Option" then use the right and left arrows to select MIDI
  5. Music is stopped until pressing F (without game focus mode)

Bisect Results

I currently have Sound Canvas VA installed and am using loopMIDI, SAVIhost, and MIDIMapper Configurator based partially on Phil's Computer Lab Sound Canvas instructions https://www.youtube.com/watch?v=WumRboSfn90 (except the MIDImapper part), though I'm not sure this has anything to do with my issue.

I have tried using the Microsoft GS Wavetable, but that has the same problem.

MIDI plays fine in Windows Media Player with Sound Canvas VA as well as Microsoft GS.

Version/Commit

You can find this information under Information/System Information

Environment information

original bug: https://github.com/AZO234/NP2kai/issues/73

sonninnos commented 2 years ago

I'm unable to reproduce this with Doom and Dosbox on W10. Any steps/hints? It does leave sustained notes when entering the menu when menu-pause is enabled, but that is peanuts compared to something that needs a fullscreen cycle.