Home News Demo Stuffs Game Stuffs Serious Stuffs Travel Reports Multimedia Humour

mxPlay 2.1.2

Ultimate Music Player?

This is getting to be an increasingly common story in Atari software development. A project starts with high hopes and happy dreams of a neat and finished end result. Only things don't turn out like that and the project is quietly dropped. Years later, the coder has second thoughts, blows the dust and tumbleweed off their source code and starts afresh. We've seen this notably with the rebirth of the 'Bad Mood' game engine. Mikro has also been at the rebirth potion, with his revival of the mxPlay project, previously abandoned several years ago.

From out of the ruins of mxPlay 1.0, Mikro discovered the magic of the portable XMP player, which seems to be able to cope with just about any obscure digital music format thrown at it. At that point, he resolved to port this to the Falcon, at least for the 68060 machines, with a Firebee version thrown in free of charge.

How many formats?!

To describe it in a bit more detail, the heart of the mxPlay application is the Extended Module Player, or XMP. This is a portable command-line module player. XMP plays over ninety mainstream and obscure module formats from the Amiga, Atari, Acorn, PC and others, including the classic Protracker (MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT). This has all been wrapped in a nice GEM shell by Mikro and placed firmly under the 'mxPlay' banner.

Also there are options for various platforms from standard Atari Falcon upward without a super fast CPU. We're mostly talking about the legacy v1.0 plugins for the '030, often DSP-dependant and sometimes not optimally stable. Standard mod files, Ace Tracker tunes, AON tunes, other Falcon specific mod files and .SND are all here. These include the classic Bitmaster DSP mod replay, Thomas of New Beat's Ace tracker replayer, Grauomf (.GT2) players, .MGT music, .the AON format and even .SND. These are all then combined under the mxPlayer shell, which was the original intent with version 1.0.

For higher end machines, such as the CT6x series, Firebee and the Aranym virtual machine, plug-ins specifically for these machines include 'Asap' for Atari 8-bit Pokey tunes. The real crowning achievement for the lucky high end users though is the 'extended' XMP plug-in, which as stated earlier on, has a bewildering range of well-known and obscure music formats from across many platforms at its beck and call.

This is all great and groovy, but we'd like to hear what it can do for us, Atari-wise. Here's their list and it's quite a good one.

Digital Tracker (MOD): FA04, FA06, FA08, Digital Tracker (DTM): 1.9, Flextrax (FLX) [effects not supported], Graoumf Tracker (GTK): GTK1, GTK4 (was described as unstable in main docs), Megatracker (MGT): 1.1, Octalyser multichannel (MOD): CD61, CD81, TCB Tracker (MOD): 'AN COOL.'

Well I think we can manage quite adequately with that. I've yet to be tempted by the extremely 'legacy' TCB Tracker right now though!

It works with Aranym too, once the replay has been set to the correct frequency on the Aranym config file (49170). There are no issues with replay speed, even with Impulse Tracker tunes.

With the 2.1 version, it also added MP3 playback from the 'mpg123' plug-in, which is a useful add-on even with the already available CT60 alternatives. For music starved Firebee owners, this is their first 'official' MP3 player.

Testing times!

For this initial batch of testing, my reference is a CT60 system - Mint 1.18 - 90 MHz and a CTPCI extended desktop.

I rediscovered an old favourite, the SH3 composed Graoumf Tracker tune 'Lordz'. A GTK 12 channel tune plays back better than 95% correctly and it is surprisingly stable. It also seems to be quite light on CPU usage at around 3% (whilst multitasking with making these notes!) The 8 Channel 'Blipno' tune deploys more in the way of effects and the CPU load goes to 11%.

Moving on to another format, the tune 'Inside-outside', an .XM module made by Drax plays back 32 channels and maxes at 17%. This varies and is generally less. Also it plays very nicely.

A big test was with Impulse Tracker tunes. 'Zerohard', all 31 channels of it tops out around 20%. However there were some issues with that tune skipping/stuttering near the start, but smoothing out later on? For information, this and other Impulse Tracker tunes played back without any flaws on MacAranym.

After a little more investigation, it turns out that Impulse takes up a sizeable chunk of modern systems and seems to be a CPU greedy format in general. Too much even for 060 class hardware. It also seems that the CT60 CPU meter can be fooled into giving false readings if overloaded?

On the other hand, another old favourite, 'World of Plastic', a classic Screamtracker tune sits happily at 3% of CPU and with and flawless playback.

