!language [french] !use_auto_toptocs [stg,html] !use_auto_subtocs [stg,win,pch,html] !use_auto_subsubtocs [stg,win,pch] !no_effects [asc] !no_numbers [html] !docinfo [programimage] box !html_modern_layout !raw [stg] @options "+z -t4" !docinfo [title] GEMJing-Dokumentation !docinfo [version] V.1.06 !docinfo [date] 1997-10-15 !docinfo [author] G”tz Hoffart !docinfo [htmltitle] GEMJing-Dokumentation !raw [stg] @subject "Documentation" ################################################################## !begin_document !maketitle !tableofcontents ############################################################### !node Avertissement GEMJing est un shareware mais sans contribution pour l'instant. Il est interdit de modifier les archives de GEMJing ou d'ajouter GEMJing … d'autres distributions de programmes, … l'exception de Texel (de Thomas Much), CAB (d' Alexander Clauss), IPL-Viewer (de Mark Wherry), Schecks (de Christian Lehmann) et Fracirc (de Tim Putnam). Quoi que vous fassiez avec GEMJing, c'est … vos risques et p‚rils. Copyright (c) de G”tz Hoffart. Tous droits r‚serv‚s. Auteur: G”tz Hoffart, Rheinstetten. (!nl) MausNet: G”tz Hoffart @ FR (!nl) Internet: hoffart@uni-freiburg.de (!nl) !ifdest [html] !raw [html] WWW: http://members.aol.com/hoffart/index.html
!else WWW: http://members.aol.com/hoffart/index.html !endif ############################################################### !node Utilisation GEMJing joue des ‚chantillons sonores seul ou … partir d'autres applications. Il supporte les formats WAV, HSN, AVR, SMP, DVS et (prochainement) NeXT/au. GEMJing supporte les ‚quipements suivants: !begin_itemize !item ST, MegaST !item STE, MegaSTE, TT !item Falcon, Apple Macintosh !item Hades060 !end_itemize Pour interrompre la lecture, presser la touche Control et la touche Shift (gauche). En cas d'utilisation par d'autres applications, aucun message d'erreur direct n'est signal‚. ##################################################################### !node Guide du programmeur GEMJing a besoin d'au moins 30 Ko de m‚moire libre plus la taille de l'‚chantillon a jouer. Il existe plusieurs maniŠres de controler GEMJing: !begin_itemize !item lancement et (!link [utilisation du message VA_START][VA_START]) !item lancement et (!link [utilisation d'un Ligne de commande][Ligne de commande]) !item utilisation d'OLGA !item lancement et utilisation de GEMScript (OPEN et QUIT sont compris) !end_itemize !subnode VA_START Lancer GEMJing et effectuer sa recherche avec appl_find. Envoyer un message VA_START et vous re‡evrez les messages AV_STARTED et GEMJING_RETURN. GEMJing supporte plusieurs options transmises par VA_START. Les passer simplement devant le nom du fichier a jouer. !begin_xlist [ blaa ] !item [-q] Quitter. Joue un ‚chantillon et termine le programme. !item [-rx] R‚p‚tition. L'‚chantillon est jou‚ x fois. ""-r1"" signifie que le fichier sera jou‚ une seule fois, ""-r0"" correspond … l'infini! Si l'option ""-r"" n'est pas indiqu‚e, cela correspond … ""-r1"". x peut ˆtre n'importe quel integer d'une valeur de 0 (inclus) … 32000 (inclus). !item [-dx] Delai. Fixe un delai de x secondes entre chaque r‚p‚tition. ""-d0"" correspond … un delai nul. Si l'option ""-d"" n'est pas indiqu‚, cela correspond … ""-d0"". x peut ˆtre n'importe quel integer d'une valeur de 0 (inclus) … 32000 (inclus). !end_xlist Si votre programme d‚sire interrompre la lecture, envoyer simplement le signal MiNT ""SIGUSR1"" … GEMJing. GEMJing ne retourne directement aucun message d'erreur lorsqu'il est control‚ par un programme. Mais vous pouvez observer la valeur du message (!link [GEMJING_RETURN] [message GEMJING_RETURN]) pour obtenir plus d'information. ##################################################################### !subnode Ligne de commande Si une ligne de commande est pass‚e … GEMJing, celui-ci lira l'‚chantillon indiqu‚ ou retournera un code d'erreur ( d'une valeur identique au message GEMJING_RETURN ). !begin_xlist [ blaa ] !item [-q] Quitter. Joue l'‚chantillon puis termine le programme. Aucune barre de menu n'est affich‚e! donc vous pouvez aussi utiliser GEMJing avec des programmes TOS. !item [-rx] R‚p‚tition. L'‚chantillon est jou‚ x fois. ""-r1"" signifie que celui-ci sera jou‚ une fois, ""-r0"" indique une r‚p‚tition infinie! Si l'option ""-r"" n'est pas pr‚cis‚e, cela correspond … ""-r1"". x peut ˆtre n'importe quel integer d'une valeur de 0 (inclus) … 32000 (inclus). !item [-dx] Delai. Fixe un delai de x secondes entre chaque r‚p‚tition. ""-d0"" correspond … un delai nul. Si l'option ""-d"" n'est pas indiqu‚, cela correspond … ""-d0"". x peut ˆtre n'importe quel integer d'une valeur de 0 (inclus) … 32000 (inclus). !end_xlist Si votre programme d‚sire interrompre la lecture, envoyer simplement le signal MiNT ""SIGUSR1"" … GEMJing. ##################################################################### !subnode message VA_START Un exemple VA_START. Le client re‡evra AV_STARTED et (!link [GEMJING_RETURN] [message GEMJING_RETURN]). !raw [stg] @line 1 70 0 0 7 (!nl) !begin_verbatim #define MGLOBAL 0x20 #define VA_START 0x4711 #define AV_STARTED 0x4738 #define GEMJING_RETURN 0x7407 #define MagX_COOKIE 0x4D616758L #define MiNT_COOKIE 0x4D694E54L BYTE *playbuf; BOOLEAN MagiC, MultiTOS, MiNT; if (get_cookie(MiNT_COOKIE, &ldum) == TRUE) { MiNT = TRUE; if (_GemParBlk.global[1] > 1 || _GemParBlk.global[1] == -1)) MultiTOS = TRUE; } if (get_cookie(MagX_COOKIE, &ldum) == TRUE) MagiC = TRUE; [...] /* Alloue de la m‚moire globale … la chaŒne. Si MiNT ou MagiC est actif, * aucun drapeau de protection de m‚moire ne doit ˆtre activ‚. (Les * programmes TOS on parfois des problŠmes avec) */ if (MagiC == TRUE || MiNT == TRUE) playbuf = (BYTE *) Mxalloc (150, 0 | MGLOBAL); else playbuf = (BYTE *) Malloc (150); /* Remplissage du tableau avec: * -q -r3 E:\Sound\BeBack.wav * et GEMJing se terminera aprŠs trois lectures de l'‚chantillon. */ play_sample (playbuf); [...] Mfree (playbuf); VOID play_sample(CONST BYTE *args) { WORD msg[8], i; if (!args) return ; /* Peut ˆtre que GEMJing est d‚j… present */ gemjing_id = appl_find("GEMJING "); if (gemjing_id < 0) { PathOfGEMJing = getenv("GEMJINGPATH"); /* ou est GEMJing? */ if (PathOfGEMJing && strlen(PathOfGEMJing) > 0) { if (MultiTOS == TRUE) shel_write(0, 1, 1, PathOfGEMJing, NULL); else if (MagiC == TRUE) shel_write(1, 1, 100, PathOfGEMJing, NULL); } } /* Si GEMJing est present */ if ((i = appl_find ("GEMJING ")) >= 0) { msg[0] = VA_START; /* app_id est la valeur retourn‚e par appl_init() */ msg[1] = app_id; msg[2] = 0; msg[3] = (WORD)(((LONG)args >> 16) & 0x0000ffff); msg[4] = (WORD)((LONG)args & 0x0000ffff); msg[5] = 0; msg[6] = 0; msg[7] = 0; appl_write(i, 16, msg); } return ; } !end_verbatim !raw [stg] @line 1 70 0 0 7 (!nl) ##################################################################### !subnode message GEMJING_RETURN GEMJing envoi GEMJING_RETURN (0x7407) au client du VA_START. msg[3] contient une valeur positive non-nulle, le reste du tableau est … la valeur z‚ro. Si une erreur s'est produite, GEMJing ne joue pas l'‚chantillon! !raw [stg] @line 1 70 0 0 7 (!nl) !begin_verbatim /* pas d'erreur, l'‚chantillon a ‚t‚ jou‚ */ #define RT_OKAY 1 /* pas assez de m‚moire pour l'entˆte ou la totalit‚ de l'‚chantillon */ #define RT_NO_MEM 117 /* fichier non trouv‚ ou de taille nulle ou erreur de lecture du fichier */ #define RT_NO_FILE 118 /* l'‚chantillon est compress‚ (DVS seulement). GEMJing ne le supporte pas */ /* pour l'instant. */ #define RT_PACKED 119 /* l'‚chantillon (WAV) ne contient pas de donn‚e sonore */ #define RT_WRONG_CHUNK 120 /* format de fichier inconnu */ #define RT_WRONG_FILE 121 /* format au/NeXT non support‚ */ #define RT_UNSUPPORTED_AU_SND 125 !end_verbatim ##################################################################### !node Remerciements Merci …: !begin_itemize !item Thomas Much - pour les beta tests [il n'a jamais de problŠme :-)] et suggestions !item Dirk Haun - programmation de conversion 16 Bit vers 8 Bit !item Alexander Clauss - suggestions et SND-FAQ !item J”rg Hahne - auteur du code sonore pour ST !item Holger Weets, Thomas Knneth, Gerd Hofmann et Alexander Lorenz pour les beta tests. !item Sven & Wilfried Behne le r‚glage du startup code PureC. !item Katrin Mller pour les trŠs p‚nibles tests d'‚coute (""we don't need no education""), forc‚e d'‚couter maintes fois les sons lorsque j'ai commenc‚ … programmer GEMJing :-) !item Uwe Lehmann (Documentation en anglais), Jo Vandeweghe (Ressource fran‡ais), Olivier Booklage (Ressource et documentation en fran‡ais), Marion Messerich, Gideon Jacques, Sascha Malatsion, Leona Baba, Laisani Petersen, Atilim et Devrim Erkmen, Tiziana Marotta, Basar Alabay, Horst Boenisch et Markus Mller. !item Ulrich Kaiser !end_itemize ##################################################################### !node Historique (!B)Version 1.06, 1997-10-15(!b) !begin_itemize !item Ressource philipinienne: Christian Marcelo; italienne: Tiziana Marotta. !end_itemize (!B)Version 1.05, 1997-10-04(!b) !begin_itemize !item Documentation fran‡aise par Olivier Booklage, anglais par Uwe Lehmann. !item Ressource fran‡aise: Jo Vandeweghe; anglais: Uwe Lehmann; fidji: Laisani Petersen; esperanto: Sascha Malatsion; espagnol: Ursula Hoffart; latin: Marion Messerich; bishlamaro: Gideon Jacques; japonais: Leona Baba, turque: Atilim et Devrim Erkmen. (!nl) Coordination: Markus Mller. !item Edition Atari-Messe Neuss !end_itemize (!B)Version 1.04, 1997-08-11(!b) !begin_itemize !item GEMJing problŠme de qualit‚ avec l'option delai. Fix‚. Merci … Alexander Clauss et Julian Reschke. !item Trois nouveaux formats sont reconnus: HSN (CrazySounds), AVR (Michtron), SMP (Galactic Sound Sampler). GEMJing est quand mˆme r‚duit de 22 KB … 16 KB. !item WDIALOG n'est plus indispensable. !item AV_SENDKEY !item Version fran‡aise disponible (merci … Jo Vandeweghe). !item Supporte GEMScript Rev.0.8, ""OPEN"" et ""QUIT"" inclus. !item SingleTOS: bug fix‚ du CLI avec GEMScript dans sa version V.1.03; merci … Peter Melzer. !item Remarques SCCS !end_itemize (!B)Version 1.03, 1997-07-15(!b) !begin_itemize !item Documentation en anglais disponible !item sleep() replace evnt_timer() lorsque GEMJing est utilis‚ comme un programme TOS: ""-d"" fonctionne mˆme sans initialisation de l'AES. !item GEMJing devient un serveur OLGA. !item Commande GEMScript ""OPEN"" est comprise. !item Correction du GS_COMMAND, merci aux ""GS-Test"" d'Alexander Barton. !item M‚chant bug dans l'initialisation d'OLGA retir‚ - merci … Olivier Booklage. !item OLE_EXIT et AP_TERM !item Quelques am‚liorations: ‚conomie de m‚moire (0.5 KB). !end_itemize (!B)Version 0.71, 1997-03-23(!b) !begin_itemize !item Bug dans le code TT retir‚. !item Lecture sur Hades060. !item Edition CETiK! !item PremiŠre documentation en anglais. !end_itemize ##################################################################### !end_document