10-30-2025, 06:58 AM
I did make a few changes - some bigger than others 
I combined the vgmplayer and vgmdriver source files, just for convenience
I also dropped Play_X_Times() in favour of Play_Once() - I don't really see a use-case for playing a tune 2x, 3x etc, it's either one and done or loop indefinetly for me - and I've gone backwards and forwards on whether to force a stop at the end of playback. Honestly, I can't remember how I've left that exactly.
More fundamentally, I noticed there was some confusion in the source between different specs of the VGM spec. I think I've sorted those now - and one of the side effects of that is that I no longer have to manually set the loop point in the play_BGM() functions. Weirdly, SFX work better with the header stripped, and BGM works better with it still in place - but I haven't really had a chance to investigate that further, it shouldn't really make a difference either way.
There are still some things that don't work properly, if at all - if there's too much in the noise channel, then I get a bunch of random squeaks and squalls, and samples aren't supported in the VGM format as far as I can tell?
I've been concentrating on getting the games out of the door, but I can put a revised version of your demo project together in the next couple of weeks if you'd like?
I still get slightly jarring stops/starts when i switch music - it can overtake itself I think. I've been considering whether to set up a queuing system, so rather than just having one tune in memory at a time, I can set up a "play this next" array, and switch that in. Haven't really had a chance to think about that properly yet.
My music guy tells me he has to put in lots of "sshhh" effects in to avoid feedback, but I guess that's just inevitable - and we have quite often forgotten to put the FF99 block in Furnace to "end" the song - especially problematic in SFX
NOW, SAYING ALL THAT...
Sorry, if any of that comes across as negative - this lib has been utterly transformative in actually filling in the last couple of gaps of my dev process. Honestly, can't thank you enough for taking the time to put it together

I combined the vgmplayer and vgmdriver source files, just for convenience
I also dropped Play_X_Times() in favour of Play_Once() - I don't really see a use-case for playing a tune 2x, 3x etc, it's either one and done or loop indefinetly for me - and I've gone backwards and forwards on whether to force a stop at the end of playback. Honestly, I can't remember how I've left that exactly.
More fundamentally, I noticed there was some confusion in the source between different specs of the VGM spec. I think I've sorted those now - and one of the side effects of that is that I no longer have to manually set the loop point in the play_BGM() functions. Weirdly, SFX work better with the header stripped, and BGM works better with it still in place - but I haven't really had a chance to investigate that further, it shouldn't really make a difference either way.
There are still some things that don't work properly, if at all - if there's too much in the noise channel, then I get a bunch of random squeaks and squalls, and samples aren't supported in the VGM format as far as I can tell?
I've been concentrating on getting the games out of the door, but I can put a revised version of your demo project together in the next couple of weeks if you'd like?
I still get slightly jarring stops/starts when i switch music - it can overtake itself I think. I've been considering whether to set up a queuing system, so rather than just having one tune in memory at a time, I can set up a "play this next" array, and switch that in. Haven't really had a chance to think about that properly yet.
My music guy tells me he has to put in lots of "sshhh" effects in to avoid feedback, but I guess that's just inevitable - and we have quite often forgotten to put the FF99 block in Furnace to "end" the song - especially problematic in SFX
NOW, SAYING ALL THAT...
Sorry, if any of that comes across as negative - this lib has been utterly transformative in actually filling in the last couple of gaps of my dev process. Honestly, can't thank you enough for taking the time to put it together

