QTMPlayer is the heart of QTMPlay -- a 'media abstraction module'. The idea of it is to allow several forms of media (mostly tracker songs) to be accessed under one common interface. The interface is similar in style to that of the QTMTracker module (© Stephen Harrison; Phoenix of Quantum), due to the fact that originally the program for which QTMPlayer was written only used the QTMTracker module. It also provides a carousel, which has features to change songs even under a single-tasking environment (eg. playing games). This I believe is a first for the Acorn scene.
How it works
QTMPlayer itself plays no music; all the functionality is provided by small "veneers" that sit between QTMPlayer's SWI interface and the interface of the actual player module. Anyone can write these veneers, and full documentation is supplied for people that want to. The format has been left open-ended enough to allow things as diverse as CDs and MIDI files to be supported via the normal set of SWIs. Note that QTMPlayer plays all its songs in dynamic area or on pre-RiscPC machines in the RMA.
The end result of this module is that anyone wanting to write a front-end can via one common set of SWIs access an unlimited number of different formats. Indeed, that is why the QTMPlay program uses QTMPlayer as its effective play module.
You can read various documents about QTMPlayer:
Note that QTMPlayer is subject to the normal terms of freeware software, except that any authors wishing to use it in their own programs must contact me first for permission. I reserve the right to levy a charge (yeah... like it'll ever get that big :-) for the use of QTMPlayer in commercial programs.
If you wish to write a layer, and need some help or example source code, don't hesitate to contact me.