mxPlay User's Manual ==================== 1.1 Introduction to mxPlay 1.0.0 -------------------------------- Phew... so it really happend... if you're reading this text it means our little child called mxPlay is finally released. Everything started with the one post on our local Atari list for Czech and Slovak Atari fans, where one guy has complained he isn't able to use great MegaPlayer under CT60 and that is bad there's no decent player for so many formats... Some guy on dhs.nu came with the idea to make plugins to FalcAMP, but it seems FalcAMP development is quite slow (I asked Frost about release date but he's hunting bugs so no release date is know yet :( ) and even no plugin API is known... Final 'ass-kick' was Xi's reply to my comment "Did you see the new GemAce and GemMod? They looks pretty nice!" in style "Yeah, that's nice, but hell, I don't want to have nice player for mods, nice player for ace songs and another nice one for mp3s.. I want one, good looking player with the playlist!". Oh yes, here it really started. After some discussion we came to the point "That's damn easy to make it! We have many free replay routines for various formats, we'll make some lame gem interface to it, hmm, maybe playlist will be a little bit tricky, but this could be done in 1-2 weeks!". So, 3 months passed very fast and here you are, mxPlay player with playlist, skins, plugins, open code and the coolest user features from the plenty of other players ;) Maybe you're wondering what the hell we did make on this for about 3 months. Firstly, I'm democoder. I didn't know nearly anything about GEM. So getting touch with this kind of programming was a new experience for me. Secondly, every day we come with new ideas what should we add, my TODO list was (and still is) full of things to implement... 1.2 Introduction to mxPlay 2.0 ------------------------------ Unbelievable, nearly exactly seven years later and I'm updating final bits of the new version :) Frankly, I considered this project dead as there was very little of interest from Atari users and I personally don't use Atari for daily work anymore so I didn't really miss a software like this. But then again, some magic has happend :) Some time in December I found a website with Turrican II modules and I realized that I have no clue how to replay this on my Linux PC. So I googled a little and found the XMP project. Out of curiosity I read its API documentation and I immediately realized how easy this would be to port over to our platform. In about the same time someone asked on dhs about some DSPMOD usage example and ggn reminded him about mxPlay... All of this somehow led me to the feeling that I should at least try to make the project compilable again and perhaps I could try to hack an XMP plugin, as a proof of concept. Of course, I coded a simple XMP player in like few hours. So only some tweaks to Makefile, code a wrapper to the player and we're done, right? Right :) Immediately as I started mxPlay, I saw a bug here and there and a better way how to do this and that and ... fuck, I spent 2 months only fixing bugs. There's very few new features, if any. Only bugfixes, bugfixes, bugfixes. For some crazy reason I decided also to finish all the remaing plugins (as it's clear nobody would do that), that led to another delays and frustration. But, in the end... I've caught really a lot of bugs, improved stability a lot, I can't understand how the player could work at all before. Now, if you use only ASAP and XMP plugins, you can even remove the "Super" flag from mxPlay.prg, it's 100% OS friendly and safe even under memory protection. This is a thing never seen on Atari before ;-) And bonus - you've got a FireBee version, too. Current state is a reasonable compromise between functionality and release date. Most of the code is still (7 years old!) mess, it made me puke several times. A lot of things could have been done but I really wanted to get rid of it. If there's any volunteer ... 1.3 Introduction to mxPlay 2.1 ------------------------------ Few weeks after the alpha phase (called 'release' in public ;)) I'm happy to bring you the la(te)st version of mxPlay. Generally, not much to mention: - 'Play' initiates playback even if no file is selected on startup - all dialogs are properly iconified and reopened - plugin path is now set separately for FireBee and ARAnyM, no more messing with copy and rename - XMP plugin is compiled against the latest version, MTMs and DMFs yet work - oh and by the way, a plugin for full featured MPEG-1 audio layer I, II and III is included ;) Btw, thanks to the MPG123 plugin I discovered that sample frequency in ARAnyM is set wrong all the time, i.e. all ASAP and XMP modules I had heard were about 10% slower :))) Oh my. 2. Features ----------- - modern user interface - fully skinable GUI - compatible from the simple TOS to the latest XaAES - best d&d / va-start / long name support you've ever seen - memory protection friendly - multitasking support, windowed dialogs - universal plugin API which allows you to take any kind of replay routine and to adapt it to mxPlay - it's free! - open development, anyone can contribute / bugfix - recursive directory/file adding with autodetection for supported formats and a lot of more ... 3. Windows ---------- Here you'll find brief description of each mxPlay's window. 3.1 Panel The heart of mxPlay. You don't need to top the panel, button will be activated even on untopped panel. 3.1.1 Play Play the current song. If no song was selected it will be played either the first file in playlist or the random song (in the case 'Random' button was activated, see bellow) 3.1.2 Stop Self-explaining. 3.1.3 Pause Pause playing. Please note not every plugin supports this function. Click on this button again to continue playing. 3.1.4 Previous Subsong Playback must be active to make this work (currently ASAP and SNDH plugin). 3.1.5 Next Subsong Playback must be active to make this work (currently ASAP and SNDH plugin). 3.1.6 Next Song Play the next song in the playlist. If you're at the end of playlist and the 'Repeat' button was activated (see bellow) as next file will be taken the first one. If 'Random' button was activated, next song will be choosen randomly. 3.1.7 Previous Song Play the previous song in the playlist. Please note previous song will be played even in random mode, no random selection as done in Aniplayer! 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. 3.1.9 Repeat Wrap to the begin of playlist when requested for the next song and we're on the last entry in the playlist. 3.1.10 Random Activate random song selection. 'Repeat' button has no sense then. 3.1.11 Mute Mute the playing. This function must be present in the plugin. 3.1.12 Volume Slider Increase or decrease volume level. It even watches for current sound system status so you can try to play with volume in some CPX and you will see the effect :) 3.1.13 Playlist Open/close playlist. 3.1.14 Module Info Open/close module info dialog. 3.1.15 Plugin Info Open/close plugin info dialog. 3.1.16 About Open/close information about application. 3.2 Playlist The best playlist for our little Atari :) 3.2.1 Add file Add file(s) to the playlist. Please note your fileselector has to support Selectric and/or MagiC/XaAES fileselector protocol to select more than one file. Except the Selectric and MagiC/XaAES it does Hugo for example. 3.2.2 Add Directory Add director(y|ies) to the playlist. It's fully recursive operation so, yes, you can take your music partition and open it in mxPlay! If your fileselector doesn't allow you to select exact directory, open such directory, clear "filename" field and press RETURN. 3.2.3 Select All Select all entries in the playlist. If you press SHIFT key, it will do inverse operation - i.e. deselecting selected files and vice versa. 3.2.4 Remove Remove selected files. No stupid questions, so beware. 3.2.5 Load Playlist Load .m3u file. Yes, that's the file from winamp and others :) 3.2.6 Save Playlist Save .m3u file. 3.3 Module Info Here you can find some information about currently played module as provided by plugin. Enabled (not shaded) arrows mean you can scroll left and/or right to see the full text (better is to resize window I think ;) 3.4 Plugin Info Similar to Module Info but you're allowed even enter some values. It could be simple on/off flag or numerical/text parameter. If there are up and down arrows you can scroll with them (sorry no resize at this time...) 3.5 About Simple about dialog. Here you can read the license under which is mxPlay released and the current version. 4. Keyboard Shortcuts --------------------- 4.1 (SHIFT) CTRL + O Open (and add to playlist) file(s) or (with SHIFT) director(y|ies). 4.2 CTRL + Q Quit application. 4.3 SPACE Pause playing. 4.4 CTRL + P Start playing. 4.5 CTRL + S Stop playing. 4.6 (SHIFT) UP ARROW If in playlist, move up (1 entry or whole page with SHIFT) 4.7 (SHIFT) DOWN ARROW If in playlist, move down (1 entry or whole page with SHIFT) 4.8 (SHIFT) CTRL + A Select all entries in the playlist or (with SHIFT) make opaque to the current state. 4.9 DELETE Delete selected entries from the playlist. 4.10 INSERT Activate 'Repeat' button. 4.11 CLR HOME Activate 'Random' button. 4.12 (SHIFT) TAB Open/close Module info or (with SHIFT) Plugin info dialog. 4.13 HELP Open/close About dialog. 4.14 UNDO Activate 'Mute' button. 4.15 NUM / Change the current skin. Change is done in realtime but only if there's no playback. 4.16 NUM ( Play previous song in the playlist. 4.17 NUM ) Play next song in the playlist. 4.18 NUM * Open/close playlist. 5. Supported protocols ---------------------- 5.1 ARGV You can assign some file type, e.g. *.mp2 to mxPlay and then just click on the mp2 files and mxPlay will open & play such file. The filename could be even with spaces, bigger than 8+3 characters etc. Please note, not all desktops support this, see file BUGS for details. 5.2 VA-START If you go in the way described in 5.1 you can double-click on the file during song playing and mxPlay will update its playlist and begin to play this file. 5.3 Drag & Drop You can take files, directories and even hard disk icons and place it onto mxPlay, everything will go as you expect! Full support for long names. 6. Thanks --------- At first I would like to thank to all people who decided to publish their source codes. Without them there's no mxPlay. So for others - please, support free software, release your source code - it helps all of us. Very good example is zView, really good work, Zorro! Next I have to thank Xi, my never-tired-for-another-bugreport friend ;), without your usefull hints about application architecture and without your massive support I doubt I finish mxPlay in this look and functionality. Also thanks to people on MiNT list, they helped me sometimes when I was in total dark :) And at last but not least I have to thank YOU, Atari fan, you're still using Atari computers! 7. Contact ---------- Don't forget mxPlay is FREE SOFTWARE that means everyone can contribute to and/or bugfix the current version. If you can't code you can make skins. If you can't make GEM dialogs, you can test mxPlay, spell-check documentation, think about new features, ... help is always welcome. You can reach me 7 days of week at: miro dot kropacek at gmail dot com Xi is the author of skins, the most of plugins and he is the very good beta-tester, you can reach him at: xi at napri dot sk ... happy playing!