

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

		      FORTEX Replay Libray Ver 3.4

			     By Eric Fortier

		 ShareWare Version 3.4 December 15, 1992
		 ShareWare Version 4.4 January 11, 1992
		 ShareWare Version 5.0 January 11, 1992

		      Released on January 25, 1992

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


What is this?
=-=-=-=-=-=-=

 "What's this new library?" might you wonder. It's a Tracker Replay
 Library! "Yeah sure, another of those lousy player..." NOT! This library
 was made after many attempts to locate a good player library. It's not
 like any other presently available. Why? Well. Read this:

 Starting with Version 4.4, FortexReplay now includes MED modules playing!
 Also OctaMED Pro!

 Starting with Version 5.0, FortexReplay now includes SoundMonitor Player!



Where's the difference?
=-=-=-=-=-=-=-=-=-=-=-=
 The difference is that this library, which fully multitask under 2.0 and
 above, as well as 1.3, can play Sound Tracker, Noise Tracker, MED, OctaMED,
 ProTracker and Sound Monitor modules! The player can handle all new 2.3A
 pro tracker commands, as well as PowerPacked compressed modules. *AND*
 one final goodie is that the player use a CIA interrupt, so that every
 module will play at the right speed on any machine, PAL or NTSC!



Hey, that's cool! how do I install the thing?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 That's the easiest part. First, you have 2 versions of the library:

	FortexReplay.Library	--	10704 Bytes, Virus free
	streplay.library	--	10704 Bytes, still Virus free

 The original library is the FortexReplay.Library. This library is to be
 released in a commercial package in the near future. This one is intended
 to be used by programmers. The second one, the streplay.library, is to
 replace the original all-too-used streplay.library by	Olli, dem Größten,
 or the modified streplay.library done by Jonathan Potter.

 Simply copy the streplay.library to your LIBS: directory and VOILA! all
 programs that used the old STReplay.library will now use the new library.

*NOTE*
 if you don't reboot your machine, an old streplay.library might still be
 resident in the system. If you run no program that uses the library,
 simply flushing the memory will wipe all unused libraries from memory. if
 for some reason the OpenCount of the library if greater than ZERO, the new
 library *WILL NOT* be loaded instead of the old one. You'll have to
 reboot. So a good way would be to reboot your machine.
