                        GEMJing-Dokumentation

                                V.1.35
                              1999-03-07

                                 von

                             Gtz Hoffart


Inhaltsverzeichnis
==================

 1  Rechtliches

 2  Was tut es?

 3  Einsatzmglichkeiten

 4  Fr Programmierer
    4.1  VA_START-bergabe
    4.2  Kommandozeilenstart
    4.3  OLGA-Start
         4.3.1  Anpassung der OLGA.INF
    4.4  VA_START-Nachricht
    4.5  GEMJing-Returnmessage
    4.6  WeirdMac

 5  Tips & Tricks

 6  Dank

 7  Historie



1  Rechtliches
**************

GEMJing (sprich: Tschmtsching) ist Freeware. Die Weitergabe darf nur
vollstndig und unverndert mit allen zugehrigen Dateien erfolgen. Es
darf nur mit schriftlicher Zustimmung des Autors anderen Produkten
oder Software beigelegt werden. Zur Zeit liegt GEMJing den Programmen
Texel (Tabellenkalkulation, Application Systems Heidelberg), CAB
(HTML-Browser, Alexander Clauss), Schecks (Christian Lehmann), IPL-
Viewer (Mark Wherry), Draconis (Jens Heitmann), Rational Sounds (Heiko
Achilles und Nils Schneider) und Fracirc (IRC-Client von Tim Putnam)
bei.

Der Vertrieb ber CDs, Disketten und Zeitschriften bzw. Magazinen oder
hnliche, kostenpflichtige Vertriebsformen ist nur mit meiner schrift-
lichen Zustimmung erlaubt. Ausdrcklich erlaubt ist die vollstndige,
unvernderte und kostenlose Weitergabe ber das MausNet und ber ftp.

Jede Benutzung erfolgt auf eigene Gefahr. Der Autor kann nicht fr
Schden materieller wie immaterieller Art haftbar gemacht werden, die
durch Benutzung oder Nichtbenutzung des Programms oder durch Fehler in
der Dokumentation entstanden sind oder entstehen knnen.

Auf deutsch: Jede Software enthlt Fehler, wobei diese Ihre Festplatte
mit grter Wahrscheinlichkeit am Stck lt.

Copyright (c) by Gtz Hoffart. Alle Rechte am Programm und der Doku-
mentation sowie den zugehrigen Dateien vorbehalten.

Autor: Gtz Hoffart, Rheinstetten.
MausNet: Gtz Hoffart @ FR
Internet: goetz@hoffart.de

WWW: http://www.hoffart.de/



2  Was tut es?
**************

