Amp v2.02 (19th Apr 2003)

Written by David O'Shea.


 Thanks to

Not another "desktop tracker" program!?

Yes... !Amp is another music player. BUT, it's based on the PC program WinAmp. This means that you can use the hundreds of PC skins available to totally change the look. It has a compact layout, and can fold up into it's titlebar for when you're really short of desktop space!

Big version Small version

It's also really easy to park the window where you want it to be - it clings to the edges of the screen and the icon bar.


You need Window Manager 3.80 or later (nested window manager).

To use the MP3 player plugin, you need a StrongARM.


Skin browser window

In theory, you should be able to use any of the thousands of PC skins available, but in practice, not all work 100%. In most cases, this simply because ChangeFSI can't understand the BMP. The solution in this case is simply to find a program which does (you might have to resort to a PC) and reconvert the file to a proper BMP (or in fact any other format understood by ChangeFSI).

It is possible though that this is not the only reason, and if you feel that this is the case (eg you can load the offending BMP in ChangeFSI manually), then email me and let me know about it. I might ask you to send the skin so that I can investigate.

Anyhow, to install a skin, simply click 'Skin...' from the Amp menu, and then close the skin browser window with Adjust, or hold down SHIFT and double-click !Amp to open the application directory, then double-click on the 'Skins' directory. Now make a directory for the skin. This is the name the skin will have in the browser window. Put all the relevant BMPs and textfiles from the skin inside the new directory. (You can remove any DLL files, since these are x86 code.)

WARNING: Don't delete anything from the Original directory, since if a skin is broken or has bits missing, Amp will resort to this to replace bits.

Even if Amp is already running, the skin will be picked up next time you open the skin browser. Choose it and it will be converted to a spritefile called Skin inside in the same directory. Depending on your machine, either 256 or 16 million colours will be used. You can force one or the other by editing the application's !Run file. If you want to save space, you can delete the original BMPs, but I'd advise you to keep them just in case you want to swap between 256/16M colours later. They are also needed if you ever flush the browser preview file.

You can even use !Squash to compress the sprite file if you like! It'll be automatically unsquashed into RAM when you use it. If you have the 'Squash' app in your path (e.g. in Boot:Library, or you have run !Squash) then the skins will be automatically squashed just after being converted by ChangeFSI.


Amp works by using plug-ins to play everything. This means that it's easy to add another plug-in to play a new type of tracker, and if you can program yourself, you can easily write one without hacking about with the main program.

The current plug-ins are as follows (in various stages of completion):

 Midi  BASIC prog based on Linux playmidi sources
 Not the best if you're actually using the computer!
 matrixTracker  Uses matrixTRK (Michael Pohle & Marko Lukat)
 Kinda always repeats
 Audio CD  Supports track naming via CDDB
 Supports balance adjustment (assuming your drive does...)
 Digital Symphony  Uses DSymPlay (BASS)
 Supports repeat
 Audio MPEG  Uses AMPlayer (Thomas Olsson)
 Reads ID3 tags for the song name
 Coconizer  Uses CocoPlayer (Eduard Pfarr)
 STracker, STModule, TeqMusic  Uses QTMModule (Phoenix/QUANTUM)  Sound Sample Plugin  Uses PlayIt (Rick Hudson)
 Plays WAV, Armadeus, AudioWorks and more
 Supports balance
 XprMod Plugin  Uses XprMod (Skoe of Expression)
 Plays S3M, FastTracker
 Doesn't stop properly
 Position bar sometimes wobbles a bit
 TimPlayer Plugin  Uses TimPlayer (André Timmermans)
 Plays ImpulseTracker
 Always loops
 No channel info


Amp also supports playlists. These are basically text files which contain your favourite lists of tunes in whatever order you choose. You can easily edit the text file. Don't mess it up though - the program doesn't really like mangled lists!

You can currently drag a music file to the playlist window to add it, and double-click on an entry in the window to play it.

