
                        AMPlifier
                       Version 2.0

                    MPEG Audio Player



   Introduction              Why using it?
   Requirements              Things needed to get it work
   Usage                     How it works
   Tooltypes and Arguments   Configuration and Settings
   

Introduction to AMPlifier

AMPlifier primary is a playback tool for MPEG-Audio 
(Musicam). Additionally it can be used to playback 16-bit 
Sound stored into various file formats. AMPlifier makes it 
possible to play MPEGs at nice and powerfull manner. It 
may be used on any Amiga and supports hardware-based 
decoding on one hand and software-based decodierung using 
the mpega.library.

   supported hardware decoders actually are:

      Melody Z2, Melody1200+/pro, Peggy+ (ScalaMPEG), 
      CD32-FMV


   as said before software decoding is using mpega.library 
   and AHI or X-Audio depending on user's needs.


Features:}

  * Supports MPEG-Audio up to Layer III and even AIFF, 
    MAUD, WAVE and RAW.

  * Ease of use, basic functionality known from CD-Players
    (play, pause, stop, forward, backward, skip back, 
     skipforward)

  * Powerful plugin system - for external visualization plugins

  * Resizeable and configureable user interface - easy to use

  * Loads WinAMP skins (different gfx designs)

  * Opens and moves to/from any public screen on your choice

  * Nice and fast move to any position in a song by using
    a pos-slider

  * Powerfull Playlist (sortable, loop support).

  * Load, Save and Edit of playlists.

  * Random play

  * Simple drag&drop of files and drawers. (drop it over the
    playlist window to add it)

  * Recursive scan through directorys with pattern matching 
    (drag&drop). with possibility to abort!
    (drop a drawer or volume on the player or playlist 
     window)

  * ID3-Tag support to get closer and better infos from the 
    songs played (artist, title, album, year,...)

  * Time remaining/elapsed display

  * ARexx port

  * Done as a Commodity

  ...


Hardware and Softwarerequirements

* AMPlifier works for any Amiga running AmigaOS 2.04 or 
  better. While Developers machines are running OS 3.1 only
  the player is enhanced and checked with 3.1 only.
  Because of this the actual version 3 of the OS should 
  be used.


* Regarding MPEG AMPlifier supports DSP based decoding of 
  Soundboards and even simple Soundboards or output of 
  traditional Amiga. If Software decoding is used only
  mpega.library done by Stephan Tavenard is 
  required.
  For hardware which supports MPEG a proper mpeg.device 
  (CBM's  definition for CD32) is required and must be 
  selected in the settings of AMPlifier.


Usage

AMPlifier may be started from Workbench or Shell.
The GUI is equvalent to the user interface of a generic 
CD-Player.
At PullDown menue an additional playlist window may get 
opened. It contains the list of songs which will be played. 
By klicking one of the entries in the list it's possible to 
start that song immediately. This mechanism may even be 
used to skip one ore more songs or play one or more a 
second time.

If songs are given to the player using Drag-and-Drop or the
filerequester (multiselect capability) the old playlist
will get removed and a new one containing the last choice 
will show up. To add songs to the playlist they have to be
dropped over the playlist window or may get added with a 
filerequester by using the ADD button.

Unkown file formats won't be accepted in default setup. 
This may get changed via a a  Tooltype 
to enable playback of headerless RAW samples 
(Big-Endian, MSB first, Motorola).  

The windows of player and playlist are variable in size. 
While the sizegadget is visable at playlist, it's invisable
at the player itself. It's still there, though.


 Menus        

 Player       
 Playlist     
 Configuration


Menues

 Project      
 Settings     


Project@}

Open...
  Opens an ASL-Filerequester for selecting songs to play

Add...
  Opens an  ASL-Filerequester to add one song or a list of 
  songs to playlist

Playlist...
  Opens the window of the playlist.

Load Playlist...
  Loading of an previously saved playlist.
  The name will be requested by a Filerequester.

Save Playlist...
  Saves actual playlist into a file.

About
  Displays a window which contains infos to AMPlifier an 
  its designer/programmer.

Hide
  Hides the GUI of the player. As this is a so called 
  Commodity feature the tool Exchange (comes with the OS)
  may be used to redisplay it again.

