@database TinyPlayer
@master TinyPlayer.guide
@$VER: TinyPlayer.guide 2.2 (7.8.95)
@author "Hjalmar Wikholm"
@(c) "© Hjalmar Wikholm 1995-1996"
@remark Created with Heddley v1.1 (c) Edd Dumbill 1994

@node "Main" "TinyPlayer 2.2"
@next "about"


                             TinyPlayer 2.2

                          A tiny module player

                           By @{"Hjalmar Wikholm" link "author" 0}

 @{"About TinyPlayer" link "about" 0}
 @{"About copyright and responsibility for damage" link "legal" 0}
 @{"System requirements" link "system" 0}
 @{"Installation" link "installation" 0}
 @{"Usage" link "usage" 0}
 @{"Known bugs" link "bugs" 0}
 @{"The author" link "author" 0}
 @{"Todo" link "todo" 0}
 @{"Wanted!!!" link "wanted" 0}
 @{"History of releases" link "history" 0}
@endnode

@node "about" "About TinyPlayer"
@next "legal"
@prev "Main"
Wow, you think, another module player. Isn't there enough of those?

Yes, but this one is smaller and uses less system resources than the
others.

Despite it's small size TinyPlayer has some nice features:

 * Plays ProTracker, PlaySID, MED, OctaMED and the new OctaMED Soundstudio
   channel mixing modules.
 * Handles MED (all types) and PlaySID multi-modules.
 * Handles modules packed with XPK. (requires xpkmaster.library)
 * Handles modules packed with PowerPacker. (requires powerpacker.library)
 * Full @{"WB support" link "wb_usage" 0}.
 * A tiny @{"ARexx interface" link "arexx_usage" 0}.
 * A fully font sensitive GUI! ;-)

The program itself is under 13 KB, and it uses the excellent
@{"ptreplay.library" link "PTReplay.readme/main" 0} by Andreas Pålsson (© 1996) and playsid.library
by Per Håkan Sundell and Ron Birk (© 1994). It also uses
medplayer.library, octaplayer.library and octamixplayer.library by
RBF Software (© Teijo Kinnunen and Ray Burt-Frost).

TinyPlayer was developed (well, sort of...) using Amiga E 3.2e by Wouter
van Oortmerssen, Bumpee 1.44 by Leon Woestenberg and FrexxEd 2.0 by
FrexxWare. All these are terrific programs which you really should try
using.

The latest version of TinyPlayer can always be found on the WWW at URL
http://www.canit.se/~hjalle/tinyplayer.html
@endnode

@node "legal" "About copyright and responsibility for damage"
@next "system"
@prev "about"
TinyPlayer is Copyright © 1995-1996 Hjalmar Wikholm

This software is subject to the "Standard Amiga FD-Software Copyright Note"
It is MAILWARE as defined in paragraph 4b.

If you like it and use it regulary please send a message to me by e-mail or
snailmail.

For more information please read "@{"AFD-COPYRIGHT" link "AFD-COPYRIGHT/main" 0}" (Version 1 or higher). You
must specifically read paragraph 3 about responsibilty for damage.

The original archive consists of the following files:

 TinyPlayer - The program itself. 12764 bytes.
 TinyPlayer.info
 TinyPlayer.guide - This file. 12746 bytes.
 TinyPlayer.guide.info

 QuitTP.rexx - 82 bytes
 NextSongTP.rexx - 183 bytes
 PrevSongTP.rexx - 187 bytes

 AFD-COPYRIGHT - 7551 bytes
 AFD-COPYRIGHT.info

 ptreplay.library - Version 6.6
 PTReplay.readme - 4204 bytes
 PTReplay.readme.info

 medplayer.library - Version 7.0
 octaplayer.library - Version 7.0
 octamixplayer.library - Version 7.0
@endnode

@node "system" "System requirements"
@next "installation"
@prev "legal"
TinyPlayer needs version 36 or newer of the Kickstart. It also needs
ptreplay.library V4 to play ProTracker modules. medplayer.library V7,
octaplayer.library V7 and octamixplayer.library V7 are required to play
the different types of MED modules. These four libraries are included in
this archive. TinyPlayer needs playsid.library to be able to play PlaySID
modules. However, I am not allowed to include it in this archive. You
should be able to find it along with the rest of the PlaySID package on
AmiNet or your local BBS.

xpkmaster.library must be available to load files packed with XPK.
powerpacker.library is required to load powerpacked files.
asl.library V36 is used for filerequesters.
@endnode

