A way to separate instruments in more formats? by Soulis at 7:44 PM EDT on March 19, 2016
Some plugins let you play with the different channels, like the VGM plugin for the MegaDrive music, NotSoFatso for NES, etc. Which is great because you can mute or play with the volume of each channel and mix them as you like.
But i haven't found a way to do the same thing with other formats like GSF for the GBA music files or USF for N64. Is something like this possible in these formats, or others as well?
Unfortunately, both of those formats do their own software mixing in the emulated code, so the only way to do channel muting would be to hook into the emulated code, which requires engine detection, or even per-game support.
Just a guess: Maybe some engines use dedicated hardware channels for each instrument (or a subset of instruments), which is easy for the emulator to toggle, but others multiplex instruments opportunistically onto whatever hardware channel is free when a note starts. With multiplexing the emulator would need some heuristics to determine what notes are to be considered as part of the same instrument/virtual channel/voice.
If it was with foo_gep, several versions were missing muting capability for the VGM format, since I hadn't implemented the overly complex logic of mapping a single unified muting mask to 32+ different chips that may or may not be enabled, depending on what was logged.