


**********************************************************************
*                            DeliTracker V1.11			     *
**********************************************************************


                            © 1991 by Delirium
                             Datum 30.10.1991


========================== Was ist DeliTracker ? =====================

DeliTracker ist ein Soundplayer, der viele verschiedene Soundformate
abspielen kann. Soundtracker, Noisetracker und CustomPlay sind interne
Player, zusätzliche können von Disk nachgeladen werden. Das bedeutet,
daß man sehr schnell, einfach und bequem neue Player hinzufügen kann.


======================= Was DeliTracker nicht ist ! ==================

Bei DeliTracker handelt es sich nicht um einen Songeditor, MIDIsequenzer
oder Digitizer. Er ist ausschließlich dazu gedacht, komfortabel Musik
abzuspielen.


================== Wieso gerade DeliTracker benutzen ? ===============

	° läuft zuverlässig im Multitasking
	° belegt die Soundkanäle
	° hat ein ARexx - Interface
	° korrekte Abspielgeschwindigkeit auch auf NTSC-Geräten
	° unterstüzt mit PowerPacker gecrunchte Soundfiles
	° verwaltet bis zu 32 verschiedene Player
	° läuft unter Kickstart 2.0 und auf Turbokarten
	° benutzt req.library
	° hat ein Configurationsfile
	° volle Unterstützung von CLI und Workbench (Tooltypes)
	° kinderleichte Bedienung durch ansprechende Oberfläche
	° Volume/Balance - Regler
	° Mulitselect von Files
	° Resident Startup vom CLI
	° wurde zu 100% in Assembler geschrieben
	° ... und ist von Delirium programmiert


============================ Voreinstellungen ========================

Start von DeliTracker vom CLI

Öffen sie ein CLI- oder Shellfenster und gehen Sie mittels des 'CD'-Befehls
in das Verzeichnis, in dem sich DeliTracker befindet. Geben Sie jetzt
'DeliTracker' ein (ohne die Hochkommas !) und drücken Sie die Return-Taste.
DeliTracker wird nun geladen und gestartet. Da DeliTracker sich selbst vom CLI
löst, muß er nicht mit 'run' oder 'runback' gestartet werden, um das das CLI-
Window wieder schließen zu können.
Außerdem kann man DeliTracker durch die zusätzliche Angabe von Optionen beim
Start individuell konfigurieren:

	-c<Configfile>	   lädt <Configfile> anstelle von S:DeliTracker.config
	-m<Module>	   spielt <Module> (nur, wenn es ein Player erkennt)
	-d<DeliPlayerPath> Pfad, in dem die externen Player gesucht werden
	-w<XPos>/<YPos>    Startpositionen des Controllwindows
	-p<XPos>/<YPos>    Startpositionen des Setupwindows
	-v<Volume>         setzt die Lautstärke (Bereich [0..64])
	-b<Balance>        setzt die Balance (Bereich [-64..63])
	-r<Lines>          Zeilen des Filerequester-Windows
	-n                 das Controllwindow wird nicht geöffnet
                           (nur wenn ARexx aktiv ist)
	-l                 stellt den Filter an
	-f		   stellt color decrunch des Mauszeigers ab
	-?		   gibt einen Hilfstext aus

z.B. 'DeliTracker -cDT.config -r18 -l'

Bei falschen Eingaben oder ungültigen Optionen wird ein Hilfstext ausgegeben.


Start von DeliTracker von der Workbench

Öffnen Sie den Ordner, in dem sich DeliTracker befindet und starten Sie das
Programm durch einen Doppelkick auf dessen Icon.
Mit dem 'Info'-item aus dem Workbench- b.z.w Iconmenu (je nach Kickstart)
können Sie in den ToolTypes folgende Optionen eintragen:

	'config='	   Configdatei, die bei Programmstart geladen wird
			   (vgl. -c)
	'module='	   Module, das zum Start gespielt werden soll (vgl. -m)
	'deliplayerpath='  Pfad, in dem die externen Player gesucht werden
	'windowxy='        Startpositionen des Kontrollwindows (vgl. -w)
	'prefwinxy='       Startpositionen des Setupwindows (vgl. -p)
	'volume='          setzt die Lautstärke (Bereich [0..64]) (vgl. -v)
	'balance='         setzt dir Balance (Bereich [-64..63]) (vgl. -b)
	'reqlines='        setzt die Größe des Filerequesters (vgl. -r)
	'nowindow'         das Controllwindow wird nicht geöffnet (vgl. -n)
                           (nur wenn ARexx aktiv ist)
	'lowpasson'        stellt den Filter an (vgl. -l)
	'flashpointer'	   stellt das Farbflimmern des Mauszeigers beim 
			   Entpacken ab (vgl. -f)

