home *** CD-ROM | disk | FTP | other *** search
- MultiPlayer
- Version 1.01
- Copyright (C) 1991 Bryan Ford
- All Rights Reserved
-
-
-
- The Program
- ~~~~~~~~~~~
-
- The unregistered version of MultiPlayer is freely redistributable as
- long as it and its documentation is not modified in any way, and the
- appropriate files are distributed with it. (Look farther down in this
- document to find out about registering MultiPlayer.) You may not charge
- more for distributing it than a small fee to cover the disk copying
- expenses. The MultiPlayer version 1.01 distribution must contain the
- following files:
-
- Player 51392
- Player.info 598
- Player.doc 35460
- Formats.doc 25952
-
- MultiPlayer is a program to play Amiga music modules, such as
- Soundtracker and MED. (This program has no relation to Multi_Player by
- Thomas Landspurg which I just recently found out about.) Before you get
- disgusted with Yet Another Module Player, I would encourage you to read
- through this document, or at least take MultiPlayer for a spin. You will
- find that MultiPlayer has almost all the important features you've seen
- on other players, plus many features you haven't seen before.
-
- One of the goals of MultiPlayer is to be as system-friendly as
- possible. It multitasks well, it doesn't interfere with high-priority
- interrupts such as serial port interrupts, and it properly allocates audio
- channels so that the music doesn't conflict with other programs. It was
- made with Kickstart 2.0 in mind, and provides some extra features if you
- are using 2.0, but it can still play the full set of module formats under
- version 1.3.
-
- Another goal of MultiPlayer was to support a very diverse array of
- music formats. MultiPlayer currently supports over fifteen different
- module formats, plus some special formats. See the 'Other Info' section
- near the end of this document for a list of the module types MultiPlayer
- can play.
-
- If you have the xpkmaster.library (a freeware compression "supervisor"
- standard by Dominik Mueller, Christian Schneider, and myself) installed in
- your system, MultiPlayer can automatically unpack modules that are packed
- using any format it can understand. (This includes PowerPacker format, if
- you have the powerpacker.library installed as well.)
-
- MultiPlayer is very easy to use. You can just type 'player' from the
- CLI or click on the icon from the Workbench and it will present the ASL or
- ARP filerequester to select a module from, depending on which version of
- the operating system you are using. (If you are running 1.3, you must have
- the arp.library version 39 or higher installed to get the file requester -
- if you don't, you won't be able to load modules from the window.) Under
- 2.0, you can select multiple modules (as many as you want). If you run
- MultiPlayer from the CLI, it automatically detaches itself, so there is no
- need to Run it. See the section on "Startup" below for more information on
- starting MultiPlayer.
-
- While MultiPlayer is running there is normally a small window in the
- title bar displaying the name of the module that is currently playing (or
- just "MultiPlayer" if nothing is loaded). You can click the close gadget
- to stop the music and terminate MultiPlayer. To select a different module,
- activate the window and click the right mouse button. The filerequester
- will then reappear so you can select another module.
-
- If you are running Kickstart 2.0, the MultiPlayer window will have a
- zoom gadget near its right end. If you click it, you will see a control
- panel that allows you to load different modules and gives access to some of
- MultiPlayer's more advanced features. For a complete description of the
- control panel user interface, see the "Control Panel" section below. This
- control panel (and the features only available through it) are not
- available under 1.3. Just one more reason to rush out and get an enhancer
- kit today! (I may add full 1.3 compatibility if I get enough demand and
- -->support<--.)
-
- You may be skeptical about keeping a 50K program resident in memory.
- Never fear - thanks to a custom memory management and overlay system,
- MultiPlayer uses only the memory it needs to do its job. All of the module
- players are loaded only when needed, and any players not currently in use
- are unloaded on demand if the system runs out of memory. The parts of the
- program used to control MultiPlayer's various windows are also only loaded
- on when they are needed and are freed as necessary.
-
- For all you hackers (used in the positive connotation) that like to rip
- out every form of music imaginable, when you come across some obscure
- module format that nothing understands, don't despair. There are three
- special formats built into MultiPlayer that you can use to easily interface
- it to any kind of module. All you need is the module, some player code for
- the module (if the module doesn't already have embedded player code), and a
- little assembly language programming. Details on all three formats are in
- the separate file 'Formats.doc'.
-
- MultiPlayer is Shareware. Although I detest the fact that humans must
- prove their worth to society through an insubstantial and meaningless
- medium known as money, the fact remains that today's society requires it -
- without money you don't eat, and you don't buy Amigas. I would like to
- eat, and I would like to buy Amigas. Therefore, for $15 or more you will
- get the registered version of MultiPlayer which allows loading and saving
- of programs (module lists), as well as the full-featured ARexx port
- described later in this document (useful for playing modules with
- AmigaVision and the like). Of course, you also gain my favor - suggestions
- for improvements will be taken much more seriously from registered users.
-
- The most reliable way of contacting me is at my parents' address. It
- may take a while for me to get something sent there, but it WILL get to me.
- I tend to move around a great deal, so mail sent directly to me sometimes
- has a hard time catching up. Send mail to:
-
- Bryan Ford
- 8749 Alta Hills Circle
- Sandy, UT 84093
-
- I can be reached more quickly (for the time being anyway) on the phone
- or through one of the electronic mail addresses below:
-
- (801) 585-4619
- bryan.ford@m.cc.utah.edu
- baf0863@cc.utah.edu
- baf0863@utahcca.bitnet
-
- If you want to get something to me through the mail reasonably quickly,
- FIRST call or E-mail me to make sure I'm still here, then send it to this
- address:
-
- Bryan Ford
- 27104 Ballif Hall
- University of Utah
- Salt Lake City, UT 84112
-
-
-
- The Control Panel
- ~~~~~~~~~~~~~~~~~
-
- This section describes the main control panel that MultiPlayer makes
- available under Kickstart 2.0 or later. (Under 1.3, what you see is what
- you get - a little title bar window you can click the right mouse button in
- to bring up an ARP filerequester.)
-
- The main MultiPlayer window, in its "zoomed" state, displays a few
- pieces of information about the module currently playing, as well as some
- buttons. These are described below:
-
- Module box
-
- This box displays the filename of the module currently loaded
- (essentially the same as what is displayed in the title bar). Any 'mod.'
- prefixes for Soundtracker/Noisetracker modules will not be displayed.
-
- Type box
-
- Displays the type of the module currently loaded.
-
- Author box
-
- Displays the name of the person who wrote this module, if known. Most
- current module formats don't have direct facilities for identifying the
- author - in this case, the box will just display 'Unknown.'
- Soundtracker/Noisetracker modules often have author names embedded in the
- instrument list - in this case, MultiPlayer tries to make a good guess by
- searching for keywords such as 'by' in the instrument list. (If it screws
- up for some reason, you can always TYPE the module HEX to find out for
- sure.) MED modules have somewhat better support, but they still don't have
- a convenient 'author' field - just a catch-all 'annotation' field.
-
- Song gadget
-
- This gadget serves two purposes. First, it displays the name of the
- currently loaded module or song as recorded in the module itself. For
- example, with Soundtracker/Noisetracker modules this gadget will display
- the song name as recorded in the first 20 bytes of the file. Many
- module formats don't have built-in name fields - in this case, the box
- will just display 'Unknown.'
-
- For most types of modules, which support only one song per module, this
- gadget will serve no purpose other than displaying the song name. However,
- some module formats allow several independent songs to be contained in a
- single module (for example, to save memory by using the same instruments on
- several songs). In that case, this gadget will cycle through the available
- songs in the module.
-
- New button
-
- This button is equivalent to clicking the right mouse button while the
- main MultiPlayer window is active. It displays the file requester and lets
- you select any number of modules. The new list of modules replaces the
- current program, if there was one. The first module in the list (or a
- random module, if you have selected random playing) will be started. The
- program will be created with the order in which the modules were displayed
- in the file requester. (At least this is how the current 2.0 file
- requester works - it may change.)
-
- Play button
-
- Starts or continues playing a module that was previously stopped but
- not unloaded. If the module type supports the continue feature, the module
- will continue playing where it left off. Otherwise it will start again
- from the beginning.
-
- Stop button
-
- Stops the current module without unloading it. Audio channels and
- interrupts are freed while a module is stopped, so you don't have to exit
- MultiPlayer completely if you want to run some other program that needs the
- audio hardware. If the module type supports restart, you can restart it
- where it left off by pressing the Play button.
-
- Eject button
-
- Stops and unloads the currently loaded module, and frees all memory and
- other resources that the module was using.
-
- Next button
-
- Loads and plays the next module in the current program list. If you
- have selected random play, this button simply loads another module in the
- list, at random.
-
- Prev button
-
- Loads and plays the previous module in the program list. If you have
- selected random play, this button does basically the same thing as the Next
- button - picks another module at random.
-
- Program button
-
- Opens the 'Module Program' window, described below.
-
- Prefs button
-
- Opens the 'MultiPlayer Preferences' window, described later.
-
-
-
- Module Program Window
- ~~~~~~~~~~~~~~~~~~~~~
-
- This window displays a list of all the modules in the current module
- program. You can also select a module from the list, and it will load and
- play immediately. If sequenced play is selected (the default), when one
- module is finished, the next lower one on the list is loaded and played.
- (This only applies on modules that can detect repeat - most do, but on
- those that don't, the module will just play forever until you explicitly
- tell MultiPlayer to go to the next module.) Also, modules in the program
- can be located in any number of different directories - MultiPlayer will
- remember the location of each.
-
- The program window can be brought up with the 'Program' button from the
- main window, or by pressing the 'Help' key while the main window is active.
- (This window is only available under 2.0, but see the note for the 'Add'
- button if you're using 1.3.)
-
- The program window also contains several buttons that allow you to
- manipulate the module list. These are described below:
-
- Top, Up, Down, and Bot buttons
-
- These buttons allow you to rearrange the modules in the program. They
- work on the currently selected (probably currently playing) module, and
- their meanings should be obvious.
-
- Add button
-
- This button works basically the same way as the 'New' button on the
- main window - it brings up the file requester and allows you to select
- modules. However, it doesn't cause the previous program to be cleared when
- you finish, and it doesn't start playing a new module. For 1.3 users
- without access to the program window, the 'Help' key is the same as
- pressing the 'Add' button, so you can still select multiple modules for a
- program, even though you can't see them. (Remember that you may need to
- press the up or down arrow key to actually get the program running, since
- the Add feature doesn't automatically start anything.)
-
- Del button
-
- This button deletes the currently selected entry in the program list.
- If this entry is currently playing, it lets it continue playing - it does
- not stop or unload it immediately.
-
- Clear button
-
- Clears the entire current program list. As with the 'Del' button, it
- does not stop any currently playing module.
-
- Sort button
-
- Sorts the entire current program list alphabetically. Handy if you
- like to use random play (and thus don't really care about the play order)
- but you'd like a nice neat module listing.
-
- Load button
-
- Brings up the file requester so you can load a previously saved program
- from disk. (This button will only work on the registered version of
- MultiPlayer.) The newly loaded program will replace the current program.
- Note that you can also load saved programs from the regular module
- requester - programs are recognized just like modules, and programs
- selected this way will automatically be loaded and run. (You could even
- put the name of another program at the bottom of it, to chain program lists
- together.)
-
- Save button
-
- Brings up the file requester and lets you save the current program to a
- disk file. (Also only works on the registered version.) You can then load
- it again later using any method normally used to select modules - the file
- requester, Workbench extended-select when starting MultiPlayer, or CLI
- arguments. (See the 'Startup' for details on starting MultiPlayer.)
-
- If you want to create or modify module program files yourself, just
- take a look at one of the files MultiPlayer generates - it's just a simple
- text file. Lines starting with 'DIR' denote changes of directory - all
- filenames after that until another 'DIR' keyword will be looked for in that
- directory.
-
-
-
- Preferences Window
- ~~~~~~~~~~~~~~~~~~
-
- This window can be opened by clicking on the 'Prefs' button in the main
- MultiPlayer window. It contains a few options (there will be more in
- future versions) which you can use to tailor MultiPlayer to your own
- preferences. (This window is not available under 1.3, but you can still
- set MultiPlayer's preferences - see the end of this section.)
-
- The gadgets are described below:
-
- Play gadget
-
- Use this to select between sequenced play, random play, and 'over and
- over' mode. In sequenced play, the modules in the program list are played
- one after another, from beginning to end, in the order they appear in the
- program list. In random play, the modules play once and then another
- module is randomly selected. In 'over and over' mode, anything you select
- is played forever until you tell MultiPlayer to start a different module.
- (You can still use the 'Next' and 'Prev' buttons in the main window to
- change modules, but MultiPlayer doesn't do it automatically in this mod.)
-
- Show gadget
-
- This cycle gadget allows you to select the type of display you want to
- appear in the main window's title bar while a module is playing. In clock
- mode, a clock appears displaying the amount of time this module has been
- playing in minutes and seconds. In sequence mode (this has no relation to
- the sequence mode in the 'Play' gadget), on NoiseTracker or similar modules
- that play sequences of blocks, the current sequence number and the number
- of sequences in the song is displayed. (On modules that don't support
- this, the clock is displayed.) In sequence mode, you can tell MultiPlayer
- to display the current number either starting from 0 and ending at
- (length-1), as most trackers display sequence numbers, or starting from 1
- and ending at (length).
-
- Save button
-
- Saves the current preferences to the disk file ENV:MultiPlayerPrefs, as
- well as the same file in ENVARC:. (With preferences as simple as this,
- there's no real need for separate 'Save' and 'Save Default' options.)
-
- OK button
-
- Does exactly the same thing as the close gadget on the window - closes
- the window. It does NOT cause the new preferences to be activated - they
- are activated the moment you select them. (Isn't multitasking wonderful?)
- There is no 'Cancel' gadget because I figure it's not too difficult to
- change back any buttons you accidentally hit, since there are so few...
-
- For you poor ol' 1.3 users that can't access this window, you can still
- set MultiPlayer's preferences. Just go into a text editor or something and
- create a 'MultiPlayerPrefs' in your ENV: directory (make sure it gets put
- there every time you reboot - i.e. also put it in your ENVARC: directory
- if you have one). The file needs only two characters. First, the play
- mode - 'S' for sequenced, 'R' for random, 'O' for over and over. Second,
- the show mode - 'C' for clock, '0' for sequence (starting from 0), and '1'
- for sequence (starting from 1). Unfortunately, you can't change
- MultiPlayer's preferences while it is loaded.
-
-
-
- Keyboard Shortcuts
- ~~~~~~~~~~~~~~~~~~
-
- Several keyboard shortcuts are available from the main MultiPlayer
- window. (They won't work in the other windows.) These are available under
- 1.3 as well as 2.0, and thus can be used to use some of the features
- otherwise only available through the control panels. These keys are listed
- below:
-
- ESC
-
- Terminates MultiPlayer immediately (a shortcut for the close gadget on
- the main window.
-
- Help
-
- Under 2.0, brings up the module program window (a shortcut for the
- 'Program' button on the main window).
-
- Spacebar
-
- If a module is currently playing, stops (or pauses it) without
- unloading, like the 'Stop' button. If a module is loaded but NOT playing,
- it restarts it, just like the 'Play' button.
-
- Delete
-
- Unloads (ejects) the currently loaded module.
-
- Up/down arrows
-
- These switch to the previous or next modules in the program list,
- respectively. In random play, these simply select another module at
- random. (These are shortcuts for the 'Next' and 'Prev' buttons.)
-
- Left/right arrows
-
- In modules that contain more than one song, these select the previous
- or next song, respectively (shortcuts for the 'Song' cycle gadget).
-
-
-
- Startup
- ~~~~~~~
-
- When starting MultiPlayer from Workbench 1.3 or 2.0, you can
- extended-select the icons of as many modules as you want when you start
- MultiPlayer. It will immediately start playing the first one (or a random
- selection, if you have selected random play in your saved preferences).
-
- If you're running Kickstart 1.3, MultiPlayer will accept a single
- argument from the CLI (don't use quotes, even if there are spaces). If
- this argument ends in a ':' or '/', MultiPlayer will change to that
- directory before displaying the ARP file requester. If it doesn't end in
- one of these characters, MultiPlayer will try to load the specified file as
- a module and start it playing rather than displaying the file requester
- immediately.
-
- If you're running Kickstart 2.0, MultiPlayer supports some extra
- command-line options:
-
- DIR=DIRECTORY,MODULES/M,NOREQUEST/S,NOWINDOW/S,NOREXX/S
-
- (On the unregistered version, the NOREXX option will not appear.)
- Following is a description of these arguments:
-
- DIRECTORY
-
- The first argument on the command line (or an argument preceded by this
- keyword) tells MultiPlayer what directory to go to the first time it
- displays the file requester. This is also where it will look for modules
- you specify on the command line (see below) if you don't specify full
- pathnames for them.
-
- MODULES/M
-
- The second argument (if you don't explicitly use the DIRECTORY or
- MODULES keywords) begins a list of modules to put into MultiPlayer's
- program list on startup. MultiPlayer imposes no limitations on the number
- of modules you can specify using this keyword, although command lines are
- limited to 256 characters. After MultiPlayer starts up, instead of showing
- the file requester immediately, it will load and begin playing the first
- module in the program list (or a randomly selected module, if you have
- selected random playing). With the registered version of MultiPlayer, you
- can specify a program file to load and start initially instead of a list of
- modules.
-
- NOREQUEST/S
-
- If you specify the switch, MultiPlayer will not display the file requester
- immediately after it loads, even if you don't specify any modules to start
- playing. If you don't specify any modules, MultiPlayer will simply sit
- idle until you tell it to do something.
-
- NOWINDOW/S
-
- This switch causes MultiPlayer to load and run without a window. If
- you specify modules to start playing, MultiPlayer will play them as usual,
- but the user won't see any visual indication that MultiPlayer is running.
- You can still control the registered version of MultiPlayer through its
- ARexx port, assuming you haven't turned that off as well. Using this
- switch will save about 5K of memory, since the part of MultiPlayer that
- handles the window interface is never loaded (and of course the window
- itself is not occupying memory).
-
- NOREXX/S
-
- If you specify this switch (which only exists on the registered
- version), MultiPlayer will not open its ARexx port. Using this switch will
- save a little extra memory (not much though - less than 1K) if you don't
- need the ARexx port.
-
- If you specify both NOREXX and NOWINDOW, you will effectively have no
- way to control MultiPlayer apart from rebooting - it will go on playing
- modules as you instruct it to at first, and will not stop unless it
- encounters an error of some kind. (If that happens, you basically "lose"
- it for good.) I don't recommend doing this without a good reason.
-
-
-
- ARexx Port
- ~~~~~~~~~~
- (Only available in the registered version)
-
- If you have ARexx, either as an independent program in pre-2.0 or as
- part of the operating system in 2.0+, you can use it to control
- MultiPlayer. Whenever MultiPlayer is running, there is an ARexx port
- available called "RXTRACKER" which you can send various commands to.
- MultiPlayer's ARexx port is compatible with the program RxTracker by
- Dominic Giampaolo. In addition, it supports several features that
- RxTracker doesn't, and of course you can use it to play all the different
- kinds of modules MultiPlayer understands, not just Soundtracker and MED.
-
- If MultiPlayer runs into an error when trying to load or play a module,
- it generally returns an error code of 10. When any error occurs, a pointer
- to a descriptive error string is saved and you can get it with the
- LASTERROR command to display for the user.
-
- A listing of the ARexx commands MultiPlayer understands follows:
-
- LOAD <filename>
-
- Loads a module into memory from disk. It is generally a good idea to
- supply a complete pathname, since MultiPlayer looks for the module starting
- at whatever directory the file requester last happened to be looking at.
- This command does not start the module playing. If you want to start
- playing immediately, you don't have to use this command at all - you can
- simply supply a filename on the PLAY command and it will load and start
- playing immediately.
-
- PLAY [<filename>] [<songnumber>]
-
- Starts playing a module. If you supply the filename, MultiPlayer stops
- any module currently playing and tries to load the specified module from
- disk. If you don't supply the filename, MultiPlayer plays (or re-plays
- from the start) an already-loaded module. (If no module is loaded and you
- don't specify a filename, MultiPlayer returns error code 5.) For modules
- with more than one song, you can supply the song number to play. Songs are
- numbered starting at zero. If you don't supply a song number, song zero is
- assumed.
-
- STOP
-
- Stops playing any module that is currently playing without unloading
- the module. You can then restart it later with PLAY or CONTINUE.
-
- UNLOAD
-
- Stops and unloads any currently loaded module.
-
- CONTINUE
-
- Tries to restart a stopped module at the position it was at before the
- STOP command was given. If the module has never been started, it simply
- starts from the beginning. If the module was already playing, it does
- nothing. If the module type doesn't support restarting, MultiPlayer
- returns error code 5 and does NOT start the module - you can then use PLAY
- to start again from the beginning if you want, or else chew out the user
- for using weird module formats.
-
- OPENWINDOW
-
- Opens the MultiPlayer user interface window. It will be opened in the
- small title-bar zoom state. If the window was already open, it does
- nothing. It returns an error if the window can't be opened. Remember that
- while the window is open the user can use it to change modules and such,
- possibly messing up your perfectly timed ARexx-controlled playing
- sequences.
-
- CLOSEWINDOW
-
- Closes the MultiPlayer window, if it was open. MultiPlayer remains
- active, but impervious to user interface (through Intuition anyway). Now
- only ARexx commands can affect MultiPlayer.
-
- LASTERROR
-
- Returns an error message describing the last error that occurred that
- had to do with the ARexx port. (Errors that the user causes by
- manipulating the window do not affect this.)
-
- QUIT
-
- Causes MultiPlayer to terminate immediately.
-
-
-
- Messages
- ~~~~~~~~
-
- This section lists most of the error or warning messages MultiPlayer
- will produce. Look here if you have trouble deciphering the meaning of
- one.
-
- "Not enough chip memory"
-
- Tracker-style modules generally must be loaded into one big continuous
- chunk of chip memory. Therefore, even if the Workbench (or some other
- program) says you have enough memory, it may not have one big enough chunk.
- Close some windows, exit some programs. If all else fails, reboot and try
- fresh.
-
- "Not enough memory"
-
- You really are getting low. MultiPlayer doesn't normally need too much
- non-chip memory, since modules are always loaded into chip memory. If you
- get this message, it means you don't have much memory of ANY kind
- available. Better free up something quick.
-
- "Required memory occupied"
-
- You will only get this message from non- relocatable AMOD or GMOD
- modules. It means that the module has a specific address it must be loaded
- into, but part or all of the required block of memory is already in use.
- Free up as much memory as possible and try again. If most of your memory
- is free and you still can't load it, chances are there's some little
- allocated fragment that some program has forgotten about that's still
- sitting in the required area. Your best bet is to reboot and try on a
- fresh system. If you have more than 512K of chip memory, try running my
- program "ChipMunch" just after you reboot - this should keep programs out
- of the commonly used areas.
-
- "Nothing selected"
-
- Not an error, this simply means that you pressed Cancel in the file
- requester without selecting any modules. MultiPlayer then happily goes on
- doing whatever it was already doing.
-
- "Unknown module type"
-
- MultiPlayer doesn't recognize the file you selected as one of the
- module types it knows. Either this isn't a music module, or it's one that
- it doesn't know how to handle. If it is a music module that MultiPlayer
- doesn't know about, send me the module and player/interface code, and it
- should make it into the next version of MultiPlayer.
-
- "Corrupt module"
-
- MultiPlayer recognized the module, but it didn't look right for some
- reason. Maybe it's a module written with an incompatible version of the
- music program, or maybe the module itself got munched somehow.
-
- "Error playing module"
-
- A general catch-all. This error usually is displayed as a result of
- error reports from initialization routines of individual players. It
- generally means that the module loaded fine, but the player had trouble
- playing it. Sometimes it means the same thing as "Corrupt module", or it
- might mean that the player ran out of memory but was too stupid to tell
- MultiPlayer about it specifically.
-
- "Can't load module"
-
- The file was not found, or there was a disk error while reading it. If
- you get this message after selecting a file from the file requester,
- chances are the disk is corrupt (in this case AmigaDOS should have already
- given you a requester saying so), or the file may be open for writing from
- some other program.
-
- "Directory not found"
-
- Somehow you managed to tell MultiPlayer to load something from a
- directory that doesn't exist. Maybe you moved the directory somewhere
- else, or forgot an Assign somewhere. This usually only happens with ARexx
- commands or loaded program lists.
-
- "Audio hardware in use"
-
- MultiPlayer can't allocate the audio hardware through the audio.device.
- This probably means that some other music editor or player is currently
- running. Find the culprit program and close it. If all else fails, reboot
- and try again.
-
- "No CIAB timers available"
-
- MultiPlayer generally uses one of the two timers on CIA (Complex
- Interface Adapter) B for timing its music. However, other programs
- like to use these also. In particular, one of the timers may be in use if
- the serial port is in operation. Other than that, music programs are
- generally the biggest consumers of CIAB timers. Make sure no other music
- player or composer programs are running, and try closing terminal programs
- or other programs that use the serial port.
-
- "Please decompress this module"
-
- It is unlikely that you will ever get this message, but if you do, it
- means that (a) the module MultiPlayer is trying to load is compressed
- somehow, and (b) it is an AMOD or GMOD module that must load at an absolute
- address, and (c) MultiPlayer would have to re-load the module rather than
- just copying it because the memory the module occupied initally overlapped
- the required module address. If you don't quite follow, don't sweat - just
- decompress the module.
-
-
-
- Other Info
- ~~~~~~~~~~
-
- MultiPlayer currently supports the following module types:
-
- 15-instrument SoundTracker modules (most anyway)
- 31-instrument SoundTracker V2.3-2.5/NoiseTracker V1.0-1.3D modules
-
- NoiseTracker 1.3D packed modules (with or without embedded player)
-
- StarTrekker 1.2 AM/FM modules (Extra '.NT' file required)
-
- MED 3.xx modules (MMD0 modules only - not "Song&Samples" files)
- (no 2.xx modules anymore - use MED 3.xx to convert them!)
-
- SoundFX V1.3 executable modules (Player V2.2)
-
- Old Future Composer 'SMOD' modules
- Future Composer 1.4 modules
-
- JamCrackerPro 1.0a modules
-
- SoundMonitor 2.0 modules
-
- Dave Whittaker modules (Be careful! These aren't completely friendly...)
-
- Oktalyzer V1.1 4-channel modules (untested)
-
- Delta Music V2.2 modules (untested)
-
- SidMon modules (untested)
-
- Mark II modules (untested)
-
- Generic embedded-player modules of the form
- jmp init(pc)
- jmp music(pc)
- jmp end(pc)
- (Such as NoiseTracker packed w/player modules)
-
- AudioMaster III sequenced 8SVX sounds (mono only)
-
- 'XMOD', 'AMOD', and 'GMOD' formats described in 'Formats.doc'
-
- Some of the module types are marked as 'untested'. This means exactly what
- it says - I found out the appropriate methods to play these and easily
- added support into MultiPlayer, but I didn't have any modules to test it
- on. So if I made a stupid mistake, one or more of these may not work at
- all. If you try one of these formats and it doesn't work, send me a few
- modules in the appropriate format to test on, and if you're the first to do
- so, you'll be automatically registered and will receive a new version of
- MultiPlayer as soon as I get the bug fixed.
-
- Although sequenced 8SVX sounds are technically only sampled sound files,
- they have some music capability and look promising. Besides, the player
- also plays non-sequenced 8SVX sounds, so you can also play your movie clips
- and such with MultiPlayer. (I'm not sure if AudioMaster III is the only
- program that currently supports sequenced 8SVX files, but it's the only one
- I've seen so far.) Stereo is currently not supported - sorry, I'll get to
- that eventually.
-
-
-
- History
- ~~~~~~~
-
- 1.01 (8-Nov-91)
- Added 'Sort' button in program window.
- Fixed a serious bug in GMOD player.
- Enhanced author name recognition for ST/NT modules.
-
- 1.00 (5-Nov-91)
- This is basically a rewrite of most of the program.
- (I'm not listing all the additions - there are way too many.)
- Major changes and additions to Formats.doc.
- Music no longer cuts off when file requester is displayed.
- Removed built-in code compression. (Maybe I'll put it back in later.)
- Audio device now allocated while playing music.
- Fixed SoundFX player bug which caused crashing on advanced processors.
- Players now use longer DMA delays (normally 300) only on fast processors.
- (Wouldn't want to bog down you poor ol' 68000 users would we?)
- Major rewrite of player selection code.
- CIAB interrupts now defer to software interrupts to avoid hogging
- CPU time in a high-priority interrupt.
-
- 0.95A (6-Sep-91)
- Fixed bug where song position appeared when no module was playing.
- Fixed ST/NT player bug for modules with negative song repeat positions.
-
- 0.95 (27-Jul-91)
- Added song position indicator for ST/NT and MED modules.
- Added code to turn low-pass filter off by default (will soon be selectable).
- Added Messages section to the documentation.
- Fixed window position so it snuggles right up next to the screen gadgets.
-
- 0.94A (26-Jul-91)
- Fixed player window height on pre-2.0 operating systems.
- Increased delay loop (ugh!) in NoiseTracker player for faster processors.
- Fixed song repeat bug in NoiseTracker player.
- Hacked NoiseTracker player to play old 15-instrument modules.
- Fixed memory trashing bug in NoiseTracker player.
- (I hate cleaning up someone else's code!)
-
- 0.94 (23-Jul-91)
- Uses one of the CIAB timers for timing rather than the VBlank interrupt.
- Finally uses Workbench 2.0 ASL file requester if available.
- Added MED 3.xx modules, removed MED 2.xx songs.
-
- 0.93 (3-Jul-91)
- Workbench 2.0 compatible (although some modules may not be).
-
- 0.92 (7-Jun-91)
- Added 'AMOD' absolute loading module format described in 'Formats.doc'.
- Added 'GMOD' general module format described in 'Formats.doc'.
- Added NoiseTracker 1.3D packed (with player) modules.
- Added StarTrekker 1.2 AM synthesized modules.
- Updated the SoundTracker/NoiseTracker player.
- (New player comes from NoiseTracker 1.3D)
-
- 0.91 (29-Apr-91)
- Added 'XMOD' format described in 'Formats.doc'.
- Removed "unknown" module formats (turned those modules into XMOD's)
-
- 0.90 (27-Apr-91)
- First preliminary release. Nothing fantastic.
-
-