The XL Engine is and will remain free, donations are purely optional but greatly appreciated.

Recent Comments

After some deliberation and suggestions, I am tackling midi playback a little differently this time around. The system midi players (like the Windows midi player) have issues and seem to be harder to configure in recent versions of Windows. While there is software available to help, such as VirtualMidiSynth, I don’t want to rely on users installing this software on their computer.

Instead the XL Engine will use software midi synth and support Gravis Ultrasound patches and Sound Fonts. In order to accomplish this I have integrated Wild Midi and am in the process of integrating FluidSynth. The release will come with default patches and fonts so people can hear good quality midi from the get go. Of course you will be able to download and use your own patches and sound fonts.

Setup is easy – just pick the format you want to use and select either the config file (for patches) or sf2 file and you are done. The libraries are statically linked with the engine, so no extra DLLs, downloads or installs to use.

In order to limit the dependencies and code size, audio drivers are being excluded from my build of fluidsynth – it will write raw audio which will be processed by the engine’s sound system, just like Wild Midi. Midi playback is also properly threaded to limit the burden on the main CPU.

Finally I would like to thank Brother Brick (a member of the forums) for suggesting Wild Midi – it is a great library for software midi playback. Unfortunately it does not – yet – have all of the features I want but it does a great job at what it has implemented. :D

7 Responses to “XL Engine Midi Playback”

  • HunterZ:

    Bummer, I have real MIDI synthesizers that I like to use with old games.

    ScummVM and DOSBox have figured out how to do this in a cross-platform manner even, so it can’t be an impossible task.

    • luciusDXL:

      I take it that you are not a fan of these libraries? Or sound fonts/patches in general? Somehow I didn’t realize what you meant, lol. Anyway I can look into expanding support to include hardware midi later, of course it is not impossible. :)- However I want options that improve the experience for most people first – at least for the initial Beta build.

  • Yogi:

    Lucius! Lucius! Lucius! Unstoooopable!!

  • Juan Valdez:

    I came back to check the blog for news and wam! There are a bunch of posts and some good progress.
    Keep up the good work man!

  • Bloodnet94:

    Lucius is the greatest
    Programer in the world.
    All other programers
    Program like little girls!

    Lucius number one
    At decoding XLengine RAM.
    All other programers
    Can’t even spell RAM! :)

    Keep it up Lucius. Can’t wait for the Beta 1 release!

  • ZiggyStar:

    Can’t wait to get my hands on beta 1!

  • Akratus:

    Hey Lucius. Just wanted to drop in and tell you there’s a great amount of people out there who really dig your work here. We at the rpgcodex really like what we’re seeing, and we’re a hateful cynical bunch so that really says something. Obviously you’ll get the real jubilant masses out once release comes around, but I just appreciate your work. So don’t rush it, and keep rocking on. Keeping the classic dreams alive.

Leave a Reply for Akratus

The XL Engine is and will remain free, donations are purely optional but greatly appreciated.