z.B.	Config=DT.config
	PrefWinXY=0/11
	Volume=43
	NoWindow


Ungültigen Optionen werden beim Start von der Workbench ignoriert.

DeliTracker kann natürlich auch als 'Default Tool' angegeben werden.


Die Groß- oder Kleinschreibung der Optionen im CLI oder der Workbench ist egal !

Sind die Koordinaten für die Windows zu groß, öffnet DeliTracker die Windows
an ihrer Defaultposition (0/0 Kontrollwindow, 0/1 Setupwindow).

Beim Start von DeliTracker haben die Optionen von CLI und Workbench Priorität
über ein Konfigurationsfile, d.h. die Einstellungen im Konfigurationsfile werden
dann durch die angegebene Option ersetzt.


Die vorgegebenen Einstellungen kann man auch verändern, indem man eine
Konfigurationsdatei mit 'Save Config' im 'S:'-Verzeichnis mit dem Namen 
'DeliTracker.config' abspeichert. Entscheidet man sich für ein anderes
Verzeichnis b.z.w einen anderen Namen, dann muß man dies DeliTracker
durch die 'Config'-Option mitteilen. In der Konfigdatei sind im
wesentlichen der Pfad, in dem die externen Player zu suchen sind und
der Pfad/Name des Songs der zu Speicherzeit des Files aktiv war sowie
die Positionen der beiden Fenster enthalten.

Bei Programmstart versucht DeliTracker das Configfile 'S:DeliTracker.config'
zu öffnen. Ist diese Datei vorhanden, übernimmt DeliTracker alle Einstellungen
daraus. Er lädt dann die externen Player sowie das Modul und spielt es.
Ist keine Konfigdatei vorhanden, so wird versucht externe Player aus dem 
Verzeichnis 'Deliplayers' (im aktuellen Pfad) nachzuladen. Ist dieses
Directrory auch nicht vorhanden, stehen dem Benutzer nur die integrierten
Player zur Verfügung.

DeliTracker erkennt und entpackt automatisch mit PowerPacker gecrunchte Files.
Hinweis: Custommodule (Files mit Endung .cust) dürfen nicht gepackt werden,
da sie im Gegensatz zu normalen Files nicht mit Read() sondern mit LoadSeg()
geladen werden (Relozierung des Playercodes) !

Falls genügend Speicher vorhanden ist, wird der aktuell spielende Song erst
gestoppt, wenn der angewählte komplett geladen wurde. Diese eingebaute
Doublebuffering-Routine sorgt speziell bei Floppybesitzern für Dauersoundgenuß.


