********************************** * 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 ‚quip‚s 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'ic“ne du player et le bureau va l'ex‚cuter. Une fois le programme charg‚, la fenˆtre principale (fenˆtre Panel - voir plus bas -) s'affiche … l'‚cran. Un menu d‚roulant (- voir plus bas -) est install‚ pour vous permettre d'accŠder aux accessoires de bureau (comme le CPX qui gŠre le son). 2. Comme application GEM n‚cessitant des paramŠtres (.GTP) ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Double-cliquez comme pr‚c‚demment sur l'ic“ne du player. Une boŒte de dialogue apparaŒt alors et vous demande d'entrer des paramŠtres. Les paramŠtres requis sont le chemin et le nom d'un ou plusieurs modules, par exemple si vos modules sont situ‚s dans le dossier C:\MODULES, vous pourrez entrer comme paramˆtre 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 paramˆtre C:\MODULES\*.MOD. (Dans ce cas, tous les modules du dossier C:\MODULES seront charg‚s dans la Play List). Une fois le chemin et le nom saisi, le player va charger automatiquement le module et s'utilisera de la mˆme fa‡on que si son extension avait ‚t‚ PRG ou APP. Notez que si vous tapez sur Return directement sans entrer de paramˆtres, le programme se comportera comme une ap- plication GEM standard. Notez ‚galement que, plut“t que saisir le chemin et le nom du module, vous pouvez d‚placer l'ic“ne de ce module … la souris et la lacher sur l'ic“ne du player, le r‚sultat sera le mˆme. (Cette possibilit‚ n'est offerte que sur les versions de TOS sup‚rieures … la 1.7). Comme le player supporte le passage de paramˆtres, il vous est possible de l'installer comme ‚tant l'application utilisant les fichiers dont l'extension est .MOD. Pour ce faire, proc‚dez com- me suit (sur un AES > 3.3): - Cliquez sur l'ic“ne du player de maniŠre … la selectionner. - Cliquez sur Installer une Application dans le menu Options du bureau. - A Type de document, tapez MOD - A R‚pertoire, choisissez Fenˆtre. - A ParamŠtres, choisissez R‚pertoire. Cliquez alors sur Installer et sauvez le bureau. DŠs lors, dŠs que vous double-cliquerez sur l'ic“ne 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 contourn‚e par le programme PLAY_ACC.GTP dont l'explication est donn‚e plus bas. ================================================================ Le menu d‚roulant ================================================================ Lorsque le programme est lanc‚ en tant qu'application GEM stan- dard (dont l'extension est .PRG, .APP ou .GTP, un menu d‚roulant est install‚ pour vous permettre d'avoir accŠs aux diff‚rents accessoires de bureau. Les autres options offertes par les menus sont : Menu Files ~~~~~~~~~~ Load Module Ouvre le s‚lecteur de fichier pour charger un module. Stop & Quit Arrˆte la musique en cours et quitte le programme aprŠs confirmation. Menu Windows ~~~~~~~~~~~~ Cycle windows Active la prochaine fenˆtre, par exemple si vous avez ouvert deux fenˆtres (Panel et Oscilloscope par exemple), si la fenˆtre active est Panel, le choix de cet option va rendre active la fenˆtre Oscilloscope et rendre inactive la fenˆtre Panel. Panel Ouvre ou ferme la fenˆtre Panel. Lorsque la fenˆ- tre est ouverte, une marque apparaŒt dans le menu devant le mot Panel. Oscilloscope Ouvre ou ferme la fenˆtre Oscilloscope. Vu-meter Ouvre ou ferme la fenˆtre Vu-mˆtre. Play List Ouvre ou ferme la fenˆtre Play List. Config Ouvre la boŒte 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-mˆtre E Correspond … l'option Play List C Correspond … l'option Config. Pour faire cycler les fenˆtres, vous devez appuyer simultan‚ment sur la touche Control et la touche W. Pour avoir des informations, appuyez sur Control et I. ================================================================ La fenˆtre Panel ================================================================ La fenˆtre Panel est la fenˆtre principale de l'Ultimate Tracker, elle permet l'accŠs … toutes les autres fenˆtres et permet de contr“ler la fa‡on dont le module va ˆtre jou‚. 1. Les boutons Vu-mˆtre et oscilloscope ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Les ic“nes plac‚s respectivement … gauche et … droite du bloc d'information en haut de la fenˆtre servent … ouvrir ou fermer les fenˆtres vu-mˆtre ou oscilloscope. 2. Les boutons pr‚c‚dent, suivant et List ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Le bouton List sert … ouvir ou fermer la fenˆtre de la Play List, les deux boutons flˆch‚s situ‚s … droite et … gauche du nom du module servent … passer au module pr‚c‚dent ou suivant si plusieurs ont ‚t‚ charg‚s dans la Play List. Lorsqu'on arrive en fin de Play List ou en d‚but, le bouton pour passer au pr‚c‚dent 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 ic“nes ~ ~~~~~~~~~~ Sous cet affichage, se trouvent 5 ic“nes (de gauche … droite): Charger Charge un ou plusieurs modules. AprŠs avoir cliqu‚ sur cet ic“ne, le s‚lecteur 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 commen‡ant par la lettre A, on tapera A*.MOD, toutes les combinaisons sont possibles sachant que * remplace tous les caractŠres et que ? n'en remplace qu'un seul. Il est possible de charger des modules compact‚s, le player les d‚compactera automatiquement au moment de les jouer. Les compacteurs support‚s 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 sp‚cialement con‡u pour les modules (il se trouve dans le package), son incon- v‚nient est qu'il compacte avec perte (les modules com- pact‚s auront un son moins bon que l'original), son avantage est de pouvoir compacter … coup s–r 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 d‚compact‚e du module ne peut exc‚der la taille d‚finie dans la boŒte Configura- tion (voir plus bas). Retour Retour rapide dans la musique Jouer D‚marre la musique Avance Avance rapide. Pause Arrˆte la musique. Recliquez sur cet ic“ne pour la red‚marrer. Stop Arrˆte la musique, si on reclique sur Jouer, elle re- commencera au d‚but. 4. Les fr‚quences ~ ~~~~~~~~~~~~~~ Il y a quatre boutons sous les ic“nes, ces boutons vous permettent de choisir la fr‚quence. Les fr‚quences disponibles sont 6.25 KHz, 12.5 KHz, 25 KHz ou 50 KHz. Certaines fr‚quences 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 fr‚quence) 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 fr‚quence est ‚lev‚e, plus le son est bon mais plus la musique prend de temps machine. C'est assez im- portant de choisir la bonne fr‚quence 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 (mˆme 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 fr‚quence passera automatiquement … 12.5 KHz et 50 KHz ne sera plus disponible jusqu'… ce que la vitesse CPU repasse … 16MHz de mˆme que le Falcon : si vous ‚coutez … 50 KHz et que vous coupez les caches du 68030, la fr‚quence va changer automatiquement. Mais s'il-vous-plaŒt, 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 ic“nes, il y a 3 boutons : Quit : Ferme la fenˆtre du player et stoppe la musique. Si vous utilisez le programme comme un PRG, APP ou GTP vous pouvez faire la mˆme 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 fenˆtre du player mais la musique continue de jouer en tache de fond. Config: Ce bouton vous permet de configurer le player. ================================================================= La fenˆtre Play List ================================================================= Cette fenˆtre vous permet d'organiser une liste de modules qui vont ˆtre jou‚s dans l'ordre que vous le d‚sirez et durant le temps que vous voulez. Lorsque vous chargez un module avec l'ic“ne Charger dans la fe- nˆtre Panel ou grace … l'option Load du menu d‚roulant, 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 flˆch‚s situ‚s … gauche et … droite du nom du module Ces diff‚rents modules qui vont ˆtre jou‚s sont plac‚s dans la play list. La fenˆtre Play List est ainsi consitu‚e : En haut, la boŒte Total indique le nombre de modules charg‚s dans la play list, la boite Playing indique le num‚ro du module en train d'ˆtre jou‚ actuellement, sous ces deux boŒtes, se trouve la liste des modules, on peut s'y d‚placer grace aux boutons flˆch‚s (dans ce cas on monte ou descend d'un module) ou grace aux boutons + et - (dans ce cas, on se d‚place d'une page … la fois). Le nom du module en train d'ˆtre jou‚ est pr‚c‚d‚ 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 ic“nes : Remove Si vous voulez enlever un des modules de la liste, cliquez dessus, il s'inverse alors, le bouton Remove se d‚grise, vous cliquez dessus et il est “t‚ de la liste. Add Vous pouvez rajouter un module … la liste, aprŠs avoir cliqu‚ sur cet ic“ne, le selecteur de fichier apparaŒt et vous choisissez le module … ajouter … la liste. Le module choisi sera ajout‚ en fin de liste si aucun module n'est d‚j… selectionn‚. Si un module a ‚t‚ s‚lectionn‚ avant de cliquer sur l'ic“ne, le nouveau module sera ajout‚ aprŠs le module selectionn‚. New Efface la Play List en cours aprŠs confirmation. Load Charge une Play List pr‚c‚demment sauv‚e 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 charg‚e lors du prochain lancement du player. Repeat Ce switch indique selon sa s‚lection, si il faut reboucler en d‚but de Play List une fois la fin de celle-ci atteinte ou s'arrˆter. Sous ces six ic“ne se trouvent 2 boŒtes : La boŒte Play Time indique la dur‚e d'‚coute du module, vous pouvez choisir cette dur‚e, si par exemple, vous ne voulez entendre que 15 secondes de chaque module, cliquez sur cette boŒte. Vous saisissez alors la dur‚e 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 dur‚e d'‚coute (le module sera jou‚ jusqu'… sa fin avant de passer au suivant), tapez 00:00:00. La boŒte situ‚e … sa droite indique en heure, minute, seconde, le temps ‚coul‚ depuis que le module … commenc‚. ================================================================= Les fenˆtres Oscilloscope & Vu-metre ================================================================= Ces deux fenˆtres affichent respectivement la repr‚sentation de l'‚chantillon jou‚ et un "analyseur de fr‚quence". ================================================================= La boŒte de configuration ================================================================= Comme nous l'avons vu plus haut, cette boŒte s'affiche lorsque l'on clique sur le bouton "Config" de la fenˆtre Panel ou si on clique sur l'entr‚e Config du menu Windows. Elle configure les paramŠtres par d‚faut du player. 1. La taille du buffer ~ ~~~~~~~~~~~~~~~~~~ Lorsque le programme est utilis‚ en .PRG, .APP ou .GTP, cette boŒte est gris‚e. Elle est activable qu'en accessoire de bureau. Un accessoire de bureau ne peut (et je n'en d‚mords pas, n'est-ce pas DMViolator (hihihi)) allouer dynamiquement de la m‚moire (je ne parle pas de MultiTOS). C'est pour cela que lorsqu'il est utilis‚ comme ACC, le player se r‚serve lors du boot un buffer dans lequel il va charger et d‚compacter les modules. Par d‚faut, la taille r‚serv‚e 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 supŠrieure de la boŒte de dialogue affiche la taille de la m‚moire actuellement r‚serv‚e et la partie inf‚rieure (o— vous allez saisir la nouvelle taille) contient la m‚moire qui va ˆtre reserv‚e lors du prochain lancement de l'accessoire. * Maintenant, et sous la pression de DMViolator (again), j'ai permis l'allocation dynamique de la m‚moire lorsque l'application est une PRG, GTP ou APP, ce qui est vrai, est plus logique... 2. Le chemin par d‚faut ~ ~~~~~~~~~~~~~~~~~~~~ Vous pouvez choisir le chemin par d‚faut o— le player va aller chercher les modules. Pour le choisir, cliquez sur le bouton "Choose Path", un s‚lecteur de fichiers apparaŒt pour cela. Le chemin choisi est affich‚ dans la boŒte. Si le chemin n'entre pas en entier dans la boŒte, vous pourrez le visualiser en cliquant sur les boutons flˆch‚s pour le faire scroller. 3. Routine Replay pour Falcon030 ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Par d‚faut, la routine de Replay sur Falcon030 est en 8 bits st‚r‚o 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 st‚r‚o (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 pr‚c‚dents modes qui utilisent le 68030 pour g‚n‚rer 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 d‚compacter des images JPEG dans GemView ou de de faire des effets sonores avec AFM. Pour sauver ces paramŠtres, cliquez sur SAVE (Cancel pour quitter). Les nouveaux paramŠtres sont sauv‚s directement dans le fichier du programme, c'est pour cela qu'un s‚lecteur de fichiers apparaŒt, indiquez l'emplacement du player et cliquez sur Confirme. Comme les paramˆtres sont sauv‚s 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 d‚compacter avant de le modifier et le recompacter aprŠs. ================================================================= 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 caractŠristiques 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 … z‚ro, le systˆme va se planter. ATTENTION ! ne tuez jamais le process quand le player joue un mo- dule car la m‚moire utilis‚e par la routine en interruption va ˆtre lib‚r‚e sans pr‚venir 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 contr“le 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 r‚sident en m‚moire. La seule fa‡con 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 d‚sirez avec Multitos. Puis, vous devez trouver l'identification AES du player, il y a deux moyens de trouver cet id. La m‚thode "‚l‚gante" 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 caractŠres. Cette fonction re- tourne l'id AES. Si vous ne connaissez pas le nom du programme, il y a un autre moyen de proc‚der: le player, quand il est install‚, place un cookie dans le cookie jar. Ce cookie est : "UTRK" et les donn‚es du cookie est l'id AES courant. Faites attention et utilisez cette derniŠre m‚thode pour trouver l'id AES si vous ˆtes s–r de ne pas le trouver avec appl_find. Vous pouvez imaginer facilement les problŠmes si il y a plusieurs ins- tances du player en m‚moire, 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 auprŠs du player, seul le dernier identifi‚ sera reconnu. (La version multi-programmes est en cours...) 1. Les commandes envoy‚es ~ ~~~~~~~~~~~~~~~~~~~~~~ Grace … cet id AES, vous allez pouvoir contr“ler le player en lui envoyant des messages avec la fonction AES APPL_WRITE. Cette fonction demande 3 paramŠtres : 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 paramŠtres. Les commandes ont ce format (je tiens ici … m'excuser auprŠs de ceux qui utilisaient les commandes des anciennes versions de l'Ultimate Tracker, il s'est av‚r‚ 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 paramŠtres 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 3Šme et faible dans le 4Šme). T_PLAY (901) : D‚marre 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 r‚initialise. T_ABOUT (906) : Affiche la boŒte d'information. T_OPEN (907) : Ouvre la fenˆtre panel. T_CLOSE (908) : Ferme la fenˆtre panel. T_FREQ (909) : Change la fr‚quence, la fr‚quence 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 r‚ponses) T_OPN_OSCILLO (914) : Ouvre la fenˆtre oscilloscope. T_CLS_OSCILLO (915) : Ferme la fenˆtre oscilloscope. T_OPN_PLAYLIST (916) : Ouvre la fenˆtre play-list. T_CLS_PLAYLIST (917) : Ferme la fenˆtre play-list. T_NEXT_MOD (918) : Passe au module suivant. T_PREV_MOD (919) : Passe au module pr‚c‚dent. T_OPN_VUM (920) : Ouvre la fenˆtre vu-mˆtre. T_CLS_VUM (921) : Ferme la fenˆtre vu-mˆtre. T_SEL_PLST (922) : S‚lectionne un module de la play-list. Le num‚ro du module s‚lectionn‚ est dans le mot 3. T_REMOVE_PLST (923) : EnlŠve le module s‚lectionn‚ 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 dur‚e 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 fenˆtres. T_PLAYLIST (931) : Renvoie l'adresse de la play list. (voir R_PLAYLIST pour la r‚ponse). Pour voir comment utiliser ces commandes, jetez un oeil dans le programme nomm‚ \EXEMPLE\SHELL\CMD_TRAX.C. C'est un shell qui contr“le 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 situ‚e dans la m‚moire de votre application. Le flag "GLOBAL" permet au player de lire dans la m‚moire de votre application. Si ce flag est off, Multitos va faire une erreur de protection m‚moire et va effacer le player de la m‚moire. 2. Les messages re‡us ~ ~~~~~~~~~~~~~~~~~~ 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 proc‚der 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) : num‚ro du message - 2Šme mot (1) : id AES du player - 3Šme mot (2) : toujours 0 - 4Šme 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‚ arrˆt‚. R_OPEN (957) : La fenˆtre panel a ‚t‚ ouverte. R_CLOSE (958) : La fenˆtre panel a ‚t‚ ferm‚e. R_FREQ (959) : La fr‚quence 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 fenˆtre panel a ‚t‚ d‚plac‚e, les nouvelles coordonn‚es X et Y sont dans les mots 3 et 4. R_INFOS (966) : R‚ponse … la commande T_INFOS. mot 3 : handle fenˆtre 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 fenˆtre oscilloscope. mot 7 : handle fenˆtre vu-mˆtre. mot 8 : handle fenˆtre play list. R_POSIT (967) : Position de la musique. mot 3 : position. mot 4 : derniŠre position. R_QUIT (968) : Quitte le player (et arrˆte la musique). R_ENDMOD (969) : Fin du module. R_PROTECMOD (970) : Module prot‚g‚. Ce message est re‡u quand le module charg‚ contient des informations corrompues. Il va donc ˆtre impossible de d‚terminer o— se termine le module, donc on ne pourra avancer, reculer ou recevoir des messages R_POSIT coh‚rent. (Ca arrive quand le module est mal ripp‚...) R_OPN_OSCILLO (971) : La fenˆtre oscilloscope est ouverte. R_CLS_OSCILLO (972) : La fenˆtre oscilloscope est ferm‚e. R_MOVE_OSCILLO (973) : La fenˆtre oscillo est d‚plac‚e. Mot 3 : nouvelle coordonn‚e X. Mot 4 : nouvelle coordonn‚e Y. R_OPN_PLAYLIST (974) : La fenˆtre play list est ouverte. R_CLS_PLAYLIST (975) : La fenˆtre play list est ferm‚e. R_MOVE_PLAYLIST(976) : La fenˆtre play list est d‚plac‚e. R_NEXT_MOD (977) : On est pass‚ au module suivant. R_PREV_MOD (978) : On est pass‚ au module pr‚c‚dent. R_OPN_VUM (979) : La fenˆtre vu-mˆtre est ouverte. R_CLS_VUM (980) : La fenˆtre vu-mˆtre est ferm‚e. R_MOVE_VUM (981) : La fenˆtre vu-mˆtre est d‚plac‚e. 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 d‚finie 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 chaŒn‚e 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‚ s‚lectionn‚. Son num‚ro est dans le mot 3. R_REMOVE_PLST (984) : EnlŠve le module s‚lectionn‚ 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‚ effac‚e. R_BEG_LOAD_PLST(987) : La playlist commence d'ˆtre charg‚e. R_BEG_SAVE_PLST(988) : La playlist commence d'ˆtre sauv‚e. 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 dur‚e d'‚coute. mot 3 : heure mot 4 : minute mot 5 : seconde R_CUR_TIME (992) : Temps ‚coul‚ depuis le d‚but du module. mot 3 : heure mot 4 : minute mot 5 : seconde R_CYCLE_WIN (993) : Les fenˆtres ont cycl‚. R_DEL_PLST (994) : La playlist a ‚t‚ effac‚e (de fa‡on 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 r‚ception 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 acc‚de 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 situ‚e dans la m‚moire du player et cet espace m‚moire … son flag "Super" mis … 1. Donc cette m‚moire peut seulement ˆtre acc‚d‚e 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 s–r 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 inf‚rieure … la version 4.92). Ce programme se trouve normallement sur les disquettes donn‚es 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 problŠmes quand le programme est utilis‚ en tant qu'accessoire de bureau. Un accessoire ne peut allouer de la m‚moire dynamiquement (avec un TOS monotƒche), 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 problŠmes avec la saloperie de gestionnaire de m‚moire 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 r‚solution. Si vous changez de r‚solution sans stopper la musique, le systˆme 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 fenˆtre ou sous MultiTOS avec MintShell (ou votre shell pr‚f‚r‚). Attention ! si vous l'utilisez avec TCShell, n'oubliez pas que ce shell interprˆte le caractŠre \ comme en C, pour toutes les op‚rations con‡er- 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 envoy‚s 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 simultan‚ment 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'ic“ne d'un module, ce programme sera lanc‚ et enverra la commande de chargement de ce module … l'accessoire. ================================================================= Les sources ================================================================= J'ai d‚cid‚ de donner l'int‚gralit‚ des sources de ce programme. Les sources ne peuvent ˆtre donn‚es s‚par‚ment 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 d‚teste l'assemblage conditionnel pour permettre … diff‚rents compilateurs d'utiliser les sources. Ces sources ne fonctionneront correctement qu'avec Pure C 1.1 (Vous aurez probablement des problŠmes 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 (assembl‚s en DRI).Ces fichiers sont ATOMIK.S (D‚packer 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, faŒtes un backup de votre ressource avant de la sauver en basse r‚solution: tous les arbres en haute r‚solution dans le ressource vont ˆtre d‚truits (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 Chƒlet de Riqueval 02420 BELLICOURT FRANCE Vous pouvez nous joindre ‚galement sur : * Le r‚seau 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 compact‚s 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 d‚faut v.1.3 - Routine replay sur Falcon acc‚l‚r‚e 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 fr‚quence sur Falcon030 - Corrige des bugs d'affichage - Utilise le cache du 030 sur TT et la m‚moire 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 m‚moire - V‚rifie 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 - Fenˆtre oscilloscope (et nouveaux messages) v.2.3 - Nouvelle barre de menu - Fenˆtre vu-mˆtre (et nouveaux messages) v.2.5 - Nouvelle barre de menu - Play List - Correction de bugs oubli‚s dans la 2.2 - Nouveaux messages Bient“t : - Replay routine DSP & 16 bits : en fait, elles sont d‚j… faites mais j'ai des saloperies de problŠmes de timing pour les utiliser avec le GEM. - "Vrai" spectrum analuzer sur Falcon030. - Possibilit‚s d'‚dition limit‚es. - Dur‚e d'‚coute diff‚rente pour chaque module. - Drag'n'drop avec MultiTOS (d‚j… fait...)