@node "installation" "Installation"
@next "usage"
@prev "system"
There is no Installer script for TinyPlayer. You have to install it
manually.

First copy the libraries to your LIBS: directory. Then I suggest that you
rename the executable file as TP and copy it, together with it's icon, to a
directory in your path. The ARexx file should be copied to REXX:. Put this
file wherever you want...
@endnode

@node "usage" "Usage"
@next "bugs"
@prev "installation"
TinyPlayer can used both from @{"CLI" link "cli_usage" 0} and from @{"Workbench" link "wb_usage" 0}. It also has an
@{"ARexx interface" link "arexx_usage" 0}.

TinyPlayer will open a small window on a public screen of your choice. To
stop playing the module and quit the program, just click on the close
gadget of the window. Other ways to quit TinyPlayer is through the ARexx
interface or by sending CTRL-C to the process.

TinyPlayer is pure and can be made resident.

TinyPlayer can not be run more than once at the same time. When a new
TinyPlayer process is started it checks if it already exists a messageport
called "TINYPLAYER". If it does the new process will quit immediately.
This is to prevent strange behaviour when the player libraries tries to
play several modules at the same time.

 @{"CLI" link "cli_usage" 0}

 @{"Workbench" link "wb_usage" 0}

 @{"ARexx" link "arexx_usage" 0}
@endnode

@node "bugs" "Known bugs"
@next "author"
@prev "usage"
If you first play a PT module and then some sort of MED module TinyPlayer
may report "Could not allocate resources needed to play module". This is
actually not a bug. It happens because ptreplay.library V5 does not release
the audio channels unless it is flushed out of memory. This means that a
simple AVAIL FLUSH will solve the problem in most cases.

This problem should not occur if you use ptreplay.library V6.6.
@endnode

@node "author" "The author"
@next "todo"
@prev "bugs"
If you for some reason want to contact me, use one of these addresses:

 Snail mail: Hjalmar Wikholm
             Ölmevägen 3
             123 32 FARSTA
             SWEDEN

 Phone:      +46-8-724 90 19
 Fax:        Call first!

 Internet:   hjalle@canit.se
 Homepage:   http://www.canit.se/~hjalle/engindex.html

 Fidonet:    2:201/411.98
 Amiganet:   39:164/100.98

Please use E-mail if possible.

This is my public pgp key. Spread it in all possible ways as long as it
is not modified in any way.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6ui (Amiga)

mQBNAi72HKUAAAECAJdhqldAk6evbZSueV3Y5382hledrJz77Cxg+JgNTXFRmt+t
bsV5tcHXNco6B2K7v4ziscGy77maIo2pnWtuSRkABRG0IUhqYWxtYXIgV2lraG9s
bSA8aGphbGxlQGNhbml0LnNlPrQsSGphbG1hciBXaWtob2xtIDxoamFsbGVAcDk4
LmFuZXQuYmJzLmJhZC5zZT4=
=9E8e
-----END PGP PUBLIC KEY BLOCK-----

@endnode

@node "todo" "Todo"
@next "wanted"
@prev "author"
So, what features may come in later releases of TinyPlayer? Probably some
of these:

* Localization.

* A better ARexx interface.

* Support for Jamcracker modules. (Do you want that? I have never seen a
  Jamcracker module.)

* A bit of user interface. (But then it will be NotSoTinyPlayer...)

* Your ideas!
@endnode

@node "wanted" "Wanted!!!"
@next "history"
@prev "todo"
 * Bugreports. TinyPlayer has been tested with Enforcer and should not
   have any major bugs. If you find a bug, report it! Please! Also report
   spelling mistakes in this text. :-)

 * Player libraries for other module formats. I will only add formats if I
   have libraries for them.

 * MagicWB and NewIcons type icons.
@endnode

@node "history" "History of releases"
@next "Main"
@prev "wanted"
2.2  Released 96.8.7 Version 12.22

     Support for OctaMED Soundstudio channel mixing modules.

2.1  Released 96.6.10 Version 12.20

     TinyPlayer now plays PlaySID modules. Support for MED and OctaMED
     multi modules has also been added.

     The NOWIN @{"tooltype" link "wb_usage" 0} has been changed to WIN=yes|no. This means that
     settings in the module icon override settings in the program icon.

2.0  Released 95.11.25 Version 12.17

     Several new features (and probably bugs) added.

     Support for powerpacked and XPK-packed modules. ARexx interface.
     Workbench and tooltypes support. Looping optional. File requesters.

1.1  Released 95.3.31 Version 11.16

     MED and OctaMED support added.