Drag a previously saved playlist to any Amp window (or the iconbar) and it'll try to load it as a playlist. If you save your playlist as !Amp.PlayList or Choices:Amp.PlayList then it will automatically be loaded every time.


You can quit the program without stopping the music. This means that Amp is still using memory after you quit it. If you are using dynamic areas, this is fine, since the area will be reused when you next load Amp and if you quit stopping the music, it will be removed then. However, if you are stuck with using the module area, it will leave a chunk (possibly quite large, depending on the song/plugin playing it) which you can never reclaim without resetting the machine. You have been warned!


v2.02 19th Apr 2003
Removed some compliation problems and recompiled for 32-bit.
Uses TimPlayer for more filetypes now, as it's 32-bit ok.
Made quitstop option actually work properly.
v2.01 Unreleased
Fixed playlist bug which caused the playlist to stop sometimes.
Improved the MIDI plugin a bit.
v2.00 14th May 2000
Totally re-written in C.
Now shows song time in the playlist window.
You can choose between time elapsed and time remaining.
It is now possible to reorder tracks in the playlist.
Windock between windows now works.
The dock distance is now adjustable.
The skin browser is improved.
Plugin change improved.
The control buttons in the playlist window work.
Scrollbar on playlist is better (doesn't get lost anymore).
Less memory usage/faster startup.
Fixed CTRL+0 which appeared in the options file.
No more spaces in saved playlist files.
Added "seek to" display.
Now uses MessageTrans for all text strings.
Finally stores playlist position/size and whether it was open or not.
You can now batch convert skins.
Added a command line tool for converting skins.
Now has plugin configuration protocol (currently only cd plugin uses it).
Masks out non-used wimp messages (should use less polls).
Uses separate balance sprites if available (flush any skins which have balance/nums_ex/font bmp files).
v1.13 26th September 1999
Now works on new RO4 format discs.
Uses Rick Hudson's PlayIt module for sample playing instead of ESP's SamplePlayer.
v1.12 15th August 1999
Now you can add your own entries to the CDDB database.
Fixed address exception with shuffle mode on an empty playlist.
Shuffle no longer always plays the first song first.
No longer chops the end of small mpegs. May also fix an address exception which sometimes occured with a playlist of mpegs.
v1.11 15th June 1999
Play with no active song now starts playlist.
Shuffle should now not repeat songs until they're all played.
Back now plays previous song played, even in shuffle mode.
Fixed shuffle related redraw bugs in playlist window.
v1.10 16th May 1999
Amp now uses lots less CPU time (with !TaskUsage anyway).
Fixed an ADRL I missed last time.
Fixed the address exception when selecting all with an empty playlist.
Playlist window bugfixes for sonicated2 skin.
Mouse click offset in playlist window fixed.
No longer crashes with skins which are too big.
Removed position bar trail from skins like "Fusion".
Balance slider now 'sticks' to the centre.
v1.09 19th April 1999
Fixed some always-on-top bugs.
Removed dependency on Darren Salt's BASIC assembler extender.
Amp now loads when you've no CDROM drives configured.
Hopefully fixed the get-rectangle bug when you try to stop an MP3.
Newer version of DSymPlay added.
v1.08 5th April 1999
Fixed numbering of playlist entries > 255.
Scrollbar in playlist shouldn't vanish anymore.
Last song in playlist is no longer half obscured.
Better window dragging.
Added Oscilliscope code for 256 colour modes.
Much reduced (halved) wimpslot at slight expense of loading time.
MP3 plugin now accepts underscore as an extension specifier (for CDs).
Playlist entries resized to fit letters with descenders properly.
You can now drag on a directory to queue all the files therein (recursively!).
Added AMPlayer MP3 plugin.
Much reduced idle CPU usage.
The 'Select All' button in the playlist window now works.
v1.07 14th March 1999
Finally figured out why the playlist kept stopping. Should be fixed now.
Fixed the "untickable" vis menu option.
Added some error checking to prevent the dmpa plugin from crashing.
Playlist can now have more than 76 entries (oops!)
Added the options window to the clutterbar.
v1.06 28th February 1999
More human friendly config file format.
Lots more ARM code. Though this currently means the program takes longer to load, it will eventually result in a smaller Wimp slot.
Fixed minibar sprite (was missing one pixel row) - flush your skins.
Fixed skins which replace the playlist.
Finally, a config window added.
Font in playlist window now reads colours and font from skin file.
Playlist entries now have numbers.
No more exceptions when you try to delete entries from an empty playlist.
Added some hotkeys for the playlist window (^X, cursor up and down).
Hopefully more reliable playlist (shouldn't fail to play next song anymore).
Fixed "Input focus window not found" error.
Updated TimPlayer module.
v1.05 5th February 1999
Fixed a 'Handle is either illegal or has been closed' error message.
Fixed problems reloading after a skin flush when original skin not selected.
Freezing bug when mini-window selected after doublesize toggle fixed.
Memory problem with 256 colour sprites fixed.
You can now delete files from the playlist! (No hotkeys yet though)
Playlist font changed to be more WinAmp like.
v1.04 31st January 1999
Fixed song name disappearing bug.
Added support for both S3M filetypes.
Oops, really fixed so that truncated skin filenames work on long filename filesystems.
Changed method of unpausing CD so it works with more setups.
Added resizing playlist window with scrollbar (still a bit dodgy).
Added TimPlayer for ImpulseTracker mods.
v1.03 11th January 1999
A bit of an overhaul - now lots more ARM code, including the player plugin subsystem.
Fixed dmpa's wimpslot.
Fixed menu clicks in the skin browser window.
Added XprMod plugin.
MP3s now die properly if you start a new one, even when just about to stop itself.
Fixed RMA code for skin preview window.
Skins can now be deleted from the preview window.
Fixed so that truncated skin filenames work on long filename filesystems.
Improved CD plugin.
Reduce idle CPU usage.
Improved the playlist window look.
Added shuffle (sort of).
v1.02 17th November 1998
New nice skin selection window.
Added the new (Winamp 2) basic skin.
You can now load and save playlists properly.
Allowed for skins in zip files (with SparkFS, etc) again (oops!).
Fixed the starting of a new MP3 before the old one is finished.
You can now quit without stopping the music.
Now reuses left over plugin buffer dynamic areas present when you reload the program.
Rearranged the internal directory structure a bit.
Fixed a bug whereby you could create multiple iconbar icons.
CD plugin now works on more drives and is quicker changing tracks.
Back and forward buttons now skip tracks on a CD.
Added balance (only affects CD plugin).
Removed claim of filetype AE7 (ARMovie) as this was causing problems with ARPlayer.
Fixed 'Player Module' error from FB1 (WAV plugin).
Other small tweaks.
v1.01 26th October 1998
Fixed a problem calling ChangeFSI.
Fixed "missing digits" problem.
Overhauled redraw code which fixes various flickering problems, and allows a double size window.
Clutterbar now works.
Fixed a small bug in skin conversion. This means old skins won't display properly, sorry!
CD no longer lists data tracks.
Added support for squashed skins.
Added limited ID3 tag support.
Improved this help file.
Added a sample player plugin (for 16 bit sound).
Various other improvements.
v1.00 11th October 1998
Playlist not fully working.
Plug-ins at various stages of development.
Shuffle not working.
Not much in the way of documentation.

Thanks to:

 Robert O'Sullivan, for his help, ideas (including the idea to write it in the first place!) and testing.
 Bernhard Ludewig for permission to use his sprites.
 James Reynolds for writing !Spectrum.
 Mike Gregory, Francis Chin, Robert Purchase, Laurent Domisse and all the other beta testers for their testing, encouragement and feedback.
 Darren Salt for writing ExtBasAsm.


 Email: (Home) (Work)
 Web Site: