
               **********************************
               *      Ultimate Tracker 2.5      *
               * A Virtual Xperience Software   *
               **********************************

            Ecrit par : Thierry Schembri (Sharp Man)
            ---------  & Didier Plaza (Checksum)


================================================================
Introduction
================================================================

Ce logiciel joue des modules Amiga ou Atari Protracker  1.2a  ou 
SoundTracker (16 ou 31 instruments). Il fonctionne avec tous les
Atari quips d'un circuit sonore en DMA (STe, Mega STe,  TT  ou 
Falcon). Il peut tre utilis en tant qu'application  GEM  stan-
dard ou en tant qu'accessoire de bureau, dans ce dernier cas, on 
pourra profiter de la musique en tache de fond.

================================================================
Utilisation de l'Ultimate Tracker
================================================================

1. Comme application GEM standard (l'extension est .PRG ou .APP)
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Double  cliquez simplement sur l'icne du player et le bureau va  
l'excuter. Une fois le programme charg, la fentre  principale 
(fentre Panel  - voir plus bas -) s'affiche  l'cran. Un  menu 
droulant (- voir plus bas -) est install pour  vous  permettre 
d'accder aux accessoires de bureau (comme le CPX  qui  gre  le 
son).

2. Comme application GEM ncessitant des paramtres (.GTP)
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Double-cliquez  comme  prcdemment  sur  l'icne du player. Une 
bote de dialogue apparat alors et vous  demande  d'entrer  des 
paramtres. Les paramtres requis sont le chemin et le nom  d'un 
ou plusieurs modules, par exemple si  vos  modules  sont  situs 
dans le dossier C:\MODULES, vous pourrez entrer  comme paramtre 
C:\MODULES\MACHIN.MOD o MACHIN.MOD est le module que vous  vou-
lez couter, si vous voulez couter plusieurs modules grace  la 
Play List (- voir plus bas), vous pouvez  entrer comme paramtre 
C:\MODULES\*.MOD. (Dans ce cas,  tous  les  modules  du  dossier 
C:\MODULES seront chargs dans la Play List). Une fois le chemin 
et le nom saisi, le player va charger automatiquement le  module 
et s'utilisera de la mme faon que si son extension  avait  t 
PRG ou APP. Notez que si vous tapez sur Return directement  sans 
entrer de paramtres, le programme se comportera comme  une  ap-
plication GEM standard.

Notez galement que, plutt que saisir le chemin et  le  nom  du 
module, vous pouvez dplacer l'icne de ce module  la souris et 
la lacher sur l'icne du player, le rsultat sera le mme. 
(Cette possibilit n'est offerte que sur  les  versions  de  TOS 
suprieures  la 1.7). 

Comme le player supporte le passage de paramtres, il  vous  est 
possible de l'installer comme tant l'application utilisant  les 
fichiers dont l'extension est .MOD. Pour ce faire, procdez com-
me suit (sur un AES > 3.3): 

- Cliquez sur l'icne du player de manire  la selectionner.
- Cliquez sur Installer une Application dans le menu Options  du 
  bureau.
- A Type de document, tapez MOD
- A Rpertoire, choisissez Fentre.
- A Paramtres, choisissez Rpertoire. 

Cliquez alors sur Installer et sauvez le bureau. Ds  lors,  ds 
que vous double-cliquerez sur l'icne  d'un  module,  le  player
sera automatiquement lanc et jouera le module  sur lequel  vous 
avez cliqu.

