FlodXM – Please help test this AS3 XM player

Updated: 29th September – source code now released!

Christian Corti the developer of Flod, the most accurate SoundTracker replay library for AS3 is back. This time with FlodXM. As the title implies this is a FastTracker 2 (XM format) player written in pure AS3. Fast Tracker and later FT2 was created by legendary demosceners Mr. H and Vogue of Triton (now Starbreeze Studios). XM format music was popular in the 90s and used in many commercial games including Unreal and Deus Ex, as well as widely in the demoscene.

FlodXm brings this power to AS3, and while it’s nothing short of incredible we want to make it even better!

We really need your help to test it. Please throw as many XM files at it as you can – the more esoteric and obscure the better! Christian really wants to support all of the various effects FastTracker has, including those created as a result of bugs in the original tracker code. So the more files we playback the better. FlodXM is embedded below after the jump, along with a File Upload form.

If you find something that breaks please use this to send us the track! We’ll only use your email address to get back to you if there’s a problem with the file. The form only takes files up to 2MB, if you need to send larger please use rdavey@gmail.com

[contact-form-7 id="2383" title="FlodXM Test 1"]

If you’d rather download FlodXM to test offline then grab this zip, it includes a couple of XM files so you can hear it in action should you be curious :)

Update 29th September: Christian has given me permission to add the source to FlodXM into github, which I’ve now done. So you can grab the latest build (Alpha 3) from https://github.com/photonstorm/FlodXM - feel free to work on this, add your own changes, fork it, etc.

Posted on September 15th 2011 at 12:25 am by .
View more posts in Flod. Follow responses via the RSS 2.0 feed.


22 Responses