*NOTE*

 Programmers! please use the FortexReplay.Library instead of the
 streplay.library. The latter was only meant to replace previous version.
 (please refer to the Programmer's Reference Section for library calls)

 To play modules, simply pass the name of a module to the LoadModule. The
 Library will identify the module and use the appropriate player.

 The library first check to see if the module is a MED module (MMD0
 Header). Then it check to see if the file is a SoundMonitor (V.2 header)
 then the library defaults to a PT/ST module. BEWARE! no sanity check to
 ensure the module is PT/ST! (i'm being laze here!)



Now for the BAD news...
=-=-=-=-=-=-=-=-=-=-=-=
 This library is *NOT* Public Domain. Hence, no source code was included
 into this release. If for any reason you wish to have modification made to
 this library, please contact me at the supplied contact point at the end
 of this text file. I'll be happy to modify the library to suits anyone's
 wishes.

 So.. If you USE either streplay.library Ver 5.0 by Eric Fortier (that's
 me!) or the FortexReplay.Library Ver 5.0 also by Eric Fortier, you'll
 have to pay the ShareWare fee of $20 US dollars. This will give you the
 following:

      *>  Unlimited updates on these two cool libraries

      *>  updates on the upcoming FORTEX.LIBRARY (read text below)

      *>  access to my BBS with all new updates and huge PD section

      *>  the right to use these two libraries during your current life
	  span in this world (if, for any reason, you leave this world, and
	  decide to use the library elsewhere, you'll have to pay the
	  "OuterWorld" fee)




Programmer's Reference Section.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

here is a list of all functions available in both libraries.

NAME:
	PauseModule ()
	-78

DESCIPTION:
	This function pause the current module.

INPUTS:
	none

OUTPUTS:
	none

SEE ALSO:
	ResumeModule
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


NAME:
	ResumeModule ()
	-84

DESCIPTION:
	This function resume the currently paused module

INPUTS:
	none

OUTPUTS:
	none

SEE ALSO:
	PauseModule
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


NAME:
	SelectMultiModule (Module)
	-72		   D0

DESCIPTION:
	This function let you select which module you want to play. The
	module *MUST* be a MED multi module.

INPUTS:
	D0: Module Number. (no sanity check! beware!)

OUTPUTS:
	none

SEE ALSO:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


NAME:
	LoadModule (ModuleName)
	-30	    a0

DESCRIPTION:
	This function tries to load a ST/NT/PT module in memory. If the
	module is a Powerpacker packed module, it will decrunch and then
	return to the calling program.

INPUTS:
	a0: the complete filename of the module. module name can be
	    anything and don't have to have the MOD. prefix, or the .pp
	    suffix (for PowerPacker modules)

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	UnLoadModule(), PlayModule()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


NAME:
	UnLoadModule()
	-36

DESCRIPTION:
	This function simply unload a module, and free all allocated
	memory. If no module was loaded, the routine simply return, with no
	hard done.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	LoadModule(), StopModule()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NAME:
	IsModule()
	-42

DESCRIPTION:
	This function simply returns TRUE if the loaded module was correctly
	loaded in memory. If the result is FALSE, then the module could not
	be loaded correctly.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	IsPlaying()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NAME:
	PlayModule()
	-48

DESCRIPTION:
	this funciton starts the module. When the module ends, it will be
	restarted from the beginning. if no module is loaded, the routine
	simply returns. Once again with no harm done.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	PlayOnce(), StopModule()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NAME:
	PlayOnce()
	-66

DESCRIPTION:
	this funciton starts the module, but only once. if no module is
	loaded, the routine simply returns. Once again with no harm done.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	PlayModule(), StopModule()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NAME:
	StopModule()
	-54

DESCRIPTION:
	This function simply stops the module. if no module if playing,
	nothing is done.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	PlayModule(), PlayOnce()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NAME:
	IsPlaying()
	-60

DESCRIPTION:
	This function simply returns TRUE if the loaded module is playing,
	or FALSE if nothing is currently being played.

INPUTS:
	none

OUTPUTS:
	none

BUGS:
	none known

SEE ALSO:
	IsModule()
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Here are the offsets for the Libraries calls.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 LoadModule(filename)           -30
 UnloadModule()                 -36
 IsModule()                     -42
 PlayModule()                   -48
 StopModule()                   -54
 IsPlaying()                    -60
 PlayOnce()                     -66
 SetMultiModule(module)         -72
 PauseModule()                  -78
 ResumeModule()                 -84


Final Words
=-=-=-=-=-=
 I hope this library helps all of you music fans out there. All
 comments/Bugs reports/Insults/any changes demands/... welcome. Please feel
 free to contact me at these locations:

	On SMORG BBS under user name ERIC FORTIER
	   =-=-=-=-=		     =-=-=-=-=-=-

	On *MY* BBS at 418-653-8652 24 hours

	Leave a message on my answering machine at 418-653-5125
		=-=-=-= 			   =-=-=-=-=-=-

	Send me mail and ShareWare fees at

			Eric Fortier
			875 ave Rigaud
			Ste-Foy, QC
			Canada
			G1X 2T7


Future Plans...
=-=-=-=-=-=-=-=
 Are we not all tired of having to cope with so many ugly looking
 libraries? we sure do. that is why I am currently programming the Ultimate
 library called FORTEX.LIBRARY. Here is a brief list of the CURRENTLY
 WORKING functions of this new lib:

	* has already over 130 functions, and under 40K!
	* programme dentirely in assembler, for fast code
	* has many functions to Print text, variables, select fonts
	* open screens with 1 simple call with *NO* arguments
	* support of 640x400x4 down to 320x200x1 HAM, EHB, AGA(soon)
	* all internal processing (messages, devices, ports) are handled
	  within the library, leaving the user with the liberty to code
	  at his/her own will
	* has many IFF routines for decoding, displaying IFF graphic,
	  compressed or not
	* has many gadget routines, requester routines
	* graphics routine such as Line Draws, Circles, ect.
	* math FFP and IEEE routines
	* it's own WINDOW/BORDER management for ULTRA clean and
	  professionnal looking displays
	* a complete database system for keeping trace of anything, files,
	  messages, or anything
	* is 100% multitasking, 100% DOS 1.3/2.0/3.0 friendly
	* file handling for read, writes, Exists, Delete, Makedir, ect, ect
	* Serial Support for easy acces to serial ports (or any device:
	  siosbx.device, duart.device, ect, ect)
	* ST/NT/PT routines built-in

Future plans:

	* Animation support for most formats
	* sound/music playing from most formats
	* picture conversion to/from most formats
	* file transfer to/from most formats (read MS-DOS, ...)
	* programmable functions

 the library will be designed so you WON'T need any other library! that's
 what I want for myself and for other.


	and remember:

	"Spread the word,
		   not the disk
			  nor the file"

	"Royalties will ensure more support and flexibility to any
	 software"