3. Comme un accessoire de bureau (l'extension est .ACC)
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Installez le player renomm (U_TRACK.ACC) et son fichier de res-
sources (U_TRACK.RSC)  la racine de votre disque  de  boot  (le 
plus souvent C:\) et rebootez la machine. Le player va tre  au-
tomatiquement charg et install dans le  menu  des  accessoires 
(1er menu  gauche), vous pouvez alors  l'appeler    partir  de 
n'importe quelle application. Grace  cela, vous pouvez  couter 
la musique en tache de fond quel que soit le programme utilis. 
Notez qu'il n'est plus alors possible d'utiliser  le  player  en 
tant qu'application pour les fichiers .MOD dans  ce  cas,  cette 
limitation est contourne par  le  programme  PLAY_ACC.GTP  dont 
l'explication est donne plus bas.

================================================================
Le menu droulant
================================================================

Lorsque le programme est lanc en tant qu'application GEM  stan-
dard (dont l'extension est .PRG, .APP ou .GTP, un menu droulant 
est install pour vous permettre d'avoir  accs  aux  diffrents 
accessoires de bureau. Les autres options offertes par les menus 
sont :

Menu Files        
~~~~~~~~~~

Load Module    Ouvre le slecteur de  fichier  pour  charger  un 
               module.

Stop & Quit    Arrte la musique en cours et quitte le programme 
               aprs confirmation.

Menu Windows  
~~~~~~~~~~~~

Cycle windows  Active la prochaine fentre, par exemple si  vous
               avez ouvert  deux fentres (Panel et Oscilloscope 
               par exemple), si la fentre active est Panel,  le 
               choix de cet option va rendre active  la  fentre 
               Oscilloscope et rendre inactive la fentre Panel.

Panel          Ouvre ou ferme la fentre Panel. Lorsque la fen-
               tre est ouverte, une marque apparat dans le menu 
               devant le mot Panel.

Oscilloscope   Ouvre ou ferme la fentre Oscilloscope.

Vu-meter       Ouvre ou ferme la fentre Vu-mtre.

Play List      Ouvre ou ferme la fentre Play List.

Config         Ouvre la bote de dialogue de  configuration  du 
               programme.

Toutes les options des menus sont accessibles  directement   au 
clavier, il vous faut appuyer sur la touche Alternate et :

L              Correspond  l'option Load Module
Q              Correspond  l'option Stop and Quit
P              Correspond  l'option Panel
O              Correspond  l'option Oscillo
V              Correspond  l'option Vu-mtre
E              Correspond  l'option Play List
C              Correspond  l'option Config.           

Pour faire cycler les fentres, vous devez appuyer simultanment 
sur la touche Control et la touche W.
Pour avoir des informations, appuyez sur Control et I.

================================================================
La fentre Panel
================================================================

La  fentre  Panel  est  la  fentre  principale  de  l'Ultimate 
Tracker, elle permet l'accs  toutes  les  autres  fentres  et 
permet de contrler la faon dont le module va tre jou.

1. Les boutons Vu-mtre et oscilloscope
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Les  icnes placs respectivement  gauche et  droite  du  bloc 
d'information  en haut de la fentre servent   ouvrir ou fermer 
les fentres vu-mtre ou oscilloscope. 

2. Les boutons prcdent, suivant et List
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Le bouton List sert  ouvir ou fermer  la  fentre  de  la  Play 
List, les deux boutons flchs situs  droite et    gauche  du 
nom du module servent  passer au module prcdent ou suivant si 
plusieurs ont t chargs dans la Play List. Lorsqu'on arrive en 
fin de Play List ou en dbut, le bouton pour passer au prcdent 
ou au suivant se grise pour indiquer qu'on ne peut  plus  conti-
nuer.

Sous ces boutons et le nom du module, il  y  a un affichage gra-
phique de la position courante de la musique dans le module.

3. Les icnes
~  ~~~~~~~~~~

Sous cet affichage, se trouvent 5 icnes  (de gauche  droite):

Charger   Charge un ou plusieurs modules.
          Aprs avoir cliqu  sur  cet  icne,  le  slecteur  de 
          fichiers s'affiche pour choisir  le  ou les  modules    
          charger. On peut choisir plusieurs  modules  simultan-
          ment grace aux "jokers" du dos  (*  ou ?), par  exemple 
          si on veut charger dans  la  play list tous les modules
          on entrera comme  nom  de fichier  *.MOD,  si  on  veut        
          seulement les  modules  commenant par la lettre A,  on 
          tapera A*.MOD, toutes  les  combinaisons sont possibles 
          sachant que * remplace tous  les  caractres et que  ? 
          n'en remplace qu'un seul.

          Il est possible de charger des  modules  compacts,  le
          player les dcompactera automatiquement  au  moment  de 
          les jouer. Les compacteurs supports sont les suivants: 
          Pack Ice (toutes versions), Atomik Packer 3.5 (& 3.5+),           
          Power Packer 2.0 (Compacteur Amiga), Speed Packer 3  et           
          Noisepakker 1.0.

          Noisepakker est un compacteur spcialement  conu  pour 
          les modules (il se trouve dans le package), son  incon-
          vnient est qu'il compacte avec perte (les modules com-
          pacts  auront  un  son  moins bon que l'original), son 
          avantage est de pouvoir compacter  coup sr les  modu-
          les  50%, on peut en plus  compacter un  module  pack 
          avec  Noisepakker  avec Pack Ice, on peut alors obtenir
          un taux de compactage de l'ordre de 70% ! Ultimate Tra-
          cker supporte ce double-compactage.

          * Attention :  lorsque le logiciel  est lanc  en  tant 
                         qu'accessoire   de   bureau,  la  taille 
                         dcompacte du module ne peut excder la 
                         taille dfinie dans la bote  Configura- 
                         tion (voir plus bas).

Retour    Retour rapide dans la musique

Jouer     Dmarre la musique

Avance    Avance rapide. 

Pause     Arrte la musique.  Recliquez  sur  cet  icne pour la 
          redmarrer.

Stop      Arrte la musique, si on  reclique sur Jouer, elle re-
          commencera au dbut.


4. Les frquences
~  ~~~~~~~~~~~~~~

Il y a quatre  boutons  sous  les   icnes,  ces   boutons   vous 
permettent  de  choisir la frquence. Les frquences  disponibles  
sont 6.25 KHz, 12.5 KHz, 25 KHz ou 50 KHz.  
Certaines  frquences ne sont pas disponibles sur toutes les  ma- 
chines.  Sur Falcon, 6.25Khz n'est  pas  disponible  (le  circuit  
DMA  son  du Falcon ne peut restituer des sons  cette frquence) 
et 50 Khz n'est pas disponible si la vitesse du CPU est de 8 Mhz. 
50 khz n'est pas disponible sur STe ou MegaSTe. Sur  MegaSTe,  50  
Khz est disponible si la vitesse du CPU est de 16Mhz et si le ca-
che est actif. 

Notez que plus la frquence  est  leve, plus  le  son  est  bon  
mais plus la  musique  prend  de temps  machine.  C'est assez im-
portant de  choisir  la  bonne  frquence  si  vous  utilisez  le 
player comme un accessoire de bureau parce que les autres  appli-
cations en fonctionnement vont tre  plus ou moins ralenties  par 
le player.  (Personnellement,  je pense que 12.5  est  une  bonne
valeur  pour un STe (mme si vous pouvez  couter  25), 25  pour 
un Mega STe ou Falcon030 et 50 pour un TT).

* Attention:   Il y a beaucoup de tests qui sont  faits :  selon 
  ---------    la machine et la vitesse du CPU,  certaines  fr-
               quences ne seront pas disponibles.  Si vous  uti-
               lisez  un  MegaSTe   16MHz et que vous coutez  
               50KHz, si vous switchez la vitesse du CPU  8MHz, 
               la  frquence  passera automatiquement  12.5 KHz 
               et 50 KHz ne sera plus disponible jusqu' ce  que 
               la  vitesse  CPU  repasse   16MHz de mme que le      
               Falcon :  si vous coutez  50 KHz  et  que  vous 
               coupez   les  caches  du  68030, la  frquence va   
               changer  automatiquement.  Mais  s'il-vous-plat,  
               ne jouez pas avec les caches et  la  vitesse  CPU 
               pendant que le player est en train de jouer. 

5. Les autres boutons
~  ~~~~~~~~~~~~~~~~~~

Sous  ces  5 icnes, il y a 3 boutons :

Quit  : Ferme la fentre  du player et stoppe la  musique. 
        Si  vous  utilisez  le programme comme un PRG, APP ou GTP 
        vous  pouvez faire la mme chose  avec  l'option  QUIT du 
        menu FILE.

Play  : Ce bouton est seulement  disponible si le  programme  est
        un accessoire de bureau.         
        Cliquer  sur  ce   bouton va  fermer la fentre du player 
        mais  la  musique continue de jouer en tache de fond.
   
Config: Ce bouton vous permet de configurer le player.

=================================================================
La fentre Play List
=================================================================

Cette fentre vous  permet d'organiser une liste de  modules  qui 
vont tre jous  dans l'ordre que vous le dsirez  et  durant  le 
temps que vous voulez.
Lorsque  vous chargez un module avec l'icne Charger dans la  fe-
ntre Panel  ou grace  l'option Load du menu droulant, celui-ci 
va tre  automatiquement plac dans  la  play  list,  comme  nous 
l'avons  vu plus haut, il est aussi possible de charger plusieurs 
modules  (grace aux jokers) et de les jouer  successivement  avec 
les  boutons flchs situs  gauche et  droite du nom du module 
Ces  diffrents modules qui vont tre jous sont  placs  dans la 
play list. 

La fentre Play List est ainsi consitue :

En haut,  la bote Total indique  le  nombre  de  modules chargs 
dans la  play list, la boite Playing  indique le numro du module 
en train  d'tre jou actuellement,  sous  ces  deux  botes,  se 
trouve  la liste des modules,  on  peut  s'y  dplacer  grace aux 
boutons  flchs (dans ce cas on monte ou descend d'un module) ou 
grace aux  boutons + et - (dans ce cas, on se dplace d'une  page 
 la fois).  Le nom du module en train d'tre  jou  est  prcd 
d'une  note de musique. Si on veut couter directement  l'un  des 
modules de la liste, il suffit de double-cliquer sur celui-ci.

Sous cette liste se trouvent 6 icnes :

Remove    Si vous  voulez enlever un des  modules  de  la  liste, 
          cliquez  dessus, il s'inverse alors, le  bouton  Remove 
          se  dgrise, vous cliquez dessus et il  est  t de  la 
          liste.

Add       Vous    pouvez  rajouter  un   module  la liste, aprs 
          avoir cliqu  sur cet icne,  le selecteur  de  fichier 
          apparat  et vous choisissez le module  ajouter    la 
          liste. Le module choisi sera ajout en fin de liste  si 
          aucun module n'est dj selectionn. Si un module a t 
          slectionn  avant de cliquer sur l'icne,  le  nouveau 
          module sera ajout aprs le module selectionn.

New       Efface la Play List en cours aprs confirmation.

Load      Charge  une Play List prcdemment sauve par  l'option 
          Save.

Save      Sauve la Play List courante dans un fichier ascii.
          (A utiliser avec Load.)
          Si vous nommez votre fichier "U_TRACK.PLT",  cette play 
          list   sera  automatiquement charge lors  du  prochain 
          lancement du player.

Repeat    Ce  switch  indique  selon sa  slection,  si  il  faut 
          reboucler  en  dbut de Play List une fois  la  fin  de 
          celle-ci atteinte ou s'arrter.

Sous ces six icne se trouvent 2 botes :

La  bote  Play Time indique la dure d'coute  du  module,  vous 
pouvez  choisir  cette dure,  si par  exemple,  vous  ne  voulez 
entendre  que 15 secondes de chaque  module,  cliquez  sur  cette 
bote.  Vous saisissez alors la dure sous la forme HH:MM:SS  (o 
HH  est  le  nombre  d'heures (!),  MM  les  minutes  et  SS  les 
secondes),  dans  notre  exemple,  vous  taperez  00:00:15.  Pour 
invalider  la dure d'coute (le module sera jou jusqu' sa  fin 
avant de passer au suivant), tapez 00:00:00. 
La bote situe  sa droite indique en heure, minute, seconde, le 
temps coul depuis que le module  commenc.

=================================================================
Les fentres Oscilloscope & Vu-metre
=================================================================

Ces  deux fentres affichent respectivement la reprsentation  de 
l'chantillon jou et un "analyseur de frquence".

=================================================================
La bote de configuration
=================================================================

Comme  nous l'avons vu plus haut,  cette bote s'affiche  lorsque 
l'on  clique sur le bouton "Config" de la fentre Panel ou si  on 
clique  sur l'entre Config du menu Windows.  Elle configure  les 
paramtres par dfaut du player.

1. La taille du buffer
~  ~~~~~~~~~~~~~~~~~~

Lorsque  le programme est utilis en .PRG,  .APP ou  .GTP,  cette 
bote est grise. Elle est activable qu'en accessoire de bureau. 
Un accessoire de bureau ne peut (et je n'en dmords pas, n'est-ce 
pas DMViolator (hihihi)) allouer dynamiquement de la mmoire  (je 
ne  parle  pas de MultiTOS).  C'est pour cela que  lorsqu'il  est 
utilis  comme ACC,  le player se rserve lors du boot un  buffer 
dans lequel il va charger et dcompacter les modules.
Par  dfaut,  la taille rserve est de 256000 octets  (en  fait, 
256000  +  35000 octets mais bon...).  Vous  pouvez  diminuer  ou 
augmenter  cette  taille,  mais notez que cette  nouvelle  valeur 
saisie  ne  sera effective seulement la prochaine fois  que  vous 
lancerez  l'accessoire car l'allocation est faite  seulement  une 
fois quand l'accessoire est charg. 
La partie suprieure de la bote de dialogue affiche la taille de 
la mmoire actuellement rserve et la partie infrieure (o vous 
allez saisir la nouvelle taille) contient la mmoire qui va  tre 
reserve lors du prochain lancement de l'accessoire.

*  Maintenant,  et sous la pression de DMViolator  (again),  j'ai 
permis l'allocation dynamique de la mmoire lorsque l'application 
est une PRG, GTP ou APP, ce qui est vrai, est plus logique...

2. Le chemin par dfaut
~  ~~~~~~~~~~~~~~~~~~~~

Vous  pouvez choisir le chemin par dfaut o le player  va  aller 
chercher  les modules.  Pour le choisir,  cliquez sur  le  bouton 
"Choose Path",  un slecteur de fichiers apparat pour  cela.  Le 
chemin choisi est affich dans la bote. Si le chemin n'entre pas 
en entier dans la bote,  vous pourrez le visualiser en  cliquant 
sur les boutons flchs pour le faire scroller.

3. Routine Replay pour Falcon030
~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Par  dfaut,  la  routine de Replay sur Falcon030 est en  8  bits 
stro  et utilise les 2 canaux DMA du STe.  Vous pouvez  changer 
(si  la version du player l'autorise),  le mode de restitution  : 
outre  le  mode 8 bits,  vous pouvez couter le son  en  16  bits 
stro  (ce  qui en soit n'apporte pas grand chose car  tous  les 
samples  des  modules  sont faits en  8  bits...),  cette  option 
utilisera un peu plus de temps CPU, enfin, vous pouvez choisir le 
son  en 16 bits au DSP.  Contrairement aux deux prcdents  modes 
qui  utilisent le 68030 pour gnrer les sons,  ici c'est le  DSP 
qui est utilis,  l'avantage se fera sentir lorsque le  programme 
est utilis en tant qu'accessoire,  la machine ne sera  quasiment 
plus  ralentie avec un son 16 bits en 50 KHz,  cependant,  il  ne 
vous  sera  plus  possible d'utiliser le  DSP  pour  par  exemple 
dcompacter  des  images  JPEG dans GemView ou de  de  faire  des 
effets sonores avec AFM.

Pour  sauver  ces  paramtres,  cliquez  sur  SAVE  (Cancel  pour 
quitter). Les nouveaux paramtres sont sauvs directement dans le 
fichier du programme, c'est pour cela qu'un slecteur de fichiers 
apparat,   indiquez  l'emplacement  du  player  et  cliquez  sur 
Confirme.  Comme  les paramtres sont sauvs directement dans  le 
fichier,  vous  ne  pouvez donc pas modifier la structure  de  ce 
fichier,  par exemple en le compactant.  En fait,  vous pouvez le 
compacter,  mais vous devrez le dcompacter avant de le  modifier 
et le recompacter aprs.

=================================================================
Ultimate Tracker & MultiTOS
=================================================================

Ultimate Tracker fonctionne parfaitement avec Multitos sur toutes 
les machines sur lesquelles je l'ai test (STe, TT et Falcon). Il
fonctionne parfaitement avec des grands crans et des cartes gra-
phiques (j'ai essay avec Spektrum). Les  ressources  utiliseront
les caractristiques de l'AES du Multitos sur un STe ou TT. 
Attention : ne modifiez pas les flags du programme (avec le  pro-
gramme PRGFLAG.PRG),  ce programme doit avoir le bit "SUPER"  mis
 1 parce qu'il utilise un timer sous Multitos, si vous le mettez
 zro, le systme va se planter.
ATTENTION ! ne tuez jamais le process quand le player joue un mo-
dule car la mmoire utilise par la routine  en  interruption  va
tre libre sans prvenir le  player. Stoppez la  musique, puis, 
tuez le processus.

=================================================================
Les commandes APPL_WRITE
=================================================================

GEM offre un moyen de communiquer entre les applications au  tra-
vers d'un buffer d'venements. Ceci permet  une  application  de
prendre le contrle  d'une  autre.  Ultimate Tracker supporte ces 
commandes,  donc, votre application peut piloter le player. 

Comment cela fonctionne-t-il ?

Avant toute chose,  le player doit tre rsident en  mmoire.  La
seule  facon  de faire ceci  est de l'installer comme accessoire
de bureau avec un TOS monotache, vous pouvez le lancer de la  fa-
on que vous dsirez avec Multitos.

Puis, vous devez trouver l'identification AES du player, il  y  a
deux moyens de trouver cet id. La mthode "lgante" est d'utili-
ser la fonction AES appl_find comme ceci : 
id=APPL_FIND(nom) o nom est le nom du player sans son extension,
attention, le nom doit faire  8  caractres. Cette  fonction  re-
tourne l'id AES. Si vous ne connaissez pas le  nom  du programme,
il  y  a  un  autre moyen  de  procder: le  player, quand il est
install, place un cookie dans le  cookie  jar. Ce  cookie  est :
"UTRK" et les donnes du  cookie  est  l'id  AES courant.  Faites
attention et utilisez cette dernire  mthode pour  trouver  l'id
AES si vous tes sr de ne pas le trouver  avec  appl_find.  Vous
pouvez imaginer facilement les problmes si il y a plusieurs ins-
tances du player en mmoire,  vous  ne pourrez pas savoir    qui
appartient  l'id  AES  retourn  par appl_find ou par  le  cookie
jar.

*  Attention  :  pour  l'instant le player  ne  peut  communiquer 
qu'avec un seul programme  la fois. Si deux programme tentent de 
s'identifier  auprs du player,  seul le dernier  identifi  sera 
reconnu. (La version multi-programmes est en cours...)

1. Les commandes envoyes
~  ~~~~~~~~~~~~~~~~~~~~~~

Grace  cet id AES, vous allez pouvoir contrler le player en lui 
envoyant  des  messages avec la fonction  AES  APPL_WRITE.  Cette 
fonction demande 3 paramtres :  l'identification du  player,  le 
nombre d'octets  envoyer (! QUI NE DOIT JAMAIS DEPASSER 16 !) et 
l'adresse  d'un  tableau  d'entiers  (16  bits).  Ce  tableau  va 
contenir la commande  envoyer et ses paramtres.

Les  commandes ont ce format (je tiens ici  m'excuser auprs  de 
ceux  qui  utilisaient les commandes des  anciennes  versions  de 
l'Ultimate  Tracker,  il  s'est avr qu'elles n'avaient  pas  le 
format AES mais un format qui leur tait propre, j'ai donc du les 
modifier).

- 1er mot  (0)        : n de la commande
- 2eme mot (1)        : id AES du programme emetteur
- 3eme mot (2)        : toujours 0
- 4eme mot et + (3-7) : les paramtres

Les commandes sont :

T_LOAD         (900) : Charge un module. L'adresse du  chemin  et
                       du nom du module sont dans les mots  3  et
                       4 (partie forte dans  le  3me  et  faible
                       dans le 4me).
T_PLAY         (901) : Dmarre la musique.
T_FORWARD      (902) : Avance rapide.
T_REWIND       (903) : Retour rapide.
T_PAUSE        (904) : Pause ON/OFF.
T_STOP         (905) : Stoppe la musique & la rinitialise.
T_ABOUT        (906) : Affiche la bote d'information.
T_OPEN         (907) : Ouvre la fentre panel.
T_CLOSE        (908) : Ferme la fentre panel.
T_FREQ         (909) : Change la frquence, la frquence est dans
                       le mot 3 (0/1/2/3 -> 6/12/25/50 KHz).
T_LOOP         (910) : Switche le mode LOOP ON/OFF.
T_IDENT        (911) : Informe le player de  l'identification  du
                       programme (le mot 3 contient l'id AES).
T_FIDENT       (912) : Fin  d'identification, le player n'enverra 
                       plus de messages au programme.
T_INFOS        (913) : Demande des informations au player.
                       (voir R_IDENT pour les rponses)
T_OPN_OSCILLO  (914) : Ouvre la fentre oscilloscope.
T_CLS_OSCILLO  (915) : Ferme la fentre oscilloscope.
T_OPN_PLAYLIST (916) : Ouvre la fentre play-list.
T_CLS_PLAYLIST (917) : Ferme la fentre play-list.
T_NEXT_MOD     (918) : Passe au module suivant.
T_PREV_MOD     (919) : Passe au module prcdent.
T_OPN_VUM      (920) : Ouvre la fentre vu-mtre.
T_CLS_VUM      (921) : Ferme la fentre vu-mtre.
T_SEL_PLST     (922) : Slectionne  un module de la play-list. Le 
                       numro  du module slectionn est dans  le 
                       mot 3.
T_REMOVE_PLST  (923) : Enlve le module slectionn de la liste.
T_ADD_PLST     (924) : Ajoute un module  la play list, le chemin 
                       et  le nom du module sont dans les mots  3 
                       et 4. (comme pour T_LOAD).
T_NEW_PLST     (925) : Efface la play list courante.
T_LOAD_PLST    (926) : Charge une nouvelle play-list. 
                       Idem  T_ADD_PLST pour le nom de la  play-
                       list.
T_SAVE_PLST    (927) : Sauve la play-list courante.
                       Idem  T_LOAD_PLST pour le nom.
T_LOOP_PLST    (928) : Switche le mode REPEAT ON/OFF.
T_TIME_PLST    (929) : Indique la dure d'coute.
                       L'heure  est dans le mot  3,  les  minutes 
                       dans le mot 4 et les secondes dans le 5.
T_CYCLE_WIN    (930) : Fait cycler les fentres.
T_PLAYLIST     (931) : Renvoie l'adresse de la play list.
                       (voir R_PLAYLIST pour la rponse).

Pour voir comment utiliser ces commandes,  jetez un oeil dans  le 
programme  nomm \EXEMPLE\SHELL\CMD_TRAX.C.  C'est un  shell  qui 
contrle le player.

Note:  Si  vous  utilisez  ceci  sous  Multitos, n'oubliez pas de 
----   mettre  le   flag  "GLOBAL"  de  votre  application    1, 
       parce que quand vous allez envoyer la commande  T_LOAD  au
       player, le player va aller lire  l'adresse  que vous  lui
       avez donn pour trouver le chemin du  module,  mais  cette
       adresse est situe dans la  mmoire de votre  application.
       Le flag "GLOBAL" permet au player de lire dans  la mmoire
       de votre application.  Si  ce flag  est  off,  Multitos va
       faire  une  erreur  de protection  mmoire  et  va effacer
       le player de la mmoire.

2. Les messages reus
~  ~~~~~~~~~~~~~~~~~~

Si  vous  pouvez  envoyer des messages  au  player,  vous  pouvez 
galement  en recevoir.  Ces messages indiquent    l'application 
tout  ce que fait le player.  Pour recevoir  ces  messages,  vous 
devez procder ainsi :

-  Dire au player que vous voulez recevoir des messages  avec  la 
   commande T_IDENT. A partir de ce moment, le player va indiquer 
    l'application tout ce qu'il fait.
-  Attendre les messages dans une boucle EVNT_MULTI.
-  Quand l'application n'a plus besoin des messages,  envoyer  la 
   commande T_FIDENT.

Les messages ont ce format:

- 1er mot       (0)   : numro du message
- 2me mot      (1)   : id AES du player
- 3me mot      (2)   : toujours 0
- 4me mot et + (3-7) : informations

Les messages sont :

R_PLAY         (951) : Le module commence  jouer.
R_FORWARD      (952) : Avance rapide.
R_REWIND       (953) : Retour rapide.
R_PAUSE_ON     (954) : Pause ON.
R_PAUSE_OFF    (955) : Pause OFF.
R_STOP         (956) : Le module a t arrt.
R_OPEN         (957) : La fentre panel a t ouverte.
R_CLOSE        (958) : La fentre panel a t ferme.
R_FREQ         (959) : La  frquence  a chang (elle est dans  le 
                       mot 3).
R_LOOP_OFF     (960) : Mode Loop OFF.
R_LOOP_ON      (961) : Mode Loop ON.
R_BEGLOAD      (962) : Le module commence d'tre charg.
R_ENDLOAD      (963) : Le module est fini d'tre charg.
R_FAILOAD      (964) : Une erreur a eu lieu durant le chargement.
R_MOVE         (965) : La  fentre  panel  a  t  dplace,  les 
                       nouvelles coordonnes X et Y sont dans les 
                       mots 3 et 4.
R_INFOS        (966) : Rponse  la commande T_INFOS.
                       mot 3 : handle fentre player.
                       mot 4 : handle graphique VDI.
                       mot 5 : version (n majeur dans les 8 bits 
                               forts et n mineur dans les 8 bits 
                               faibles).
                       mot 6 : handle fentre oscilloscope.
                       mot 7 : handle fentre vu-mtre.
                       mot 8 : handle fentre play list.
R_POSIT        (967) : Position de la musique.
                       mot 3 : position.
                       mot 4 : dernire position.
R_QUIT         (968) : Quitte le player (et arrte la musique).
R_ENDMOD       (969) : Fin du module.
R_PROTECMOD    (970) : Module protg.
                       Ce message est reu quand le module charg 
                       contient des informations  corrompues.  Il 
                       va donc tre impossible de  dterminer  o 
                       se  termine le module,  donc on ne  pourra 
                       avancer,  reculer ou recevoir des messages 
                       R_POSIT   cohrent.  (Ca arrive  quand  le 
                       module est mal ripp...)
R_OPN_OSCILLO  (971) : La fentre oscilloscope est ouverte.
R_CLS_OSCILLO  (972) : La fentre oscilloscope est ferme.
R_MOVE_OSCILLO (973) : La fentre oscillo est dplace.
                       Mot 3 : nouvelle coordonne X.
                       Mot 4 : nouvelle coordonne Y.
R_OPN_PLAYLIST (974) : La fentre play list est ouverte.
R_CLS_PLAYLIST (975) : La fentre play list est ferme.
R_MOVE_PLAYLIST(976) : La fentre play list est dplace.
R_NEXT_MOD     (977) : On est pass au module suivant.
R_PREV_MOD     (978) : On est pass au module prcdent.
R_OPN_VUM      (979) : La fentre vu-mtre est ouverte.
R_CLS_VUM      (980) : La fentre vu-mtre est ferme.
R_MOVE_VUM     (981) : La fentre vu-mtre est dplace.
R_PLAYLIST     (982) : Renvoie l'adresse de la play list dans les 
                       mots 3 (partie haute) et 4 (partie basse).
                       La  play  list peut tre dfinie  dans  la 
                       structure C suivante:
  
                       typedef struct liste_mod
                              {
                              char             *nom; 
                              struct liste_mod *suivant;
                              struct liste_mod *precedent;
                              }LISTE_MOD;

                       C'est une liste chane dans les deux sens 
                       qui  contient un pointeur sur le nom  d'un 
                       module.
R_SEL_PLST     (983) : Un  module   de   la   play  list  a   t 
                       slectionn. Son numro est dans le mot 3.
R_REMOVE_PLST  (984) : Enlve le module slectionn de la liste.
R_ADD_PLST     (985) : Ajoute un module  la play-list. L'adresse 
                       du module est dans les mots 3 et 4.
R_NEW_PLST     (986) : La playlist a t efface.
R_BEG_LOAD_PLST(987) : La playlist commence d'tre charge.
R_BEG_SAVE_PLST(988) : La playlist commence d'tre sauve.
R_LOOP_PLST_ON (989) : Switch Repeat de la playlist ON.
R_LOOP_PLST_OFF(990) : Switch Repeat de la playlist OFF.
R_TIME_PLST    (991) : On a chang la dure d'coute.
                       mot 3 : heure
                       mot 4 : minute
                       mot 5 : seconde
R_CUR_TIME     (992) : Temps coul depuis le dbut du module.
                       mot 3 : heure
                       mot 4 : minute 
                       mot 5 : seconde
R_CYCLE_WIN    (993) : Les fentres ont cycl.
R_DEL_PLST     (994) : La  playlist  a   t  efface  (de  faon 
                       interne au programme pas par New List).
R_END_SAVE_PLST(995) : Fin de sauvegarde de la playlist.
R_END_LOAD_PLST(996) : Fin de chargement de la playlist.
R_FAIL_LOAD_PLST(997): Erreur durant le chargement de la liste.
R_FAIL_SAVE_PLST(998): Erreur durant la sauvegarde de la liste.

Pour voir comment fonctionne la rception des messages,  regardez 
dans le programme \EXEMPLE\RECEIVE\RECEIVE.C

Note: Si vous utilisez ceci sous MultiTOS, vous   devez  tre  en
----  mode superviseur si votre application accde au nom du  mo-
      dule  dans  le  message T_BEGLOAD ou au nom de la  playlist 
      avec les message T_LOAD_PLST ou T_SAVE_PLST parce que  vous 
      voulez acceder  une adresse qui est situe dans la mmoire
      du player et cet espace mmoire  son flag "Super" mis  1.
      Donc  cette  mmoire  peut  seulement tre accde en  mode
      superviseur.

=================================================================
Limitations
=================================================================

Il y a quelques limitations dans ce programme :

- Le programme ne teste pas si le fichier charg est un module ou 
  pas,  si  vous  chargez une image  Degas  par  exemple,  il  ne 
  protestera pas, il plantera simplement...
- Pour  tre  sr que  le son sera  correct,  placez  dans  votre 
  dossier AUTO le programme nomm FPATCH.PRG.  (Ceci est  valable 
  uniquement pour Falcon030 dont la version du TOS est infrieure 
   la version 4.92). Ce programme se trouve normallement sur les 
  disquettes donnes avec le Falcon030.
- Il  semble  qu'il  y ait incompatibilit  entre  le  player  et 
  l'conomiseur d'cran Midnight SEULEMENT sur TT avec TTram (?).
  Je vais essayer de corriger ce bug.

Il  peut y avoir des problmes quand le programme est utilis  en 
tant qu'accessoire de bureau. Un accessoire ne peut allouer de la 
mmoire  dynamiquement (avec un TOS monotche),  donc  EVITEZ  DE 
CHARGER OU MODIFIER la playlist quand l'accessoire est ouvert sur 
une application. (Vous pouvez le faire quand il est ouvert sur le 
bureau). J'ai de gros problmes avec la saloperie de gestionnaire 
de mmoire du TOS, si vous avez des solutions, svp, crivez-moi!
Toujours  lorsque le programme est utilis en tant  qu'accessoire 
de bureau,  vous devez stopper (pas faire de pause, mais vraiment 
STOPPER)  avant  de changer de rsolution.  Si  vous  changez  de 
rsolution sans stopper la musique, le systme va se planter.

=================================================================
Les programmes fournis 
=================================================================

Il y a trois sources dans ce pack :

- SHELL :   un petit shell qui utilise les commandes  APPL_WRITE. 
  Utilisez-le  avec  un shell dans une fentre ou  sous  MultiTOS 
  avec MintShell (ou votre shell prfr).  Attention !  si  vous 
  l'utilisez  avec TCShell, n'oubliez pas que ce shell interprte 
  le caractre \ comme  en  C, pour toutes les oprations coner- 
  nant les fichiers, vous devrez doubler le \.  Par exemple  pour 
  charger un  module, vous devrez taper : 
  cmd_trax LOAD C:\\MODULES\\MACHIN.MOD.

- RECEIVE :  Un exemple de programme qui affiche les messages qui 
  sont  envoys  par le player  une  application.  Grace    cet 
  exemple  et au premier,  vous pouvez voir comment  tablir  une 
  communication dans les deux sens entre Ultimate Tracker et  une 
  application.

  Je vous conseille d'utiliser ces deux programmes  simultanment 
  avec Ultimate Tracker sous MultiTOS pour bien comprendre.

- PLAY_ACC :  Un  programme qui vous permet d'utiliser le  player 
  qui est install  en tant qu'accessoire comme application  pour 
  les fichiers MOD. Installez ce programme comme application dans 
  le  bureau,  et   chaque fois que  vous  double-cliquerez  sur 
  l'icne  d'un  module,  ce programme sera lanc et  enverra  la 
  commande de chargement de ce module  l'accessoire.

=================================================================
Les sources
=================================================================

J'ai dcid de donner l'intgralit des sources de ce  programme. 
Les sources ne peuvent tre donnes sparment du reste du  pack. 
Si  vous corrigez des bugs dans le programme ou si vous  modifiez 
les sources,  SVP,  envoyez-moi votre modification,  c'est un peu 
stupide si un tas de versions de ce programme existent.

Ce programme a t fait avec Pure C 1.1.  Je dteste l'assemblage 
conditionnel pour permettre  diffrents compilateurs  d'utiliser 
les sources.  Ces sources ne fonctionneront correctement  qu'avec 
Pure  C 1.1 (Vous aurez probablement des problmes avec des  plus 
vieilles versions ou avec Turbo C parce que les librairies Falcon 
n'existent pas).
Toutes  les  parties  en  assembleur ont  t  faites  avec  Pure 
Assembleur,  donc  vous  pouvez  les  utiliser  directement  avec 
l'diteur de Pure C.  Cependant, il y a des fichiers qui ont  t 
faits avec Devpac 3 (assembls en DRI).Ces fichiers sont ATOMIK.S 
(Dpacker   de  fichier  ATOMIK)  et  les  deux  replay  routines 
(M_PLAY_F.S pour le Falcon030 et M_PLAY_S.S pour le STe/TT). 
The  ressources  were done with RCS  3.1.  Attention,  fates  un 
backup de votre ressource avant de la sauver en basse rsolution: 
tous  les arbres en haute rsolution dans le ressource vont  tre 
dtruits (avec tous les diteurs de ressources).

=================================================================
Informations
=================================================================

Pour nous contacter vous pouvez crire  :

Thierry Schembri / Didier Plaza
Virtual Xperience
21 rue de la Fontaine Au Roi
75011 PARIS
FRANCE

ou  

TBC / EQUINOX
Chlet de Riqueval
02420 BELLICOURT
FRANCE

Vous pouvez nous joindre galement sur :

* Le rseau Minitel :
  3614 - RTEL2 BAL SHARPMAN ou CHECKSUM

* CompuServe : 70734,532

* InterNet : 70734.532@Compuserve.com

=================================================================
Historique
=================================================================

v.1.0  - Charge seulement et joe un module sur Falcon
v.1.1  - Joue les modules en accessoire de bureau (accepte les
          modules compacts avec Pack Ice).
v.1.2  - Corrige beaucoup de bugs
v.1.4  - Nouvelle interface graphique 
v.1.5  - Supporte Power Packer
v.1.6  - Supporte les routines STe et TT
v.1.7  - Fonctionne sous Multitos/supporte les cmdes APPL_WRITE
v.1.0   - Supporte AES 4.0 sur STe ou TT
v.1.1   - Supporte toutes les versions de Pack Ice et 
          Noisepakker 1.0
v.1.2   - Permet de sauver le chemin par dfaut
v.1.3   - Routine replay sur Falcon acclre par NOP/DSP CREW 
v.1.4   - J'ai corrig un tas de saloperies de bugs
v.1.5   - "Nouvelle" routine player
        - Permet de changer la frquence sur Falcon030
        - Corrige des bugs d'affichage
        - Utilise le cache du 030 sur TT et la mmoire cache
          du MegaSTe
v.1.7   - Corrige un tas de bugs
v.2.0   - Permet la communication avec un shell dans les 2 sens
        - Utilise l'int. MFP i7 au lieu du Timer A
        - Affiche la position courante
v.2.1   - Corrige des bugs dans la gestion de mmoire
        - Vrifie les changements de vitesse CPU sur Falcon 
          & Mega STe
        - Supporte les jokers (* et ?)
v.2.2   - Supporte Atomik Packer 3.5
        - Nouvelle barre de menu
        - Fentre oscilloscope (et nouveaux messages)
v.2.3   - Nouvelle barre de menu
        - Fentre vu-mtre (et nouveaux messages)
v.2.5   - Nouvelle barre de menu
        - Play List
        - Correction de bugs oublis dans la 2.2
        - Nouveaux messages

Bientt :

- Replay routine DSP & 16 bits : en fait, elles sont dj faites 
  mais j'ai des saloperies de problmes de timing pour les 
  utiliser avec le GEM.
- "Vrai" spectrum analuzer sur Falcon030.
- Possibilits d'dition limites.
- Dure d'coute diffrente pour chaque module.
- Drag'n'drop avec MultiTOS (dj fait...)