GEMJing spielt Samples ab, bevorzugt per Fernsteuerung. Wie diese
vorgenommen werden kann, wird im Programmierabschnitt (siehe "Fr Pro-
grammierer") erklrt.

Akzeptiert werden derzeit WAV-Samples (bekannt aus der Windows-Welt),
HSN-Samples (CrazySounds, Atari), AVR-Samples (Michtron), SMP-Samples
(Galactic Sound- Sampler, Atari) sowie deren Abart "STE-SMP",
ungepackte DVS-Samples (von der Harddisc-Recording-Software "WinRec")
sowie Sun/NeXT-Samples im ".au" bzw. ".snd"-Format (mit einigen
Einschrnkungen (siehe "Tips & Tricks")).

Die Einsatzmglichkeiten von GEMJing reichen vom simplen Dateiviewer
bis zum Plug-In.

GEMJing luft mit folgenden Hardwarekonfigurationen:

    ST, MegaST (PSG)

    STE, MegaSTE, TT (DMA)

    Falcon

    MagiCMac (mit WeirdMac oder MSND)

    MagiC-PC 6.0

    Hades040 und Hades060 (PSG)

    Hades mit der Startrack-Soundkarte, mit und ohne Clockmodul

    Milan mit Milanblaster

Dabei wird versucht, die jeweils maximale Qualitt, die das Sound-
system der Hardware bietet, auszunutzen. Auf ST-kompatiblen Systemen
ist dies der Soundchip (in obiger Auflistung: PSG), STE- kompatible
Systeme werden mittels 8 Bit DMA Sound betrieben (DMA) und auf dem
Falcon wird der 16 Bit XBIOS-Sound verwendet (XBIOS). Bei Apple
Macintosh mit MagiCMac und installiertem MSND oder WeirdMac hngt die
Qualitt von der zugrundeliegenden Soundhardware des Macs ab, kleinere
und ltere Macs bieten nur 8 Bit Sound, neuere dagegen 16 Bit (XBIOS).
MagiC-PC 6.0 bietet ebenfalls freie Frequenzwahl an (XBIOS).

Das Abspielen kann durch Drcken von Control und Links-Shift un-
terbrochen werden.

Fehlermeldungen gibt GEMJing nur aus, wenn der Benutzer den Menein-
trag gewhlt hat, um sich das Sample anzuhren. Bei Aufforderung zur
Wiedergabe per Kommandozeile oder VA_START bleibt GEMJing (fr den Be-
nutzer) stumm in Sachen Fehlerrckmeldung.



3  Einsatzmglichkeiten
***********************

Man kann GEMJing im Desktop fr WAV, AVR, SMP, HSN, DVS, AU und SND-
Dateien anmelden und dann bequem Sample-Dateien doppelklicken, um sie
anzuhren, ohne riesige Programmonster und Super-Viewer nachladen zu
mssen.

Bei Verwendung des Desktops Jinnee kann man GEMJing fr die
gewnschten Extensionen als Applikation anmelden und in der Einga-
bezeile fr die Kommandozeile "-q %$p" eingeben. Das bewirkt, da
GEMJing sich nach dem Spielen sofort wieder aus dem Speicher
verabschiedet.

Oder man schreibt sich ein Mupfel-Script, das GEMJing beim Booten
startet und ein Sample spielen lt. Einfach mit der Kommandozeile "-q
sample.wav" aufrufen und schon tnt es bei jedem Rechnerstart. Oder
bei jedem Shutdown. Oder zu jeder vollen Stunde ...

TOS bietet leider keinerlei Mglichkeiten, Samples ber einen Be-
triebssystemaufruf abzuspielen. Daher mu jeder Programmautor, dessen
Programm sich lautstark ausdrcken soll, diese Routinen selbst in sein
Programm integrieren. Mit GEMJing ist das nicht mehr notwendig, es
besitzt mehrere Schnittstellen nach auen. Der Abschnitt Fr Pro-
grammierer (siehe "Fr Programmierer") hilft hier weiter.

GEMJing gehrt nicht in den AUTO-Ordner.

Programme knnen GEMJing auch ber OLGA OLGA (siehe "OLGA-Start")
nachstarten lassen, was sehr bequem ist. Dazu bitte die OLGA.INF
anpassen (siehe "Anpassung der OLGA.INF").

Wer will, da andere Programme GEMJing finden, der sollte die Environ-
mentvariable GEMJINGPATH setzen: Machen Sie sich von der Datei
MAGX.INF eine Sicherheitskopie. ffnen Sie nun Ihre originale MAGX.INF
mit einem Texteditor wie etwa qed, 7Up, Tempus etc. Eine Zeile lautet
"#_ACC C:\" oder hnlich. Fgen Sie nun danach eine Zeile ein, in die
Sie schreiben:

#_ENV GEMJINGPATH=C:\Tools\GEMJing\GEMJing.prg

Den Pfad mssen Sie natrlich noch an Ihre Gegenheiten anpassen.
Gemini- Benutzer knnen die Environmentvariable in der Mupfel-Profile
setzen, N.AES-User in der MINT.CNF. Es ist nicht notwendig, da die
Variable gesetzt wird, aber es spart letztlich Arbeit, da die Program-
me GEMJing von alleine finden.



4  Fr Programmierer
********************

GEMJing ist in erster Linie dazu gedacht, ferngesteuert zu werden. Der
statische RAM Verbrauch betrgt ungefhr 30kB, alles andere wird
dynamisch angefordert.

Wer GEMJing von seinem Programm aus aufrufen will, hat drei Mglich-
keiten:

    Start und bergabe einer VA_START-Nachricht (siehe "VA_START-
     bergabe")

    Start mit bergabe einer Kommandozeile (siehe "Kommandozei-
     lenstart")

    ber OLGA (siehe "OLGA-Start")

    ber GEMScript (das OPEN- und QUIT-Kommando wird untersttzt)

Beim Start sollte beachtet werden, da die Environmentvariable
GEMJINGPATH anzeigt, wo sich GEMJing befindet. Unter MagiC she das in
der MAGX.INF dann etwa so aus:

#_ENV GEMJINGPATH=D:\Tools\GEMJing\GEMJing.prg

----------------------------------------------------------------------


4.1  VA_START-bergabe
======================

GEMJing wird normal gestartet. Andere Applikationen knnen es nun ber
die AES ausfindig machen und eine VA_START-Nachricht verschicken. Als
Antwort bekommen sie AV_STARTED und GEMJING_RETURN.

Die VA_START-Nachricht ist fr GEMJing durch eine bergabe von Para-
metern erweiterbar. Es wird in msg[3] und msg[4] ein Pointer auf einen
String bergeben, der die Kommandozeile enthlt. Dieser String mu
global lesbar sein.

 -q      Quit. Das Sample wird abgespielt und unmittelbar im Anschlu
         an das Ende des Samples beendet sich das Programm selbstn-
         dig.

 -rx     Repeat. Das Sample wird x-mal gespielt. "-r1" bedeutet, da
         das Sample einmal gespielt wird, "-r0" bedeutet endlose
         Wiederholung. Wird kein "-r"-Parameter bergeben, so ent-
         spricht dies "-r1". Wertebereich fr x: [0; 32000]

 -dx     Delay. Zwischen den Wiederholungen kann eine Pause von x
         Sekunden liegen, wobei x ganzzahlig und positiv sein mu. "-
         d0" bedeutet, da die zwei Wiederholungen direkt aneinander
         folgen (so dicht es GEMJing erlaubt). Wertebereich fr x: [0;
         32000]

 -mx     Spielen aus dem Speicher (-m fr Memory). x steht fr einen
         Ausdruck der Form "a,b", wobei "a" die Adresse als Dezimal-
         zahl angibt, ab der das Sample in einem der untersttzten
         Formate komplett liegt. "b" ist die Lnge des Samples im
         Speicher, ebenfalls als Dezimalzahl.
         Der Speicher mu natrlich global alloziert sein, d.h.
         Mxalloc(menge, 0 | MGLOBAL), damit GEMJing auch in Systemen
         mit Speicherschutz darauf zugreifen darf.
         Ein korrekter Ausdruck wre also "-m445340,49768", natrlich
         ohne die ". Das Sample liegt hier ab Adresse 445340 mit einer
         Lnge von 49768 Bytes.

Mit dem "-m"-Parameter mssen Programme das Sample nicht dauernd von
GEMJing laden lassen, sondern knnen selbst ein halbes Dutzend Samples
in den Speicher laden, um GEMJing dann nur noch die Adresse
mitzuteilen.

Wenn ein Sample pltzlich gestoppt werden mu, so ist GEMJing das
MiNT-Signal "SIGUSR1" zu schicken.

Nach einem VA_START (siehe "VA_START-Nachricht") bedankt sich GEMJing
mit AV_STARTED und mit der GEMJing-Returnmessage, mittels derer auf
evtl. aufgetretene Fehler reagiert werden kann. GEMJing selbst gibt
keine Fehler aus, wenn das Sample fehlerhaft oder das Soundsystem
gesperrt ist oder hnliches, damit das bedienende Programm auf jeden
Fall die Kontrolle behlt und nicht irgendwo noch Alerts von GEMJing
rumdmpeln. Idealerweise soll der Benutzer GEMJing ja gar nicht
bemerken.


4.2  Kommandozeilenstart
========================

Bei Start von GEMJing mit bergabe einer Kommandozeile wertet GEMJing
die bergebenen Parameter aus und spielt ggf. das Sample. Wird GEMJing
beendet, so wird der Fehlercode zurckgegeben, der beim zuletzt
gespielten Sample auftrat.

 -q      Quit. Das Sample wird abgespielt, ohne da eine Menzeile
         dargestellt wird. Unmittelbar im Anschlu an das Ende des
         Samples beendet sich das Programm selbstndig.

 -rx     Repeat. Das Sample wird x-mal gespielt. "-r1" bedeutet, da
         das Sample einmal gespielt wird, "-r0" bedeutet endlose
         Wiederholung. Wird kein "-r"-Parameter bergeben, so ent-
         spricht dies "-r1". Wertebereich fr x: [0; 32000]

 -dx     Delay. Zwischen den Wiederholungen kann eine Pause von x
         Sekunden liegen, wobei x ganzzahlig und positiv sein mu. "-
         d0" bedeutet, da die zwei Wiederholungen direkt aneinander
         folgen (so dicht es GEMJing erlaubt). Ist kein "-d" ange-
         geben, so wird "-d0" verwendet. Wertebereich fr x: [0;
         32000]

 -p      Plain. GEMJing startet und bleibt im Speicher, zeigt jedoch
         keine Menzeile an. Achtung: Nur als Kommandozeilenparameter
         erlaubt!

 -mx     Spielen aus dem Speicher (-m fr Memory). x steht fr einen
         Ausdruck der Form "a,b", wobei "a" die Adresse als Dezimal-
         zahl angibt, ab der das Sample in einem der untersttzten
         Formate komplett liegt. "b" ist die Lnge des Samples im
         Speicher, ebenfalls als Dezimalzahl.
         Der Speicher mu natrlich global alloziert sein, d.h.
         Mxalloc(menge, 0 | MGLOBAL), damit GEMJing auch in Systemen
         mit Speicherschutz darauf zugreifen darf.
         Ein korrekter Ausdruck wre also "-m445340,49768", natrlich
         ohne die ". Das Sample liegt hier ab Adresse 445340 mit einer
         Lnge von 49768 Bytes.

Mit dem "-m"-Parameter mssen Programme das Sample nicht dauernd von
GEMJing laden lassen, sondern knnen selbst ein halbes Dutzend Samples
in den Speicher laden, um GEMJing dann nur noch die Adresse
mitzuteilen. Achtung! Der Speicher fr das Sample darf erst
freigegeben werden, wenn GEMJing beendet wurde und damit eine Rckmel-
dung vorliegt, da es nicht mehr spielt. AES-Messages kann man als
TOS-Programm ja nicht verschicken.

Wenn ein Sample pltzlich gestoppt werden mu, so ist GEMJing das
MiNT-Signal "SIGUSR1" zu schicken.


4.3  OLGA-Start
===============

GEMJing ist ein OLGA-Server fr .WAV, .DVS, .HSN, .AVR, .SMP und .AU
bzw. .SND-Samples. Die Datei OLGA.INF ist also anzupassen (siehe
"Anpassung der OLGA.INF").

Danach kann man z.B. in Stella einfach eine WAV-Datei ffnen und
GEMJing wird automatisch ber OLGA nachgestartet: man hrt das Sample.


4.3.1  Anpassung der OLGA.INF
-----------------------------

Unter "[Extensions]" sind die folgenden sieben Eintrge hinzuzufgen:

.WAV=C:\Programme\GEMJing\GEMJing.PRG
.DVS=C:\Programme\GEMJing\GEMJing.PRG
.SMP=C:\Programme\GEMJing\GEMJing.PRG
.AVR=C:\Programme\GEMJing\GEMJing.PRG
.HSN=C:\Programme\GEMJing\GEMJing.PRG
.AU=C:\Programme\GEMJing\GEMJing.PRG
.SND=C:\Programme\GEMJing\GEMJing.PRG

Den Abschnitt "[Types]" kann man wie folgt ergnzen:

MU=C:\Programme\GEMJing\GEMJing.PRG

Man sollte jedoch darauf achten, da keine Eintrge doppelt vergeben
werden! Ab OLGA 1.3 liegen dem OLGA-Archiv die OLGA-Tools bei, die
eine bestehende OLGA.INF berprfen.


4.4  VA_START-Nachricht
=======================

Hier eine Beispiel-VA_START-Nachricht, wie sie an GEMJing verschickt
werden kann. Daraufhin erhlt man AV_STARTED sowie GEMJING_RETURN
(siehe "GEMJing-Returnmessage").

----------------------------------------------------------------------

#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;

[...]

/* Globalen Speicher fr den String anfordern. Ist weder MiNT noch
 * MagiC aktiv, so werden keine Speicherschutzflags gesetzt (TOS
 * hat damit Probleme).
 */
if (MagiC == TRUE || MiNT == TRUE)
   playbuf = (BYTE *) Mxalloc (150, 0 | MGLOBAL);
else
   playbuf = (BYTE *) Malloc (150);

/* Diesen Playbuffer kann man jetzt z.B. mit
 * "-q -r3 E:\Sound\BeBack.wav"
 * belegen - ohne die Anfhrungszeichen natrlich.
 */

/* und jetzt aufrufen */
play_sample (playbuf);

[...]

Mfree (playbuf);

VOID play_sample(CONST BYTE *args)
{
  WORD msg[8], gemjing_id;
  LONG ldum, start;

  if (!args) /* ohne Argumente -> fertig */
    return ;

  /* AES-ID von GEMJing ermitteln */
  gemjing_id = appl_find("GEMJING ");


  if (gemjing_id < 0)     /* Luft GEMJing bereits? */
  {
    /* Environmentvariable "GEMJINGPATH" auslesen */
    PfadvonGEMJing = getenv("GEMJINGPATH");
    if (PfadvonGEMJing && strlen(PfadvonGEMJing) > 0)
    {
      if (MultiTOS == TRUE)
        shel_write(0, 1, 1, PfadvonGEMJing, NULL);
      else if (MagiC == TRUE)
        shel_write(1, 1, 100, PfadvonGEMJing, NULL);

      /* Ja, man knnte die Parameterbergabe auch schon beim
         Start per shel_write() erledigen. Dann hat man jedoch
         keine Mglichkeit der Fehlercoderckgabe. */
      }
   }

  /* Kurz warten, damit die AES-ID da ist. Nicht optimal gelst. */
  /* Innerhalb von zwei Sekunden immer mal wieder die AES-ID suchen */
  start = clock();
  while (clock() - start < 2 * CLK_TCK)
    if (appl_find("GEMJING ") >= 0)
      break;

   if ((gemjing_id = appl_find("GEMJING ")) >= 0)
   {
     msg[0] = VA_START;

     /* die eigene Applikations-ID, die von appl_init()
      * geliefert wird
      */
     msg[1] = app_id;

     msg[2] = 0;

     /* den Pointer auf zwei Words zerlegen */
     msg[3] = (WORD)(((LONG)args >> 16) & 0x0000ffff);
     msg[4] = (WORD)((LONG)args & 0x0000ffff);

     msg[5] = 0;
     msg[6] = 0;
     msg[7] = 0;

     /* Die VA_START-Nachricht verschicken */
     appl_write(gemjing_id, 16, msg);
   }
   return ;
}

----------------------------------------------------------------------


4.5  GEMJing-Returnmessage
==========================

GEMJing liefert nach einem VA_START die Messages AV_STARTED sowie
GEMJING_RETURN (0x7407). In msg[3] von GEMJING_RETURN erhlt man einen
positiven Fehlercode, alle anderen Felder sind 0. Jeder dieser Fehler
fhrt dazu, da GEMJing das Abspielen nicht beginnt. Je nach auf-
rufender Applikation und Fehlermeldung sollte der Fehler dem Benutzer
mitgeteilt werden.

----------------------------------------------------------------------

/* es trat kein Fehler auf, das Sample wurde gespielt           */
#define RT_OKAY                1

/* nicht genug Speicher am Stck fr den Header oder das Sample */
/* selbst oder fr programminterne Zwecke                       */
#define RT_NO_MEM              117

/* Datei konnte nicht gefunden werden oder hat die Lnge 0 oder */
/* es trat ein Lesefehler auf.                                  */
#define RT_NO_FILE             118

/* Das Sample ist gepackt (nur bei DVS-Samples). Gepackte       */
/* Samples werden von GEMJing nicht untersttzt.                */
#define RT_PACKED              119

/* Das WAV-Sample enhlt keine Sample-Daten                     */
#define RT_WRONG_CHUNK         120

/* Die Datei enthlt kein bekanntes Sampleformat                */
#define RT_WRONG_FILE          121

/* Das Soundsystem ist gesperrt, da ein anderes Programm darauf */
/* zugreift                                                     */
#define RT_LOCKED              122

/* Interner Fehler - sollte nie auftreten                       */
#define RT_SND_ERR             123

/* Die Hardware wird von GEMJing nicht untersttzt              */
#define RT_WRONG_HARDWARE      124

/* Die au/snd-Datei enthlt nicht untersttzte Formate          */
#define RT_UNSUPPORTED_AU_SND  125

----------------------------------------------------------------------


4.6  WeirdMac
=============

WeirdMac von Thorsten Pohlmann <Thorsten_Pohlmann@wi2.maus.de> ist
eine sehr empfehlenswerte Alternative zu MSND, da es wirklich
kompatibel zum Falcon-XBIOS ist und eine freie Frequenzwahl erlaubt.
GEMJing untersttzt es ab WeirdMac Version 0.64.

WeirdMac ist Fairware.



5  Tips & Tricks
****************

Mein GEMJing will nicht spielen, es bleibt einfach stumm!
Das kann viele Grnde haben. Wenn das Sample per Dateiauswahl bestimmt
wurde, so werden Fehlermeldungen per Alert dargestellt, ansonsten
nicht (um die Fernsteuerbarkeit zu gewhrleisten).

    Es liegt keine passende Hardware vor, d.h. der Sound-Cookie
     (_SND) zeigt weder eine ST, STE oder Falcon-kompatible Hardware
     an und es ist auch kein MacSound installiert.

    Das Soundsystem ist bereits von einem anderen Programm in Be-
     schlag genommen und daher gesperrt, so z.B. wenn gleichzeitig
     Zeig's mir luft und dort ein Sample geladen ist.

    Vor GEMJing lief eine veraltete Version von Zeig's mir, die das
     Soundsystem nicht richtig freigab. Ab der Version 0.97 von Zeig's
     mir und den zugehrigen Modulen sollte dieses Problem nicht mehr
     existieren.

    Es ist nicht genug Speicher vorhanden, um das Sample zu laden.

    Das Format des Samples ist unbekannt und wird nicht untersttzt
     (das ist leider relativ oft der Fall, viele Programme schreiben
     sehr seltsame Header).

----------------------------------------------------------------------

GEMJing will nicht unter MagiC-PC 1.3 spielen!
Ein Update auf MagiC-PC 6.0 hilft. Ab dieser Version wird die
Soundausgabe via XBIOS untersttzt.

----------------------------------------------------------------------

Habe ich Crazy Sounds installiert, so spielt GEMJing nicht.
Crazy Sounds scheint das Soundsystem regelmig zu initialisieren, so
da GEMJing keine Chance hat. Abhilfe: Rational Sounds von Heiko
Achilles (heiko_achilles@du.maus.de) und Nils Schneider verwenden.

----------------------------------------------------------------------

Mein Sample wird zu langsam oder zu schnell gespielt.
Wahrscheinlich ist das Sample mit einer "krummen" Frequenz aufgenommen
worden. Die Abspielhardware des STE und Falcon (MSND fr MagiCMac
verhlt sich wie ein Falcon) lassen leider keine stufenlose Auswahl
der Frequenz zu. Die recht hufig vorkommenden 22kHz Samples werden
mit 25kHz abgespielt, das hrt sich besser an, als 19kHz (Falcon, Mac)
oder gar 12kHz (STE, TT). Abhilfe bei Verwendung von MagiCMac: Be-
nutzen Sie statt MSND besser WeirdMac ab Version 0.64 von Thorsten
Pohlmann, das eine freie Frequenzwahl ermglicht.

----------------------------------------------------------------------

Mein Sun/NeXT-Sample wird nicht abgespielt, obwohl GEMJing das doch
knnen sollte!
Sun/NeXT-Samples gibt es mit zwei Dutzend Untertypen, von denen
GEMJing derzeit nur einige untersttzt. Es wird daran gearbeitet.

----------------------------------------------------------------------

Manche meiner WAV-Samples werden nur verrauscht gespielt, man erkennt
nichts.
Microsoft hat ein WAV-Format definiert, das gepackt vorliegt. GEMJing
kann diese Samples derzeit noch nicht entpacken.

----------------------------------------------------------------------

GEMJing will nicht spielen, wenn Freedom 2 (Liberty) installiert ist
An einem Workaround wird gearbeitet. Benutzer von originaler Atari-
Hardware knnen von mir eine gepatchte Version erhalten, die funktio-
niert. Alle anderen mssen sich noch etwas gedulden.



6  Dank
*******

Ein herzliches Dankeschn haben sich verdient:

    Thomas Much - fr geduldiges Betatesten (bei ihm lief's ja immer
     :-) und Vorschlge.

    Dirk Haun - von ihm stammt die verbesserte 16 Bit nach 8 Bit
     Wandlung.

    Alexander Clauss - fr Anregungen und den Hinweis auf die SND-
     FAQ.

    Jrg Hahne - er stellte seine Abspielroutinen fr den PSG zur
     Verfgung.

    Holger Weets, Thomas Knneth, Gerd Hofmann und Alexander Lorenz
     fr das Ertragen von Bombendrohungen und fr Betatesting.

    Sven & Wilfried Behne fr den verbesserten PureC-Startup-Code.

    Katrin Mller fr das Ignorieren des nervttenden Sample-
     schnipsels ("we don't need no education"), das sie mehrere
     Hundert mal unfreiwillig vorgespielt bekam.

    Uwe Lehmann, Olivier Booklage, Jo Vandeweghe, Marion Messerich,
     Laisani Petersen, Sascha Malatsion, Gideon Jacques, Leona Baba,
     Tiziana Marotta, Christian Marcelo, Atilim und Devrim Erkmen,
     Basar Alabay, Horst Boenisch und Markus Mller fr bersetzungen.

    Das Team von ASH, vor allem Oliver Buchmann und Volker Ritzhaupt,
     fr die Untersttzung.

    Ulrich Kaiser fr beharrliches Drngen.

    Holger Herzog fr den sinnlosen Vorschlag mit der Environ-
     mentvariable, den ich so toll fand :-)

    Stephan Wilhelm, der auf dem CETiK '99 viel Geduld bewies, wenn
     ich mal wieder rumwuselte und nachher vor meinem Programmcode
     stand wie der Ochs vor'm Berg :-)

GEMJing entstand mit PureC, PureAssembler und Interface auf einem
Apple PowerMacintosh 8600/300, Apple Performa 475, Apple PowerBook
190cs, Apple Macintosh SE/30 (alle mit MagiCMac) und einem Atari
Falcon (TOS 4.04, N.AES). Fr die Dokumentation wurde qed und UDO
verwendet.



7  Historie
***********

Version 1.35, 07.03.99

    Bei sehr alten SingleTOS-Versionen konnte GEMJing beim Aufruf der
     Dateiauswahl einen Absturz produzieren (ungltiger Pfad). Sollte
     behoben sein.

    GEMJing untersttzt jetzt die StarTrack-Karte mit und ohne
     Clockmodul.

Version 1.30, 07.06.98

    Untersttzung von MagiC-PC 6.0 mit beliebigen Frequenzen.

    Bser Bug bei SMP entfernt, Dank an Thorsten Otto.

    Neuer Kommandozeilenparameter "-p" (siehe "Kommandozeilenstart"):
     GEMJing zeigt nach dem Start keine Menzeile an, bleibt aber als
     AES-Programm im Speicher. Nur fr Fernsteuerung sinnvoll.

    Kleinere Bugfixes und Optimierungen, Debug-Code der 1.25-
     Zwischenversion raus.

    Doku etwas berarbeitet.

    Kein AV_SENDKEY bei Gemini als AV-Server wg. eines Bugs in
     Gemini.

Version 1.25, 04.04.98

    Messeversion Neuss

    WAV-Einleseroutine fehlertoleranter

    Bugs bei AVR entfernt (Stereo-16-Bit)

    Ferngesteuertes Abspielen geht nun auch aus einem Speicherbereich
     heraus, siehe Programmierdoku (siehe "Fr Programmierer").

    GEMJing spielt auch auf dem Hades040, trotz der z.T. grob fehler-
     haften Cookies. Dank an Holger Herzog @ ZW fr die
     Testmglichkeit auf dem CETiK '98.

Version 1.06, 15.10.97

    Fremdsprachliche Versionen: Philippinisch von Christian Marcelo,
     italienisch von Tiziana Marotta.

    Kleinere Bugfixes und Korrekturen in der Hinsicht auf alternative
     Systemfonts.

    Bessere Unterbrechbarkeit (CTRL-Shift) auch whrend eines Delays.

Version 1.05, 04.10.97

    Fremdsprachliche Versionen: Englisch von Uwe Lehmann, Franzsisch
     von Jo Vandeweghe, Latein von Marion Messerich, Bishlamaro von
     Gideon Jacques, Fidschi von Laisani Petersen, Esperanto von
     Sascha Malatsion, Spanisch von Ursula Hoffart, Trkisch von
     Atilim and Devrim Erkmen, Japanisch von Leona Baba.
     Koordination: Markus Mller.

    Fremdsprachliche Dokumentationen: Franzsisch von Olivier
     Booklage, Englisch von Uwe Lehmann.

    Atari-Messe-Neuss-Edition.

Version 1.04, 04.09.97

    Es wird nun nicht nur unter MagiC performanceneutral zwischen den
     Samples gewartet, sondern auch unter N.AES und anderen Betriebs-
     systemen, die Fselect() untersttzen.

    Drei neue Sampleformate: HSN, AVR und SMP. Trotzdem bentigt
     GEMJing mal wieder weniger Platz, das Programm ist jetzt 17 KB
     gro. Lange halte ich den Trend aber nicht mehr durch :-)

    WDIALOG wird nicht mehr bentigt. Der fehlende Fensterdialog ist
     hoffentlich zu verschmerzen.

    AV_SENDKEY eingebaut. Tastendrcke, die GEMJing nicht selbst
     auswertet, werden nun an den AV-Server weitergeleitet.

    GEMScript Rel. 0.8 wird untersttzt: OPEN und QUIT.

    Eine franzsische Version ist verfgbar, Dank an Olivier Booklage
     und Jo Vandeweghe.

    GEMScript-Kommando "QUIT" wird zustzlich zu "OPEN" untersttzt.

    Bug bei Kommandozeilenbergabe bei SingleTOS raus (Dank an Peter
     Melzer).

    SCCS-Kennung eingebaut

    GS_INFO-Extension korrigiert

Version 1.03, 15.07.1997

    Eine englische Version ist verfgbar, Dank an Uwe Lehmann.

    sleep als evnt_timer-Ersatz fr TTP-Start: damit funktioniert der
     Parameter "-d" nun auch bei Start als non-GEM-Programm.

    OLGA-Server-Funktionalitt eingebaut

    GEMScript implementiert, Kommando "OPEN" wird verstanden

    GS_COMMAND korrigiert, Dank an Alexander Barton

    AP_TERM-Untersttzung wird angemeldet

    bser Bug bei OLGA-Initialisierung raus - Dank an Olivier
     Booklage

    OLE_EXIT wird versandt

    einige Verschlankungen: geringerer Speicherverbrauch

Version 1.00, 24.03.1997

    Erste von mir verffentlichte Version.



