attached here is an alpha release of a program i am working on.
download (13/09/2009, release 1):
eMod is being made with a vision to provide several tools to work with music modules of any format, across multiple platforms (amiga included of course!).
for now, only the player tool has been implemented; other tools will include a ripper, editor/sequencer, a formats 'encyclopedia', repair tool, convertor, and some other stuff. it's been WIP for about a year. i'm thinking about releasing it as shareware but most probably it will become open source upon the first stable release.
this alpha release implements music playback for four amiga formats; future composer 1.0-1.3, future composer 1.4, delta music 2.x, and protracker 4-channel modules.
i would really be greatful if you can help me please with some testing and feedback on the developments so far.
but most importantly.. tell me what you can suggest for the future.
eventually i aim to provide this thing for wider public scrutiny.. but for now, i just want to show it to my fellow amiga lovers
for now (this will change in the future), i am relying heavily on Windows MFC and the XAudio2 API, and so the program is compiled only for windows; sorry to linux/mac/os4 users! if you can dual-boot, please do so, just for 15 minutes, to give my work a tryout
what's in the box
- the application executable
- four module format plugin dll's
- eight example modules.
module credits (original composer):
wonderland-bbs.dm2 - Sten Lysholm Larsen
the last v8.dm2 - Rob Hubbard
astaroth 1.smod - Jochen Hippel
future 10 jump'n'roll.smod - Libi in Paradize
classic.fc - ???
hippel paradox intro.fc - Jochen Hippel
occ-san-geen.mod - Tomas Dahlgren
those three.mod - Tor Bernhard Gausen
what you will see
- direct-x march 2009 release
- a fairly fast cpu
to date i have worked on three plugin tool-windows. you will see them when you load a module. they are not particularly nice to look at, but they work well i think.
about the design
the eMod application itself was designed from the group-up as a program which will define only a skeletal framework to accomodate plugins (dll plugins and new window subclasses) - this is because there are hundreds of possible types of files that this program will need to work with; most of them i have no idea about yet, because i've not studied them, or not even heard about them. i believe my vision is possible, and up to now the framework has worked very well i think. hoever, plugins in the future will require changes to the framework.
eMod is being written in c++ with some asm, using VS2008 for the ide.
the amiga plugins are being written in c++ and 680x0 asm.
future plugins for other emulated processor platforms will require asm written for those processors.
what's expected in this alpha release
what's not expected
- thread deadlocks - it's important to let me know of any error messages you get about this please
- modules not working properly/not sounding like they should - VERY important that you tell me about this please
- possible compatibility issues between different versions of Windows
- possible exception errors if corrupt modules are loaded
- slow display updates with older cpu's
what i'm aware of
- memory leaks - i have been very careful to take care of all resources/allocations
- crashes/deadlocks (aside from the above) - i have done my very best to make sure i don't cause problems on your machines. on my own machine (vista ultimate 64-bit, dual-core 4ghz, 4gb ddr3 ram) and a test machine (xp corp pro 32-bit, single core 1.6ghz, 1gb sd-ram), there have been no crashes after about 3 hours intensive testing today and yesterday. if any crashes do occur, please let me know about these urgently, with as much info as possible!
- i have checked the contents of my upload with Norton IS 2008
- the application is quite memory-hungry - i have designed the app with mostly dynamic memory allocation, but accuracy and speed (most important, yes?) does demand a lot of memory resources. i believe 150mb memory use is an upper limit i should set for the entire application, inclusive of all plugins and further developments in the future. would you all agree this is reasonable? let me know
- the application doesn't do much/it's not all that great compared to deliplayer or UADE - i believe the scope of eMod is wider than other tools available for music modules, but admittedly this alpha release is really just to get your input on the feel/design, to check stability of the sound engine, and to basically get the thing out there at long last. i work full-time (in a shit job) and i have a family to take responsibility for, so my time resources are quite limited. i work around 2 hours on eMod each day, most days of the week. the application has a broad infrastructure for plugins and addons, so community development is what may eventually drive it.
- the gui is quite 'bloated' - i like a tight gui myself, but for now i have made things for functionality rather than visual appeal or conservation of space. i have tested eMod on low resolutions, and i hope i have catered for limited screen space.
what's coming up in the next alpha releases
what's not coming up
- implementing the beginnings of the other tools - it will rip/convert/repair/edit etc
- some more formats - already WIP are; hippel amiga/hippel st/sonic arranger/fast-tracker/c64 sid
- implementing the beginnings of the encyclopedia - in-depth info about the formats/module data structures/replayer method/old sources/info about format developers/release history.. etc etc.. anything i can get my hands on
- player: a new mixer type - giving control over each individual instrument, and also support for quadraphonic surround-sound
- player: more visual plugins - and possibly including support for things like milkdrop too
- vst/directx sound plugins - reverb/echo, compression, phase/flange, or whatever plugin you load
- midi support
- far better customization
support for sounds/music created in new generation sequencers like Cubase, Reason and Protools. there are far too many obstacles to think about support for this type of data.
todo list, suggested by eab users
- improve seek time - reports that seeking to random points in the music takes too long
- support for the rewire protocol - to make it possible to use eMod as input/output to/from any other app supporting rewire