First post, by Wohlstand
- Rank
- Newbie
Hello!
It's my reorganizing of ADLMIDI's code into the library to use it with my game engine (which I developing).
Library is designed like other music decoding libraries: you are opening a MIDI-file with this library, setting some settings by library functions and then fetching 16-bit PCM audio data which you can send to audio output interface or just store into WAV or into encoder of OGG, FLAC or MP3 (but MP3 I disliking myself, because audio is damaging hard and I hear that)
Source code of this library:
https://github.com/Wohlstand/libADLMIDI
SDL Mixer X - my fork of SDL Mixer v 2.0 library which I extended with additional decoders include ADLMIDI and GME, and where I fixed some internal bugs of the re-sampling, and as small addon I added support of loop-points for OGG files based on vorbis comments LOOPSTART and LOOPEND (also supported LOOPLENGTH to be compatible with RPG-Maker's OGGs where that also supported):
https://github.com/WohlSoft/SDL-Mixer-X
(Note: Building of this library is designed to building under CMake)
PGE MusPlay - GUI-application that uses this library:
http://wohlsoft.ru/docs/_laboratory/_Builds/w … y-dev-win32.zip
Just drop any MIDI-file into this application and choice any available bank (but toggling of deep tremolo/vibrato/adlib drums mode/scalable modulation flags requires you to press "Stop" then "Play" to take changes. I think to fix that to allow hot-toggling of those flags while playing without forcing you to restart music playing). This application made for my same game engine project as too to preview musics "like in game" to check are loops are added into music files correctly