Although it is not recommended, music through mxPlay in general seems to be happy to multitask within reason on an 060 or high end equivalent. There are areas to be careful of though, for example zView in full screen picture viewing stutters the tune.

One or two issues were encountered on the way.

Some initial issues with a premature termination of playback of some MP3 files, were solved after a few days of investigation between the writer and Mikro. It turned out the disputed sound files were probably not that well encoded on my part anyway, but still, the problem was taken care of.

The replay quality on a variety of tunes is more than satisfactory. The mpg123 plugin seems to flatter and enhance even poorer MP3's, where as FalcAmp harshly emphasises any quality problems with lower bit rate tunes. There is some cost to CPU time, but not as much as, say running Aniplayer with the DSP off.

There is no Ace Tracker replay from the XMP plugin. Thomas's player works on the CT60, but tends to crash after a couple of songs (non-fatally, and you can get mxPlay back.)

And on other systems?

We've done a little bit of checking out of mxPlay on lower powered Atari hardware too.

That ideal in-between machine, my Centurbo 2 plays back on the Atari/Falcon specific plugins, with one or two interesting exceptions. For example, it does try to replay mp3's with a great deal of stutter on the 50 MHz 030 with mpg123 in the building. XMP hates to be left out of things when it comes to certain other exotic formats. This can *almost* successfully play back old style Graoumf tracker tunes! It also makes a fair fist of Screamtracker tunes, with only a little slowness related skipping or stuttering. On the standard Falcon, you do get a warning dialogue to ram home the point that you've got a slow machine!

There seems to be return of the truncated playback issue with some mod files on the CT2 using the DSP Mod player. mxPlay also works with the MagiC O/S as well as from bare TOS, but this seems to kill off the Jinnee desktop. From my recollection of the .readme file, this was to be expected!

As for going right down to a standard Falcon. All the elements that worked with the Centurbo 2 are still here. The DSP Mod player works with an identical truncation issue as seen on the CT2.

A closer examination of the 'using.txt' revealed this snippet, which might be worth bearing in mind for further exploration of the prematurely ending playback issue.

3.1.8 Playtime

By clicking on the playtime you change time addition/substraction a la Winamp or XMMS. Please note that most of the plugins do not support time reporting so a hardcoded value is used (3 minutes). You can change this in mxplay.inf.

(Reviewer's note - Yup, seems to help changing that!)

The unstable on 060 Ace Tracker plugin manifested an occasional instability on 030, with muteness if the mouse was moved carelessly. I had to exit and restart mxPlay to get those tunes back.

The Twiddly stuff hidden underneath!

When you first run mxPlay, you have the option of selecting one of several skins to define the look and feel of the program. I've opted for something fairly minimalist in blue.

The primary controls are the standard video/tape player style buttons for loading, playing, stopping the tune etc. There is a volume control slider bar at the bottom. Play time and a rolling scroll text with information about the tune is shown in a display window. There is a selection of three buttons in the display window towards the left hand side. The first of these displays information about the tune. The second is a general info box about mxPlay. The third option goes into detail about the plugin currently in use, and can offer extra options to tweak the playback if these are available. To give a good example, the options of interpolation and surround sound for the Bitmaster DSP modfile player can be selected from here.

There are a number of keyboard shortcuts which I haven't been tempted to explore.

Better still, mxPlay supports lots of nice protocols, such as va_start, long file names and drag and drop. There is a playlist that you can set up if you choose.

The Ultimate Music Player?

Is this the best an Atarian can get, sonically speaking?

Well on the higher end systems, whether it be Aranym, CT6x or Firebee, mxPlay is a definite must have item for your machine. In the case of the Firebee, afaik there are no alternatives currently available. For the CT6x, it is also an essential application, especially for revisiting greatest hits from old trackers not supported by the 060. The MP3 replay offers a decent alternative to what's currently available without taking over the system completely.

For some formats, the only place to go is Aranym specified to use JIT processing, especially for those tricky Impulse Tracker tunes. Yes it does hurt a bit to find something that's 'too much' even for a 68060.

As for the lower end, maybe mxPlay is not quite so essential. It tidies up the plugins from mxPlayer 1.0 but does not offer anything that can't be duplicated elsewhere. At some point it may be worth exploring the XMP engine on something like a CT2, with some non-Atari exotic formats, that aren't as demanding as an .XM or S3M tune.

Anyway, it's a welcome revival from Mikro of a great project. I'd like to see what he's doing next!

CiH - For Mag! - Oct 2013.

Back to Serious Stuff.