WohlSoft / SDL-Mixer-X

SDL Mixer X (Or "MixerX" shortly) - An audio mixer library based on the SDL library, a fork of SDL_mixer
https://wohlsoft.github.io/SDL-Mixer-X/
Other
105 stars 26 forks source link

Update GME? #50

Closed LoveBodhi closed 2 years ago

LoveBodhi commented 2 years ago

NSF (8-bit chiptune, Famistudio doable) is only supports N163, VRC6 and S5B. Other version of GME may supports other FC chips like FDS, MMC5, etc...?

https://www.bilibili.com/video/BV1wf4y1T7rk

Wohlstand commented 2 years ago

That's a thing to report here: https://bitbucket.org/mpyne/game-music-emu/wiki/Home (the official repository for GME library that is used at me here)

system64MC commented 2 years ago

I found this fork of GameMusicEmu https://github.com/wyatt8740/Game_Music_Emu/ which seems to support FDS, MMC5 and VRC7. It also seems to support the OPLL (used in MSX-Music and the Japanese Master System's FM Unit), YM2151 (Sharp x68000, many arcade boards, also known as OPM), SEGA PCM, YM2608 (used in PC9801, also known as OPNA), OPL3 and more. I think it would be interesting to give it a try to this fork. Sadly, I don't know how to replace the MixerX' GME with this one.

Wohlstand commented 2 years ago

@system64MC, the main problem is that it is possibly very outdated compared to the main one (maintained by Michael Pyne). There is a recent fork of @kode54 https://bitbucket.org/kode54/game-music-emu/commits/ which is very suitable for this case, however, it has an unsolved problem against tempo changes for the updated SPC player. I have the task to resolve this as fast as possible. I have some trouble with my energy because of the ongoing damn at my main job (preparations for the showcase), and I want to resume all my major work on days off...

system64MC commented 2 years ago

I can understand. Using an outdated library can be a source of bugs and some other problems. So, this tempo bug should be fixed before adding any new systems. Once the SPC is fixed, it will be possible to add more systems. Also, Kode54's fork looks much more recent.

good luck for your work by the way.

kode54 commented 2 years ago

My fork is a fork of that other upstream, as opposed to my old mess that I use in the foo_gep plugin, which had vgmplay merged into it.

This new fork only has a few comfort changes added. If you can live without the SPC/SFM change, then by all means, use the mpyne repository for now.

Wohlstand commented 2 years ago

If you can live without the SPC/SFM change, then by all means, use the mpyne repository for now.

Or then go with a simpler way: just take updates related to NSF only (that adds missing chips support), and keep old SPC code that still works fine

Wohlstand commented 2 years ago

Okay, speaking about GME at AudioCodecs set, I took all @kode54's NSF related updates and they now work (I didn't port SPC-side updates because of tempo problem is still not resolved, will take time later)

system64MC commented 2 years ago

I also saw this fork seems to support the OPLL, so, is it the case for the Japanese SMS and the MSX-MUSIC? I will also try with a VRC7 tune

Edit : VRC7 works fine : https://cdn.discordapp.com/attachments/864099466582425602/952019848068755476/2022-03-12_02-45-05.mp4

Wohlstand commented 2 years ago

OPLL

There is the libEDMIDI (Emu De Midi), another synthesizer to play MIDI files

Wohlstand commented 2 years ago

Edit : VRC7 works fine :

Perfecto :) btw, could you send me some NSF files with these chips just for my collection and the ability to test more stuff around at my side?

freq-mod commented 2 years ago

There is the libEDMIDI

which is buggy and uneditable.

freq-mod commented 2 years ago

https://vgmrips.net/packs/pack/illusion-city-msx-turbo-r

system64MC commented 2 years ago

OPLL

There is the libEDMIDI (Emu De Midi), another synthesizer to play MIDI files

By OPLL, I meant this for Master System VGMs (VGMs coming from the SEGA Mark 3 model, which has OPLL built in) and KSS (For MSX2+ which has MSX-MUSIC and then OPLL built in)

Edit : VRC7 works fine :

Perfecto :) btw, could you send me some NSF files with these chips just for my collection and the ability to test more stuff around at my side?

I have an NSF which demonstrate VRC7, how can I send it on GitHub please?

Wohlstand commented 2 years ago

By OPLL, I meant this for Master System VGMs (VGMs coming from the SEGA Mark 3 model, which has OPLL built in) and KSS (For MSX2+ which has MSX-MUSIC and then OPLL built in)

That still didn't implement yet, but I could try some once upon or backport somebody's patch over the latest GME

I have an NSF which demonstrate VRC7, how can I send it on GitHub please?

Pack file(s) into ZIP and drop it here, should work

system64MC commented 2 years ago

VRC7.zip

Wohlstand commented 2 years ago

I guess, the main question (regarding to NSF chips) of this issue has been solved, and therefore, I'll close this.