Quit
  This entry hopefully won't be used at all as it simply 
  quits the programm. The function is equivalent to the 
  close gadget at the player's window.


Settings}

Configuration...
  The item opens the configuration window of AMPlifier.

Random
  If Random is checked titles in the list are played at
  random order.

Loop
  After all songs are played the player doesn't stop but
  plays the list again (if checked).

Time Elapsed / Time Remaining
  Switches display to time remaining instead of time 
  elapsed.

Display

  Standard GUI}

  Info
    Activates the part of the GUI which displays the 
    line which contains infos regaring the currently played 
    song

  Slider
    Activates position slider at the GUI.

  Panel
    Activates the CD-Player panel of player's GUI

  Skin GUI}

  Select Skin...
    It pops up a window  which shows the list of different 
    skins which are available in the skins directory 
    (look for at WinAMP skins in Internet if you like).
    The skins directory can be selected in the 
    configuration window of the player.
    

Public Screen
  This item opens a list window which contains the public 
  screens on which AMPlifer may be moved to.
  
Snapshot
  This one snaps position and size of the player windows 
  and stores the information for the next start of the 
  program. 


Player

The userinterface was done euivalent to that one of a 
generic CD player. Same functionality is available at 
AMPlifier.

There are buttons for Play, Stop, Pause and for
Skipping and Jump back to previously played songs.

The first way to do a list of songs for playback is
a filerequester which even allows multiselection.
It's even possible to choose the whole directory with the
filerequester if no file is selected.

The other and maybe easier way is to drag and drop
files, directories or even volumes over/into the 
player window. In case of a directory or volume 
AMPlifier will recursively scan it for files it's 
able to play back. These files will be listed in the 
playlist window.


Playlist

Like the name tries to tell this is the window which 
includes and shows the list of titles to play.
Each file is displayed with length (min:secs) and
name.
MPEG-files may contain so called ID3 Tag informations
appended to the sound data. If such Tag is available
closer info will be or may be shown in the list.

In the top area of the playlist's window there are
buttons which represent functions for editing the 
playlist. One or more files may be Added to the 
actual playlist. The filerequester supports selection of
multible files (shift key!). 

There are buttions to Remove entries or 
Clear the whole list. Additionally there is
a buttion to Sort the list in alphabetical order.

As long as the player scans directories recursively 
(volumes or directories, their subdirectories and so on)
there will be a temporary break button in the bottom of the 
window. It will disappear when the scan is finished.
It was done to stop scans which take too long maybe 
because of and accidently selected Workbench partition
or something equivalent.
Entries in the playlist which are/were played will change
from bold font to normal font. 

A very special bonbon of the GUI is the XY-scrolling 
Listview which does softscrolling using any font! Up to 
programmers knowledge it's a unique GUI element at Amiga
up to now.


Configuration

 Audio I/O    
 Options      
 Display      


Audio I/O

Since AMPlifier 2 there is a new modulare plugin system for
different input and output modules.
This modules does the filetype identification and the data streaming.
Every module can have their own info window (The mpeg audio player has
the always known ID3-Tag editor).

Every module can have an own individual configuraion window.

The following modules are currently available:

Input modules:

  MPEG audio player
  AIFF/MAUD player
  WAV player

Output modules:

  X-Audio/AHI Modul


MPEG audio player

ID3 Title

ID3-Tag is an information block which may be appended to
MPEG audio files. It usually contains title, interpret,
style etc. A checked box tells AMPlifier to read this 
information out of the file.

There is a coded string which defines the format of the 
display (have a look at the default settings to 
understand).

No question a title which doesn't contain such info data
won't allow AMPlifier to display the data!
There are several tools which may be used to enter or 
modify ID3-Tags.  