1.0a Released 95.3.10 Version 11.10

     Release 1.0 gurued on OS versions older than V36. I used PutStr(), 
     which is V36 function, to print that TinyPlayer needs V36 of the 
     dos.library. Stupid mistake. Sorry about that! TinyPlayer was never
     supposed to work on old versions but it wasn't supposed to crash
     either. FIXED

1.0  Released 95.3.4 Version 11.8

     First release.
@endnode

@node "wb_usage" "WB support"
@toc "usage"
@next "arexx_usage"
@prev "cli_usage"
There are three different ways of using TinyPlayer via the workbench: you
can set the default tool of the module to 'TinyPlayer', you can single
click the TinyPlayer icon and then double click the module icon or you can
double-click the TinyPlayer icon and pick a file using the file requester.

TinyPlayer recognizes the following tooltypes:

WIN=no    TinyPlayer will not open a window. The default is WIN=yes.

NOWIN     Equivalent to WIN=no. However, if the WIN tooltype is found then
          NOWIN will be ignored.

LOOP=no   The module will not loop. TinyPlayer will play it once and then
          quit. This feature is only available with Protracker modules.
          The default is LOOP=yes.

XPOS=<n>  Specifies where TinyPlayer's window will be opened.
          Number of pixels from the left edge of the screen.
          (Default=100)

YPOS=<n>  Number of pixels from the top edge of the screen.
          (Default=0)

SONG=<n>  Which song in a multi module TinyPlayer is to play.
          In a MED module the first song has number 0.
          In a PlaySID module the first song has number 1.

PUBSCREEN=<name>
          Specifies which public screen the window will be opened on. If
          the screen does not exist TinyPlayer will fail.

The tooltypes can be set both in TinyPlayer's icon and in the module's
icon. Settings in the module's icon override settings in TinyPlayer's
icon.
@endnode

@node "arexx_usage" "ARexx interface"
@toc "usage"
@next "usage"
@prev "wb_usage"
TinyPlayer has an ARexx interface with three commands! The ARexx port is
called "TINYPLAYER". See the files @{"QuitTP.rexx" link "QuitTP.rexx/main" 0}, @{"NextSongTP.rexx" link "NextSongTP.rexx/main" 0} and
@{"PrevSongTP.rexx" link "PrevSongTP.rexx/main" 0} for fully working examples of all commands!

Command Reference:

All these commands will return 20 if the command failed, 10 if there is
a less critical error and 0 if all went OK.

QUIT     Quits TinyPlayer.

NEXTSONG Play the next song in a multi module.

PREVSONG Play the previous in a multi module.

NEXTSONG and PREVSONG returns the number of the new song in the RESULT
variable.
@endnode

@node "cli_usage" "CLI"
@toc "usage"
@next "wb_usage"
@prev "usage"
FORMAT:   TINYPLAYER [<module>] [NOWIN] [NOLOOP] [INFO] [<xpos>] [<ypos>]
          [PUBSCREEN <name>] [SONG <num>]
TEMPLATE: MODULE,NOWIN/S,NOLOOP/S,INFO/S,XPOS/N,YPOS/N,PUBSCREEN/K,
          SONG/K/N
PURPOSE:  To play ProTracker, MED, OctaMED and PlaySID modules.

Options:

MODULE    Name of file/directory. If no name is given a file requester
          will be opened.

NOWIN     If this switch is set TP does not open a window.

NOLOOP    The module will not loop. TinyPlayer will play it once and then
          quit. This feature is only available with Protracker modules.

INFO      Displays a bit of info about the program.

XPOS      Specifies where TinyPlayer's window will be opened.
          Number of pixels from the left edge of the screen.
          (Default=100)

YPOS      Number of pixels from the top edge of the screen.
          (Default=0)

PUBSCREEN Specifies which public screen the window will be opened on. If
          the screen does not exist TinyPlayer will fail.

SONG      Which song in a multi module TinyPlayer is to play.
          In a MED module the first song has number 0.
          In a PlaySID module the first song has number 1.

Examples:

 * TinyPlayer hd1:Modules/mod.Aurora 200 100 PUBSCREEN SPOT

      Load and play "hd1:Modules/mod.Aurora". The window will open on the
      public screen called "SPOT" and it will be positioned 200 pixels
      from the left edge and 100 pixels from the top edge of the screen.

 * TinyPlayer NOWIN NOLOOP

      You will be presented with a file requester. TinyPlayer will not
      open a window. The module will be played only once.

 * TinyPlayer ram:

      You will be presented with a file requester with ram: as current
      directory.
@endnode
