|
From: <Do...@as...> - 2000-06-05 14:09:42
|
Over the past few days I have been implementing S3M support into the IMF system. To ensure that the output is good I have also been implementing many of the extra effects that are needed by many of my test tunes. Most of this has now been finished and I am pleased to announce that reasonable S3M support is now in. A few stability issues have arisen and many bug fixes have been put in place. It will still take a few days for me to make the system stable after which I will upload the IMF module to SourceForge as a preview test version in the hope that I can get people to start testing IMF for problems and try to find some areas that really need some work. XM support may start getting implemented soon as well. Once this is in IMF will be useful to developers. IT is still far to complex to implement at the moment and until MOD, S3M and XM are running without problems and with accurate audio output IT will not be implemented (at least that's what I'm saying at the moment). Alternative formats may get working implementations over the next few weeks but no promises. It depends on the quality of their documentation and whether or not I have to adjust my internal architecture to accomodate them. As IMF evolves some issues have started to arise: * Compatibility - ensuring what I've implemented works * Stability - ensuring that no valid music file can crash IMF * Accuracy - ensuring that the audio matches the output of the original player * Speed - making things run faster Speed has become a particular concern of mine as it results in high CPU use for the end developer and makes testing slower as I have to wait longer for file generation. Mixing is going to be a universal issue so it would be useful if we could all research and develop this code together. I would be grateful for a few days help on optimizing the IMF mixing core. One of my main problems is moving the ANSI C code over to an alternative mixing system so that it can share the same tracking variables as the asm MMX code I will be putting in. Generating output audio of 44.1Khz, 16-bit, mono, filtered for INSIDE.S3M an 8 channel S3M module I get the follow results in terms of estimated CPU usage for real-time playback from two compilers: Visual C++ compiler - 32% Intel C++ compiler - 22% This is very poor performance and totally unusable by the intended audience and needs some serious optimizaitons. Anyway I must go now. Doug |