As there is a problem with ID3 regarding broadcasting 
(it's starting to be available when the song finished)
there is a new standard at the horizont. AMPlifier will
even support it when it's finished.

Decoder

At the MPEG configuration user has got the choice of doing software
or hardware based decoding. This can be configured seperately for
MPEG Audio Layer I/II and for Layer III.

MPEG Device
  Select the output driver and the unit number for MPEG
  hardware decoding.
  If there is more than one board using the same driver
  you'll have to specify it by using unit numbers. 

  For example it's even possible to use two Melody1200PRO
  in a A1200 (one on top of the other).
  Closer information available on request.

  For Melody take 'melodympeg.device'.
  Users of Peggy should enter 'peggympeg.device'.

Buffersize
  That's the size of the overall file buffer. AMPlifer 
  makes use of multibuffering for smooth playback.

Blocksize
  Blocksize specifies the size of one particular buffer.
  The overall buffersize is splitted into a calculated 
  number of small buffers with the size of Blocksize.
 
  Attention: If Peggy+, ScalaFMV is used, the 
  maximum value is 5 kB only (bug in its device).


X-Audio/AHI output

Device
  Select the output driver and the unit number.

  X-Audio
    That's the name of the Audio Device 
    (melodyaudio.device for all Melody boards).

  AHI
    If there are people who unfortunately don't have got a Melody1200
    available in their A1200 or Zorro Amiga, AHI may be choosen.
    If AHI is used it's even possible to start more instances of
    AMPlifer and play back on the same hardware (AHI does the mixing).


Buffering
  The size of the audio {b}Buffer in seconds is selected here.
  
  Primary when using software decoding there may be short 
  interrupts when an MPEG file just started playback or the
  positioning slider is moved.
  To avoid these kind of short interrupts 
  Pre-Buffering may be used.
  Via this setting it's possible to define how much of the
  audio buffer has to be filled (in percent) until audible 
  playback starts. 

  Additionally the user may modify the Priority 
  of the audio Task. A priority of 20 or more is recomended
  in case of problems.
  Finally it strongly depends on the machine and its CPU
  which is used for playback.



Options

Check filetype information on load
  This checkbox forces AMPlifier to check filetypes while 
  building the playlist. Files of types it doesn't know 
  won't be shown at the playlist.

  This confguration topic doesn't prevent AMPlifier to 
  check any file before it plays it back, though.

Song Dir
  Default directory for songs.

Playlist Dir
  Default directory for playlists.

Start File
  This feature allows the user to pre-define a title or a
  directory of songs AMPlifier will start to play when
  just started.

File Pattern
  File pattern limits the search for playable files by their
  extention (f.e. #?.mp3). As AMPlifier doesn't have to 
  spend a look into each file it usually speeds up scanning
  by factors.

Start playback
  As said before the scan of a big or slow dataset may take 
  a longer time. AMPlifier is able to start playback before 
  the whole list is ready.
  The time (in seconds) it should wait until starting the 
  first song may be entered here, too.

  Attention: If a very short time is choosen random play
  will allways start with the same song(s) for sure. 



Display

Skins
  Beside the traditional GUI which shows up by default, so 
  called skins known from PC's WinAMP may be used. This 
  drawn GUIs are often difficult to look at (not 
  economical) and don't offer the feature of resizing. 
  Regarding useablity they're bad but fresh and colorfull
  on the other hand. 
  
  If skins are used the GUI includes a display area for
  Volume Meter, Oscilloscope or 
  Spectrum Analyzer. Click left below the time 
  display for toggling
 
   (If Melody1200 with MPEG hardware support is build into 
    the machine special hardware is used to display the 
    analysis graphics!).

  At this area the directory which contains the skins 
  may and should be entered.

  The Skins from PC world are done in Truecolor. If they're 
  used at an Amigascreen which offers a lower number of
  colors (usually true for A1200) the may loog quite ugly.
  
  Even less colors look nice if color reduction is done.
  If the skin does't look very nice take color reduced ones
  or do the reduction yourself if you can.
  Sometimes there are stronger problems regarding display
  of skins. Usually the picture.datatype is 
  defective/old and slow. Take a new one!
 
  As soon as Skins are enabled a new menue bar will be 
  shown in Settings Menue.
  That's the place where skins may be changed and selected.

Skin Directory
  Directory where to find the skins

Skin
  Actual skin

solid windowmove
  AMPlifier 2 supports window moving in realtime. This mean the
  window will follow the actual mouse position automaticaly.

  The windows can be draged on every position where isn't a gadget
  (not only on the titlebar).

Snap windows at nn pixel
  This option does the automatic window docking. The distance
  between the windows when they will be docked can be set.


Settings and Parameters

There are several options which may selected via tooltypes
or as a parameter in the shell. 

Following Tooltypes are available in programm's Icon:

CONFIG=Prefsfile
  Prefsfile is a file into which AMPlifier stores its 
  configuration. It's probably only usefull to change the
  name if there is more than one instance if AMPlifier 
  running with different configuration. 
  (Default: ENVARC:AMPlifier.prefs)

CX_POPUP=Yes/No
  This Tooltype is a standard one of AmigaOS.
  If 'No' is entered, AMPlifier starts up as an AppIcon 
  only. The GUI is not visable for first. 
  This is equivalent to iconify in pull-down-menue of 
  AMPlifier.

CX_POPKEY=Hotkey
  Hotkey defines the kombination of keys which
  (re-)activates the GUI. 
  (Default: shift-F1)

CX_PRIORITY=pri
  Defines the startup priority of Commodity 
  (standard feature)

MPEGDevice=MPEGDeviceName
  This is where the Device Name of the MPEG Hardware is 
  entered.
  For Melody 1200 pro und plus take 'mel1200mpeg.device'.
  Peggy User should take 'peggympeg.device' instead.

  (mpeg.device not xaudio.device !!!)

MPEGUnit=Nummer
  Identification of more than one Soundboards using the 
  same device (default: 0)

  (unit mpeg.device not xaudio.device !!!)

AudioDevice=AudioDeviceName
  This is the name of the Audio Hardware.
  Regarding Melody1200 'mel1200audio.device' is the right
  choice.

  (xaudio.device not mpeg.device !!!)

AudioUnit=Nummer
  Identification of more than one Soundboards using the 
  same device (default: 0)

  (unit of xaudio.device not mpeg.device !!!)

BlockSize=Blocksize in KBytes
  Blocksize specifies the size of one particular buffer.
  The overall buffersize is splitted into a calculated 
  number of small buffers with the size of Blocksize.
 
BuffSize=Overall size of memory used for buffering
  That's the size of the overall file buffer. AMPlifer 
  makes use of multibuffering for smooth playback.

noAppIcon
  The player doesn't show an AppIcon on Workbench.

PubScreen=ScreenName
  Screenname is one of the allready opened Public 
  Screens on which AMPlifier will open its GUI on.

AudioPri=Prioritt
  This is the priority of the Audio task (default 21)

RemainingTime
  The player doesn't display time elapsed but the time 
  remaining.

Pattern=\#?.(MP2|AIFF|WAV|MAUD)
  At filerequesters only files matching the pattern are 
  displayed.

Random
  The Player plays all entries at random order instead
  of alphabetical order.
  
Loop
  AMPlifier doesn't stop playback after the whole list
  is finished but restarts playback again.

CDDA
  If CDDA is not activated, it's not possible to playback 
  unknown filetypes which don't contain a header.
  By default it's deactivated to protect AMPlifier from 
  playing back f.e. non-audio files.

CDDAIntel
  For CDDA files (raw) there are two different orderings
  which have got their root at CPU level. The flag enables
  playback of foreign data.
  As CDDA is headerless it's usually required to check it
  out or know about the data before.

StopBeforeScan
  Before AMPlifier plays back a new song it checks if  
  knows the filetype.
  At some configurations it's a problem if one song is 
  currently played and a second one is scanned to identify
  it. Using this flag AMPlifer will stop the previous
  song until having a look at the next one.

Visual=1,2,3
  This is used to select the display which is used at the
  the skin GUI.
  1=Volume Meter, 2=Oscilloscope, 3=Spectrum Analyzer

SAScale=spectrum scale
  This is the scaling of the frequency range at the 
  Spectrum Analyzer Effect.

VisualPri=pri
  This is the priority of the Visualization task

Many options are even available as shell arguments
The meaning is equivalent to the WB Tooltypes.

    FILENAME=StartFile
    CONF=CONFIGFILE
    CX_POPUP=<YES/NO>
    DEV=DEVICENAME
    U=UNIT
    BUFF=BUFFERSIZE
    BLOCK=BLOCKSIZE
    PS=PUBLICSCREEN