Leave a comment
  • September 17th 2011 at 12:27 am

    Hey guys. I couldn’t get the file attachment to work, so I’ll post this here.

    First of all, thank you for making this. I’ve been looking for an XM player to use in Flash games for a while, but most of the projects I’ve seen looked dead. I love how Flod works, so I’m excited about this :)

    I made a quick test song to demonstrate the bugs I’ve found so far. They were created with MilkyTracker (which supposedly tries to be as close to FT2 as possible):

    - 3xx doesn’t slide notes or retrigger envelopes
    - EDx doesn’t delay notes
    - Kxx cuts note immediately, not after X number of ticks.

    http://dl.dropbox.com/u/3125554/flodxmtest.xm

  • Christian Corti
    September 17th 2011 at 4:01 am

    EDx and Kxx are not yet implemented, 3xx should work fine so I will take a look at your module and I’ll let you know…
    Thanks

  • September 17th 2011 at 3:16 pm

    Great achievement! Can’t wait until this is available to the public, the soundtrack for my current project is made in MilkyTracker, so the arrival of an XM playback library for Flash is fantastic! :D
    Many songs I’ve tried so far have worked perfectly, here’s a couple which didn’t play that well:

    Dubmood – Cydonian Sky
    http://modarchive.org/module.php?36546
    Mostly accurate, but the portamento effects aren’t working. This is noticeable in the bass at the start, and in the high pitched noise which should bend down quickly instead of staying at one note.

    Raina – Cyberculosis:
    http://modarchive.org/module.php?165308
    This uses Rxy on a noise sample to make the hi-hats. According the Milky docs ( http://milkytracker.org/docs/MilkyTracker.html#fxRxy ) the effect is notoriously dodgy. Even the popular MikMod library gets this song wrong. Also there are a few pitch inaccuracies and other weird things, but I’m not quite sure what’s going on there.

    Anyways, awesome job so far! I’m really itching to try this out. :]

  • Christian Corti
    September 17th 2011 at 9:14 pm

    Tone portamento effects will be fixed in the next version while Rxy effect is not yet implemented; will come soon…

  • September 18th 2011 at 7:26 pm

    This is insanely awesome!
    Great work!

    *”we’re not worthy”-bow*

  • September 18th 2011 at 8:01 pm

    For anyone following by email a new FlodXM SWF was just uploaded with several fixes. Please re-test against this!

  • Christian Corti
    September 18th 2011 at 9:57 pm

    Rxy effect is enabled in the new swf :)

  • September 18th 2011 at 11:40 pm

    Retrig and portamento are working just right :)

    Hmm… I’m getting a weird bug with this song:

    http://dl.dropbox.com/u/3125554/pgil_stopme_test_2.xm

    At 4 seconds in (right at the start of the second pattern), the voice in track 5 goes out of sync. This doesn’t happen in FT2 or Milky Tracker. There’s nothing in that track except notes and the vibrato effect :/

  • September 24th 2011 at 4:04 pm

    Check your inbox please ;)
    btw, I used Flod once and very happy it is not forgotten – I had some head pain when I wrote some additional code to add the good timing and replay functionality to the Flod.

  • Christian Corti
    September 25th 2011 at 6:24 pm

    @focus
    what do you mean by “good timing and replay functionality”?
    everything you need is included in FlodPro, including the TimerEx class to keep the music and the patterns display in sync…
    Flash doesn’t allow you to have real-time sound output, the minimum buffer is 2048 bytes about 46.5ms

  • September 25th 2011 at 7:53 pm

    I remeber I changed something inside flodPro classes to make it return elapsed time more correctly, to make auto-retry and something more. You could check out player based on Flod I’m speaking about here: http://codestage.ru/flash/experiments/snow/

  • Christian Corti
    September 25th 2011 at 9:43 pm

    @focus
    not sure what you mean, the TimerEx class uses delta time to be as much correct as Flash allows you to be, and auto-retry I don’t know what it means…
    if you have modified code that you think it might be useful to everyone else feel free to send it to me

  • September 25th 2011 at 10:23 pm

    I found sources of that experiment and I see now how it was. I remember the TimerEx class was used in the Pro Player but I was fuzzied a bit with how it was used and looks like it was not so accurate so I tried to modify it first, but at least I just concentrated on the ModProcessorEx.duration() and coded all timing using it multiplied by 0.000022675737) So looks like final version works fine with original FlodPro sources..

  • Christian Corti
    September 26th 2011 at 1:37 am

    TimerEx class, as far as I know, is as much accurate as Flash can be, indeed its the same method used by 99% of the games loop out there. Flod used to work in real-time in Flash 10 beta because the lower buffer was 512 bytes but unfortunately Adobe raised the lower limit to 2048 bytes in the final version :(

  • September 26th 2011 at 1:53 am

    Thanks for your explanation! Anyway, Flod is great and it was best at mod playing available in as3 that days, not sure about today – didn’t tracked any changes in this area more then year already I think.

  • September 26th 2011 at 2:11 am

    I follow closely what is going on “outside of flod” and there’s nothing better yet. To be honest I’ve not seen any good movement in this area for a long time, with the exception of FlodXM of course.

  • September 26th 2011 at 2:23 am

    Ah :-/ I should mention here really nice and proper chiptunes player by UnitZeroOne, Alchemy driven ( http://www.unitzeroone.com/labs/flashModPlug/ ), but, unfortunately, Ralph didn’t shared it’s sources so all I was able to do with it is just grab swf and use it on my site passing a custom playlist and listen for any favorite chiptunes (mod,xm) anywhere, but not to change it’s visual apperience and features(

  • September 26th 2011 at 10:27 am

    The problem I find with most players is that often they are just ports of existing replay routs, most of which aren’t feature complete / as accurate as they should be! Christian has done so many file formats now that flod is getting pretty impressive regardless of being in AS3 – I just wish he’d settle down and release the whole lot in one mega package and draw a line under it :)

  • September 26th 2011 at 10:48 am

    Certainly! Have one player to play many chiptune formats in as3 natively – that’s awesome! btw, cool mobile site theme here, looks light and nice!)

  • Christian Corti
    September 26th 2011 at 1:51 pm

    @focus
    I’ve been trying to download the chip tunes archive but I get a 404 page…
    any other working links?

  • September 26th 2011 at 1:58 pm

    Ouch :-/ please, remove /html/ from that link. Sorry, I forgot to do it myself.

  • Christian Corti
    September 26th 2011 at 7:00 pm

    got it, thanks

Make yourself heard