================================= MenÜ ===============================

	Project
		Prefs		- öffnet Setupwindow
		Load Song	- Filerequester
				  SHIFT gedrückt halten, um mehrere 
				  Files anzuwählen
		Play/Pause	- spielen bzw. anhalten der Musik
		Stop Song	- Song anhalten, Patternzeiger auf 
				  Anfang setzen
		Quit		- ... Programmende :(

	Play
		Faster		- erhöht Abspielgeschwindigkeit
		Slower		- erniedrigt        -"-
		Forward		- Patternzeiger auf nächstes Pattern 
				  setzen
		Backward	- Patternzeiger auf vorheriges Pattern 
				  setzen
		Next Song	- nächsten angewählten Song spielen
		Prev Song	- Vorgängersong spielen (nur wenn 
				  mehrere Files angewählt wurden)
		Next SubSong	- nächsten Subsong spielen
		Prev SubSong	- vorherigen    -"-
		Kill Song	- Song anhalten und seinen Speicher 
				  freigeben


================================= Gadgets ============================

Wenn bestimmte Gadgets gerastert dargestellt werden, ist für den 
aktuellen Player diese Option nicht verfügbar. Das kann zum einen 
bedeuten, daß die Funktion vom Player gar nicht unterstüzt wird 
(wie z.B Subsongs bei SoundTracker) oder zum anderen, daß der Player 
noch nicht optimal angepaßt ist.

     +----------+--+-------------------------------------------------------+--+
     |          |  |                                                    [] |  | [15]
 [1] |    ?     +  +-------------------------------------------------------+  +
     |          |  |                           []                          |  | [14]
     +---+------+--+--+------+------+------+-----+------+------+-----+-----+--+
 [2] | + |      |     |      |      |      |     |      |      |     |  |¯¯\  |
     +---+  |<  |  <  |  <<  |  |>  |  >>  |  >  |  >|  |  []  |  ^  |  |  |  |
 [3] | - |      |     |      |      |      |     |      |      |  ¯  |  +--+  |
     +---+------+-----+------+------+------+-----+------+------+-----+--------+
           [4]    [5]    [6]   [7]    [8]    [9]   [10]   [11]   [12]   [13]

  [1]	Setupwindow (siehe unten)
  [2]	Faster: erhöht die Abspielgeschwindigkeit des aktuellen Musikstücks
  [3]	Slower: vermindert die Abspielgeschwindigkeit des aktuellen Stücks
  [4]	Prev Song: wenn nur ein File angewählt wurde und der Song mit kill
	 	   entfernt wurde, wird er wieder eingeladen. Sind mehrere
		   Files selektiert, wird der Vorgänger des aktuellen Songs
		   eingeladen.
  [5]	Prev Subsong: spielt den vorherigen Subsong.
  [6]	Backward: der aktuelle Patternzeiger wird auf das vorherige Pattern
		  gesetzt. Wird gerade das erste Pattern gespielt, wird er
		  auf das letzte gesetzt.
  [7]	Play/Pause: startet einen gepausten bzw. gestoppten Sound / hält 
		    einen gerade spielenden Song an.
  [8]	Forward: der aktuelle Patternzeiger wird auf das nachfolgende Pattern
		 gesetzt. Wird gerade das letzte Pattern gespielt, wird er
		 auf das erste gesetzt.
  [9]	Next Subsong: spielt den nächsten Subsong.
 [10]	Next Song: bei nur einem angewählten File wie bei 'Prev Song', sonst
		   wird der Nachfolger des aktuellen Songs eingeladen.
 [11]	Stop Song: setzt die Abspielgeschwindigkeit und den Patternzeiger auf
		   den Startwert zurück.
 [12]	Kill Song: stoppt den aktuellen Song und entfernt ihn aus dem Speicher.
 [13]	Load Song: öffnet den Filerequester. Wenn beim Auswählen die SHIFT-
		   Taste gehalten wird, können mehrere Files angewählt werden.
 		   Diese werden dann in eine zyklische Liste eingetragen. Nach
		   Verlassen des Requesters wird der erste ausgewähle Song
		   geladen und gespielt. Alle weiteren können über 'Next Song'
		   bzw. 'Prev Song' erreicht werden.		   
 [14]	Balance-Regler: dieses Gadget dient zur Einstellung der Balance.
 [15]	Volume-Regler:  Gadget für die Lautstärke Einstellung.


============================== Preferences ===========================

Wenn das Kontrollfenster offen ist, gelangen Sie entweder mit dem 'Prefs'-Menu
oder durch Klicken auf das '?' - Gadget in das Setup Fenster. Nun können Sie
alle wichtigen Einstellungen vornehmen. Wählen Sie dazu einen beliebigen Player
im Playerrequester an. Darauf werden im PlayerInfo-Feld alle verfügbaren
Informationen über diesen Players angezeigt. 

ADD			- Lädt den angewählten Player und legt den Pfad für
			  externe Player fest. Ein schon geladener Player
			  gleichen Namens wird allerdings nur dann durch den
			  neuen Player ersetzt, falls seine Versionsnummer
			  kleiner als die des neu geladenen Players ist.

DEL			- Löscht den selektierten Player, d.h. sein Speicher
			  wird freigegeben. Interne Player können zwar ebenfalls
			  gelöscht werden, jedoch wird deren Speicher nicht
			  freigegeben.

Filter			- Schaltet den Amiga-internen Tiefpassfilter ein oder
			  aus. Es ist von Vorteil, den Filter abgeschaltet zu
			  lassen, da dann Frequenzen über 7 kHz nicht mehr aus-
			  gefiltert werden, was zu einer merklichen Klang-
			  verbesserung führt.
			  (Dieser Schalter ist beim Amiga 1000 ohne Wirkung !)

Quickstart		- Damit kann man festlegen, ob ein eingeladener Song
			  sofort gespielt wird oder erst nach Betätigung der
			  Play/Pause-Taste. Dies kann z.B. in ARexx-Scripts
			  von Vorteil sein. Wenn ein Musikstück synchron zum
			  Einblenden eines Bildes zu spielen anfangen soll,
			  können so Lade- und Entpackverzögerungen geschickt
			  umgangen werden.

Load Config		- Eine Konfigurationsdatei laden und 'ausführen' d.h.
			  alle Player im angegebenen Playerdirectory und den 
			  Song laden.

Save Config		- Schreibt das aktuelle Song- und Playerverzeichnis
			  sowie einige andere Einstellungen in eine
			  Konfigurationsdatei.

Config Player		- Falls vorhanden, wird die spezifische Konfigurations-
			  routine des angewählten Players aufgerufen.

OK			- Schließt das Setup-Fenster. 

Sie können das Playerdirectory auch angeben, indem sie den Pfad in das 
Stringgadget (links neben ADD) eingeben.


============================== Kickstart 2.0 =========================

Die Version für Kickstart 2.0 unterscheidet sich in folgenden Punkten von der
für Kickstart 1.3:

	° die Farben sind an Kick 2.0 angepaßt
	° das Kontrollfenster besitzt ein Zip-Gadget
	° das Menuhandling erfolgt mittels ROM-Routinen
	° Module können auch gespielt werden, indem ihr Icon in das
	  Kontrollfenster abgelegt wird.


================================== Rexx ==============================

Bei eckigen Klammern [...] kann ein Argument angegeben werden, bei spitzen
Klammern <...> muß es angegeben werden.


DeliTracker stellt als 'Functionhost' folgende Komandos zur Verfügung:

quit			- beendet DeliTracker

filter <BOOL>		- Schaltet den Filter ab, falls die angegebene Zahl
			  gleich 0 ist, ansonsten wird der Filter eingeschaltet.

quickstart <BOOL>	- Schaltet die Quickstart-Funktion ab, falls die
			  angegebene Zahl gleich 0 ist, ansonsten wird der
			  Quickstart eingeschaltet.

volume <VOL>		- Setzt Volume auf <VOL> (Bereich von VOL: 0 - 63)		

balance <BAL>		- Setzt Balance auf <BAL>, 0 ist default, -64 nur Links,
			  63 nur Rechts (Bereich von BAL: -64 bis 63)

forward			- Nächstes Pattern spielen

backward		- Vorheriges Pattern spielen

nextsong		- Nächsten Song spielen

prevsong		- Vorherigen Song spielen

nextsubsong		- Nächsten Subsong spielen

prevsubsong		- Vorherigen Subsong spielen

faster			- Abspielgeschwindigkeit erhöhen

slower			- Abspielgeschwindigkeit erniedrigen

loadconfig [DATEI]	- Konfigdatei [DATEI] laden wenn [DATEI] angegeben
			  wurde, sonst Requester für 'Konfigdatei laden'
			  öffnen. 

saveconfig [DATEI]	- Konfiguration in [DATEI] sichern, wenn [DATEI]
			  angegeben wurde, sonst entsptrechenden Requester
			  öffnen.

loadplayer [PLAYER]	- Lädt den angegebenen Player, ansonsten wird der
			  Requester zum Player-Laden geöffnet.

deleteplayer <NUMMER>	- Entfernt den Player mit der angegebenen Nummer aus
			  der Playerliste.
			  Bei diesem Kommando ist allerdings zu beachten, daß
			  die Module des gelöschten Players ab sofort nicht
			  mehr erkannt werden.

configplayer <NUMMER>	- Ruft die Konfigurationsroutine des dazugehörigen
			  Players auf.

playpause		- Der aktuell spielende Song wird alternierend gespielt
			  und angehalten.

stop			- Stoppt den aktuell spielenden Song.

playmod [MODUL]		- Falls [MODUL] angegeben, wird es geladen und abspielt,
			  sofern ein Player es erkennt. Ansonsten öffnet sich
			  der Filerequester zur Dateiauswahl.

openmainwin		- Öffnet das Kontrollfenster

closemainwin		- Schließt das Kontrollfenster (jetzt kann DeliTracker
			  nur noch von REXX aus gesteuert werden).

openprefswin		- Öffnet das Setup-Fenster 

closeprefswin		- Schließt das Setup-Fenster	


status	<group> <dependent> - group kann entweder p, m oder g sein.

	p : 	Player

<dependent>  = 	<playernum> <cmd>

	       <cmd> 		Bedeutung 	und 	Returnwert
		 
		nam		Playername		String
		cre		Creatorname		String
		ver		Versionsnummer		Zahl
		vol		Lautstärke veränderbar	0/1
		bal		Balance veränderbar	0/1
		jmp		Patternjump verfügbar	0/1	
		spd		Playspeed regelbar	0/1	
		sub		Subsong verfügbar	0/1	
		cfg		Player konfigurierbar	0/1	


	g : 	Global

<dependent>  = 	<cmd>	

	       <cmd> 		Bedeutung 	und 	Returnwert

		ver		DeliTracker Version	Zahl
		dir 		Playerverzeichnis	String		
		num 		Playeranzahl		Zahl
		led 		Filter-Zustand		0/1
		qst 		Quickstart-Zustand	0/1
		ptr 		Flashpointer-Zustand	0/1 
		mwi		Kontrollfenster offen	0/1
		pwi 		Setup-Fenster offen	0/1
		vol 		derzeitige Lautstärke	Zahl
		bal 		derzeitige Balance	Zahl
		ply		Song spielt		0/1

	m : 	Module

<dependent>  = 	<cmd>	

	       <cmd> 		Bedeutung 	und 	Returnwert

		dir 		Modulverzeichnis	String		
		fil	 	Modulname		String		
		pnr 		aktiver Player		Zahl
		max	 	Module in Modulliste	Zahl
		num 		Position in Modulliste	Zahl


Dadurch kann DeliTracker voll von Rexx aus kontroliert werden. Dies ist
z.B. in Verbindung mit AmigaVision(TM) sehr nützlich. 


================================= Player =============================

Derzeit unterstüzte Soundformate:

Intern:	° SoundTracker 2.0 (15 Instrumente), SoundTracker 2.3 (31 Instrumente),
	  NoiseTracker 2.0, ProTracker 1.1 und StarTrekker 4 Voices. Dieser
	  Player hat alle Features.

	° Custom, für Module deren Player im Modul enthalten ist. Da diese
	  Module (wg. Playercode) reloziert werden müssen, können diese Module
	  nicht gepackt werden. Die Erkennung dieses Typs geschieht über ein
	  File in dem am Anfag 'DeliTracker Custom' stehen muß, danach kann
	  ein beliebiger Kommentar folgen. Das Modul selbst muß den Namen
	  dieses Files mit der Endung '.cust' tragen. Der Aufbau des Modul-
	  kopfes ist dem mitgelieferten Includefile zu entnehmen. Mit diesem
	  Modultyp ist es sehr einfach Spezialplayer, die nur für ein
	  spezielles Modul geschrieben wurden, anzupassen
	  (z.B. Beast II,Unreal).

Extern:	° TFMX 1.5

	° TFMX Pro

	° TFMX new  (für neuere Module aus diversen Spielen)

	° Future Composer 1.0 - 1.3

	° Future Composer 1.4

	° SoundMon 2.0

	° JamCracker 1.0

	° Delta Music 1.0

	° Delta Music 2.0

	° Mark II Soundsystem

	° SoundFX 1.3

	° SidMon 1.0

	° SidMon 2.0

	° Fred

	° Game Music Creator

	° The Musical Enlightenment

	° Music-Assembler

	° MED 3.11			(für Module, nicht für Songs)


Mehr Informationen über externe Player und Custom-Modules sind im Includefile
'DeliTracker.i' enthalten. 


=============================== Problemecke ==========================

Symptom: Prefernences Window läßt sich nicht öffnen.
Überprüfen Sie, ob die Höhe des Screens auf dem DeliTracker läuft
mindestens 190 Pixel + Titelbarhöhe ist. Bei einem zu schmalen oder zu
niedrigen Screen läßt sich nämlich das Preferences Window nicht öffnen.
Gegenmaßmahme: Verkleinern Sie den Font (topaz 8) oder benutzen Sie
einen größeren Screen.

Ein Hinweis an alle Bezitzer von Turbokarten (speziell 68030 und höher):
Obwohl DeliTracker selbst problemlos auf schnelleren Prozessoren läuft,
können sie bei einigen nicht sauber programmierten (externen) Playern zu
Problemen führen. Das Timing mancher Abspielroutinen ist nämlich nur auf
den 68000'er zugeschnitten und verursacht dann ein Klirren oder Auslassen
von Noten. Zum Abstürzen der Player oder gar von DeliTracker selbst kann
dies aber nicht führen. Auch in späteren Versionen von DeliTracker wird es
voraussichtlich keine turbofeste Version solcher Player geben, da es oft
fast unmöglich ist, diese entsprechend umzuprogrammieren.

Ein Hinweis an alle Bezitzer von NTSC-Amigas und Amigas mit ECS-Denise:
Prinzipiell spielen alle Player sowohl auf PAL- als auch auf NTSC-Geräten
gleich schnell, da die Abspielgeschwindigkeit durch einen CIA-B Interrupt
gesteuert wird. Einige (externe) Player benötigen jedoch unbedingt einen
VBlank Interrupt. Da dessen Frequenz vom jeweiligen Videomodus abhängt,
spielt ein solcher Player im Productivity-, NTSC- oder PAL-Modus
unterschiedlich schnell.
Screens mit 16 Farben in Hires oder mit 2 Farben in SuperHires b.z.w.
Productivity benötigen ca. 60% aller Buszyklen des ChipRam. Wenn dann
gleichzeitig ein besonders recheninternsiver Player (z.B. einer mit mehr
als 4 Stimmen) aktiv ist, steht das System fast still und der jeweilige
Player könnte mangels Rechenzeit falsch spielen.

Ein Hinweis an alle Modem-Bezitzer:
Da unter Kickstart 2.0 alle CIA-A Timer vom System belegt sind, verwendet
DeliTracker für das Timing der meißten Player einen CIA-B Interrupt. Die
CIA-B hat jedoch eine höhere Hardwarepriorität als die CIA-A. Wenn nun
z.B. wegen DFÜ die CIA-A vom serial.device benutzt wird und gleichzeitig
DeliTracker spielt, könnten so bei hohen Baudraten Übertragungsfehler
entstehen. Bis jetzt konnten wir dieses allerdings nicht überprüfen.


================================= NOTICE =============================

Geplante Verbesserungen:

- Abspeichern/Laden der kompletten Soundliste und nicht nur des 
  aktuellen Moduls

- bessere Nutzung von speziellen 2.0 Features (PubScreens,...)
  (allerdings erst dann, wenn die 1.3 Version nicht mehr unterstützt wird)

- mehr Player
		° StarTrekker AM/8 Voices
		° NoisePacker
		° OctaMED
		° Face the Music
		° Soundfactory
		° Beethoven
		° Wizard of Sound
		° IFF 8SVX
		° Sonix


================================= CREDITS ============================

Wir danken unseren Testern Daniel, Börnie und Manfred für ihre Bugreports
und guten Vorschläge, sowie Armin Sander für die Anpassung seiner
Oktalyzer-Replayroutine.
Ganz besonders bedanken wir uns bei Colin Fox and Bruce Dawson für die
phantastische req.library.

Auf folgenden Testkonfigurationen lief DeliTracker problemlos:
 - A500 KS1.3, 512k
 - A500 KS1.2, 1MB
 - A500 KS1.3, 1MB (Chip)
 - A500 KS1.2, 2.3MB
 - A500 KS1.2, 2.5MB & Harddisk
 - A2000 KS1.2, 1MB
 - A2000 KS1.3, 1MB & Harddisk
 - A2000 KS1.3, 3MB (1MB Chip) & Harddisk
 - A2500 KS1.3, 5MB (1MB Chip) & Harddisk
 - A3000 KS1.3, 10MB & Harddisk
 - A3000 KS2.04, 10MB & Harddisk


======================================================================



