home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / APP / TRAIL_PG / GEMJING / GEMJ136.LZH / Develop / Doc / GEMJing.u < prev    next >
Text File  |  2000-06-01  |  37KB  |  890 lines

  1. !language [german]
  2. !use_auto_toptocs [stg,html]
  3. !use_auto_subtocs [stg,win,pch,html]
  4. !use_auto_subsubtocs [stg,win,pch]
  5. !no_effects [asc]
  6. !no_numbers [html]
  7. !docinfo [programimage] box
  8. #!html_modern_layout
  9. #!use_alias_inside_index[stg,html]
  10. #!use_label_inside_index[stg,html]
  11. #!use_nodes_inside_index[stg,html]
  12.  
  13. !raw [stg] @options "+z -t4"
  14.  
  15. !docinfo [title] GEMJing-Dokumentation
  16. !docinfo [version] V.1.36
  17. !docinfo [date] 2000-06-01
  18. !docinfo [author] Götz Hoffart
  19. !docinfo [htmltitle] GEMJing-Dokumentation
  20. !raw [stg] @subject "Dokumentation/Sonstiges"
  21.  
  22. # Die Silbenregeln
  23. !include c:\daten\guides\hyphens.ui
  24. ##################################################################
  25. !begin_document
  26. !maketitle
  27. !tableofcontents
  28.  
  29. ###############################################################
  30. !node Rechtliches
  31.  
  32. GEMJing Public License
  33.  
  34. (c) 2000 by Götz Hoffart.
  35.  
  36. GEMJing untersteht der CAT Public License in der Version 1.0
  37. vom 24. Oktober 1997 von Dirk Steins, die als CATPL.TXT dem
  38. Archiv beiliegt.
  39.  
  40. Ausnahmen betreffen die Beilage zu den Programmen "Texel"
  41. von Thomas Much, "ArtWorx" von Christian Witt, "CAB" von Alexander
  42. Clauss, "Rational Sounds" von Heiko Achilles und Nils Schneider und
  43. "Draconis" von Jens Heitmann.
  44.  
  45. Die Beilage von GEMJing zu den genannten Programmen ist hiermit
  46. ausdrücklich von mir erlaubt. Ein kommerzielles Alleinnutzungsrecht
  47. von GEMJing, auch für die ausgenommenen Programme und Autoren,
  48. ergibt sich damit jedoch nicht, GEMJing hat nur den Status
  49. als "schmückendes Beiwerk". GEMJing darf also in keiner, auch keiner
  50. weiterentwickelten Version, separat verkauft werden.
  51.  
  52. Götz Hoffart, 1. Juni 2000 (!nl) (!nl)
  53.  
  54. E-Mail:  Götz Hoffart @ FR (MausNet) (!nl)
  55.          goetz@hoffart.de  (Internet) (!nl)
  56. Web:     http://www.hoffart.de/ (!nl)
  57. Adresse: Einsteinstr. 3, 76287 Rheinstetten (!nl)
  58.  
  59. Von Telefonanrufen bei obiger Adresse bitte ich dringend abzusehen.
  60.  
  61. !hline
  62. !begin_verbatim
  63.                           CAT Public License
  64.  
  65.                     Version 1.0, 24. Oktober 1997
  66.  
  67. Copyright (c) 1997, Dirk Steins (!nl)
  68. Jegliche Veränderung dieser Lizenz ist nicht erlaubt.
  69.  
  70. Dieses Dokument beschreibt die Lizenzvereinbarungen betreffend aller
  71. Programme, die aus dem CAT Projekt entstanden sind oder noch entstehen
  72. werden. Diese Lizenz ist verbindlich für alle Programme und Sourcen,
  73. die aus diesem Projekt heraus entstanden sind und entstehen werden.
  74.  
  75. Das CAT Projekt ist entstanden aus dem MausTausch-Programm CAT für
  76. TOS- kompatible Rechner. Ziel des Projektes ist es, die
  77. Weiterentwicklung von CAT trotz der Aufgabe durch die ursprünglichen
  78. Autoren nicht einschlafen zu lassen, sondern kontinuierlich
  79. weiterzuentwickeln und zu verbessern. Das CAT Projekt umfa₧t die
  80. Programme CAT, CATPUTZ, REPAIR und FRED sowie etwaige
  81. Installationsprogramme und jedes weitere Programm, das unter
  82. Verwendung der Sourcen der obigen Programme entsteht.
  83.  
  84. Diese Lizenz dient dazu, die Weitergabe, das Kopieren und Modifizieren
  85. von Teilen oder des gesamten Projekts zu regeln. Diese Lizenz ähnelt
  86. in einigen Teilen der GNU Public License, ist aber nicht so umfassend
  87. und umfangreich wie diese.
  88.  
  89.   1. Umfang: Das CAT Projekt besteht aus den Programmen CAT, CATPUTZ,
  90.      FRED, REPAIR, INSTALL und allen weiteren Programmen, die im Laufe
  91.      dieses Projektes und unter Verwendung der Sourcen dieses
  92.      Projektes unter dieser Lizenz entwickelt werden. Dazu zählt jedes
  93.      Programm, bei dem der Inhaber des Copyrights erklärt, da₧ es
  94.      unter dieser Lizenz vertrieben wird. Weiterhin gehören dazu die
  95.      Sourcen der Anleitungen zu den verschiedenen Programmen im UDO-
  96.      Format.
  97.  
  98.   2. Teil des CAT Projektes ist die Library MagiC von Peter Hellinger
  99.      in der modifizierten Version 3.3. Diese Library darf in dieser
  100.      mitgelieferten Form nur für Programme innerhalb des CAT Projektes
  101.      benutzt werden. Für alle anderen Programme ist eine Benutzung der
  102.      MagiC-Library in dieser Version nicht gestattet. Es gibt für
  103.      andere Projekte neuere Versionen dieser Library, die unter dem
  104.      Namen TrueMagic erhältlich ist. Diese ist bei Peter Hellinger @ N
  105.      (peter_hellinger@n.maus.de) erhältlich, dort erhält man auch die
  106.      genauen Konditionen für die Benutzung dieser Library.
  107.  
  108.   3. Das CAT Projekt darf mit allen Sourcen auf beliebigen Medien
  109.      kopiert und weitergegeben werden, unter der Voraussetzung, da₧ an
  110.      geeigneter Stelle Hinweise auf das Copyright und die
  111.      Garantiebestimmungen stets mitgeliefert werden. Alle Hinweise auf
  112.      diese Lizenz und auf die Abwesenheit jeglicher Garantie müssen
  113.      beibehalten werden und dürfen nicht verändert werden. Diese
  114.      Lizenz mu₧ bei jedem Teil des Projektes mitgeliefert werden.
  115.  
  116.   4. Alle Teile des CAT Projektes sind Freeware, es ist nicht erlaubt,
  117.      aus Teilen oder dem Gesamten des CAT Projektes kommerzielle
  118.      Software zu entwickeln oder dieses in Teilen oder als Ganzes mit
  119.      Gewinnerzielungsabsichten zu vertreiben. Explizit ausgeschlossen
  120.      von dieser Bestimmung sind Gebühren für die physikalische
  121.      Verteilung jeder Kopie wie zum Beispiel CD-Kosten oder
  122.      Diskettenkosten.
  123.  
  124.   5. Es ist erlaubt, die Programme oder Teile davon zu verändern, also
  125.      ein Werk basierend auf dem Projekt zu erstellen, und diese
  126.      Veränderungen oder dieses Werk unter den Bestimmungen von
  127.      Abschnitt 4 zu vertreiben und zu kopieren, sofern die folgenden
  128.      Bestimmungen eingehalten werden:
  129.  
  130.       (a) Jede Veränderung in den Dateien mu₧ explizit in diesen
  131.           gekennzeichnet werden und das Datum dieser Änderungen mu₧ in
  132.           den Dateien festgehalten werden. Bei Dateien, bei denen
  133.           dieses aus technischen Gründen nicht möglich ist (Resource-
  134.           Dateien oder ähnliches) sind die Veränderungen in einer
  135.           dazugehörenden Textdatei ausführlich zu dokumentieren.
  136.  
  137.       (b) Alle Sourcen zu dem veränderten Programm müssen zur
  138.           Verfügung gestellt werden, auch solche, die auf den Sourcen
  139.           des CAT-Projektes basieren und neu entwickelt wurden.
  140.  
  141.   6. Es ist erlaubt, nur die ausführbaren Programme oder modifizierte
  142.      Versionen davon zu kopieren und zu vertreiben, sofern
  143.      sichergestellt wird, da₧ die Sourcen dieser Programme in
  144.      vollständiger Form zur Verfügung gestellt werden und für jeden
  145.      verfügbar sind. Gegebenenfalls mu₧ sich der Autor der
  146.      Veränderungen bereiterklären, die veränderten Sourcen gegen eine
  147.      Erstattung der Unkosten zu kopieren und zu verteilen. Ausreichend
  148.      für die Erfüllung dieser Bedingung ist es, die vollständigen
  149.      Sourcen in einem öffentlichen Mailboxsystem oder auf ftp-Servern
  150.      zur Verfügung zu stellen.
  151.  
  152.   7. Der Copyright-Inhaber dieser Lizenz darf erweiterte und
  153.      veränderte Versionen dieser Lizenz veröffentlichen. Diese
  154.      veränderten Versionen dieser Lizenz werden dem Sinne dieser
  155.      Lizenz entsprechen, können sich aber in Details unterscheiden, um
  156.      neue Probleme und Bedenken anzusprechen und zu umfassen. Der
  157.      Copyright-Inhaber dieser Lizenz ist dazu berechtigt, diese Lizenz
  158.      an Dritte weiterzugeben, sofern diese im Sinne dieser Lizenz
  159.      weiterarbeiten wollen.
  160.  
  161.      AUSSCHLUSS DER GEWÄHRLEISTUNG
  162.  
  163.   8. Da das gesamte CAT-Projekt frei von Gebühren vertrieben wird,
  164.      gibt es keine Gewährleistung für dieses Projekt und Teile davon,
  165.      soweit dies gesetzlich zulässig ist. Dieses Projekt wird so zur
  166.      Verfügung gestellt, wie es ist, ohne Gewährleistung jedweder Art,
  167.      weder direkte noch indirekte, einschlie₧end, aber nicht
  168.      beschränkt auf, die Funktionsfähigkeit zu irgendeinem Zwecke. Das
  169.      gesamte Risiko für die Benutzung oder Nichtbenutzung der in
  170.      diesem Projekt enthaltenen Informationen und/oder der Programme
  171.      und/oder Teilen davon liegt bei dem Nutzer! Unter keinen
  172.      Umständen wird irgend jemand, egal ob lebeNd, tot oder scheintot
  173.      und/oder irgendeine Gruppe, die der menschlichen Rasse oder sonst
  174.      einer (mehr oder weniger) intelligenten Spezies (einschlie₧lich,
  175.      aber nicht beschränkt auf jenen bisweilen SOL III genannten
  176.      Planeten) entstammt oder vorgibt zu entstammen, und der dieses
  177.      Projekte und/oder Teile davon oder ein anderes, damit in
  178.      Verbindung stehendes Projekt und/oder Programm oder Teile davon
  179.      modifiziert und/oder weiterverbreitet, egal ob legal oder
  180.      illegal, in irgendeiner Art verantwortlich sein für irgendwelche
  181.      Schäden, einschlie₧lich aber nicht beschränkt auf
  182.      entgangener/geschmälerter/verlorerer Profite, Gelder, Geltung,
  183.      Gesundheit, Freunde/Freundinnen etc., die implizit oder explizit
  184.      aus der Verwendung oder Nichtverwendung dieses Projektes und/oder
  185.      Programme und/oder Teilen davon, resultieren.
  186. !end_verbatim
  187. !hline
  188.  
  189.  
  190. !index Copyright
  191. Copyright (c) by Götz Hoffart. Alle Rechte am Programm und der Dokumentation
  192. sowie den zugehörigen Dateien vorbehalten.
  193.  
  194. !index Kontaktadresse
  195. !index E-Mail-Adresse
  196. Autor: Götz Hoffart, Rheinstetten. (!nl)
  197. MausNet: Götz Hoffart @ FR (!nl)
  198. Internet: goetz@hoffart.de (!nl)
  199. !ifdest [html]
  200. !raw [html] WWW: <a href="http://www.hoffart.de/">http://www.hoffart.de/</a><br>
  201. !else
  202. WWW: http://www.hoffart.de/
  203. !endif
  204.  
  205. ###############################################################
  206. !node Was tut es?
  207.  
  208. GEMJing spielt Samples ab, bevorzugt per Fernsteuerung. Wie diese
  209. vorgenommen werden kann, wird im
  210. (!link [Programmierabschnitt] [Für Programmierer]) erklärt.
  211.  
  212. Akzeptiert werden derzeit WAV-Samples (bekannt aus der Windows-Welt), HSN-Samples
  213. (CrazySounds, Atari), AVR-Samples (Michtron), SMP-Samples (Galactic Sound-
  214. Sampler, Atari) sowie deren Abart ""STE-SMP"", ungepackte DVS-Samples
  215. (von der Harddisc-Recording-Software ""WinRec"") sowie Sun/NeXT-Samples
  216. im "".au"" bzw. "".snd""-Format (mit einigen (!link [Einschränkungen] [Sun/NeXT])).
  217.  
  218. Die Einsatzmöglichkeiten von GEMJing reichen vom simplen Dateiviewer bis
  219. zum Plug-In.
  220.  
  221. GEMJing läuft mit folgenden Hardwarekonfigurationen:
  222.  
  223. !begin_itemize
  224. !item ST, MegaST (PSG)
  225. !item STE, MegaSTE, TT (DMA)
  226. !item Falcon
  227. !item MagiCMac (mit WeirdMac oder MSND)
  228. !item MagiC-PC 6.0
  229. !item Hades040 und Hades060 (PSG)
  230. !item Hades mit der Startrack-Soundkarte, mit und ohne Clockmodul
  231. !item Milan mit Milanblaster
  232. !end_itemize
  233.  
  234. Dabei wird versucht, die jeweils maximale Qualität, die das
  235. Soundsystem der Hardware bietet, auszunutzen. Auf ST-kompatiblen
  236. Systemen ist dies der Soundchip (in obiger Auflistung: PSG), STE-
  237. kompatible Systeme werden mittels 8 Bit DMA Sound betrieben (DMA) und auf
  238. dem Falcon wird der 16 Bit XBIOS-Sound verwendet (XBIOS). Bei Apple
  239. Macintosh mit MagiCMac und installiertem MSND oder WeirdMac hängt die
  240. Qualität von der zugrundeliegenden Soundhardware des Macs ab, kleinere und
  241. ältere Macs bieten nur 8 Bit Sound, neuere dagegen 16 Bit (XBIOS).
  242. MagiC-PC 6.0 bietet ebenfalls freie Frequenzwahl an (XBIOS).
  243.  
  244. !index Stoppen des Samples durch Tastendruck
  245. Das Abspielen kann durch Drücken von Control und Links-Shift
  246. unterbrochen werden.
  247.  
  248. Fehlermeldungen gibt GEMJing nur aus, wenn der Benutzer den Menüeintrag
  249. gewählt hat, um sich das Sample anzuhören. Bei Aufforderung zur Wiedergabe
  250. per Kommandozeile oder VA_START bleibt GEMJing (für den Benutzer)
  251. stumm in Sachen Fehlerrückmeldung.
  252. ###############################################################
  253. !node Einsatzmöglichkeiten
  254.  
  255. !index Einsatz im Desktop
  256. Man kann GEMJing im Desktop für WAV, AVR, SMP, HSN, DVS, AU und SND-Dateien
  257. anmelden und dann bequem Sample-Dateien doppelklicken, um sie anzuhören,
  258. ohne riesige Programmonster und Super-Viewer nachladen zu müssen.
  259.  
  260. !index Einsatz mit Jinnee
  261. Bei Verwendung des Desktops Jinnee kann man GEMJing für die gewünschten Extensionen
  262. als Applikation anmelden und in der Eingabezeile für die Kommandozeile ""-q %$p""
  263. eingeben. Das bewirkt, da₧ GEMJing sich nach dem Spielen sofort wieder aus dem
  264. Speicher verabschiedet.
  265.  
  266. !index Einsatz als Startsample beim Booten
  267. Oder man schreibt sich ein Mupfel-Script, das GEMJing beim Booten startet
  268. und ein Sample spielen lä₧t. Einfach mit der Kommandozeile
  269. ""-q sample.wav"" aufrufen und schon tönt es bei jedem Rechnerstart. Oder
  270. bei jedem Shutdown. Oder zu jeder vollen Stunde ...
  271.  
  272. !index Einsatz als Soundtreiber
  273. TOS bietet leider keinerlei Möglichkeiten, Samples über einen
  274. Betriebssystemaufruf abzuspielen. Daher mu₧ jeder Programmautor, dessen
  275. Programm sich lautstark ausdrücken soll, diese Routinen selbst in sein
  276. Programm integrieren. Mit GEMJing ist das nicht mehr notwendig, es besitzt
  277. mehrere Schnittstellen nach au₧en. Der
  278. Abschnitt (!link [Für Programmierer] [Für Programmierer]) hilft hier
  279. weiter.
  280.  
  281. GEMJing gehört (!I)nicht(!i) in den AUTO-Ordner.
  282.  
  283. !index Einsatz über OLGA
  284. Programme können GEMJing auch über OLGA
  285. (!link [OLGA][OLGA-Start]) nachstarten
  286. lassen, was sehr bequem ist. Dazu bitte die OLGA.INF
  287. (!link [anpassen][Anpassung der OLGA.INF]).
  288.  
  289. !index Environmentvariable GEMJINGPATH
  290. Wer will, da₧ andere Programme GEMJing finden, der sollte die
  291. Environmentvariable GEMJINGPATH setzen: Machen Sie sich von der Datei
  292. MAGX.INF eine Sicherheitskopie. Öffnen Sie nun Ihre originale MAGX.INF mit
  293. einem Texteditor wie etwa qed, 7Up, Tempus etc. Eine Zeile lautet
  294. (!V)"#_ACC C:\"(!v) oder ähnlich. Fügen Sie nun (!I)danach(!i)
  295. eine Zeile ein, in die Sie schreiben:
  296.  
  297. !begin_verbatim
  298. #_ENV GEMJINGPATH=C:\Tools\GEMJing\GEMJing.prg
  299. !end_verbatim
  300.  
  301. Den Pfad müssen Sie natürlich noch an Ihre Gegenheiten anpassen. Gemini-
  302. Benutzer können die Environmentvariable in der Mupfel-Profile setzen,
  303. N.AES-User in der MINT.CNF. Es ist (!B)nicht(!b) notwendig, da₧ die
  304. Variable gesetzt wird, aber es spart letztlich Arbeit, da die Programme
  305. GEMJing von alleine finden.
  306.  
  307. #####################################################################
  308. !node Für Programmierer
  309. !index Programmer's Guide
  310.  
  311. GEMJing ist in erster Linie dazu gedacht, ferngesteuert zu werden. Der
  312. statische RAM Verbrauch beträgt ungefähr 30kB, alles andere wird dynamisch
  313. angefordert.
  314.  
  315. Wer GEMJing von seinem Programm aus aufrufen will, hat drei Möglichkeiten:
  316.  
  317. !begin_itemize
  318. !item Start und
  319. (!link [Übergabe einer VA_START-Nachricht] [VA_START-Übergabe])
  320. !item Start mit
  321. (!link [Übergabe einer Kommandozeile] [Kommandozeilenstart])
  322. !item Über (!link [OLGA] [OLGA-Start])
  323. !item Über GEMScript (das OPEN- und QUIT-Kommando wird unterstützt)
  324. !end_itemize
  325.  
  326. Beim Start sollte beachtet werden, da₧ die Environmentvariable GEMJINGPATH
  327. anzeigt, wo sich GEMJing befindet. Unter MagiC sähe das in der MAGX.INF
  328. dann etwa so aus: (!nl)
  329.  
  330. !begin_verbatim
  331. #_ENV GEMJINGPATH=D:\Tools\GEMJing\GEMJing.prg
  332. !end_verbatim
  333.  
  334. !hline
  335. #####################################################################
  336. !subnode VA_START-Übergabe
  337.  
  338. GEMJing wird normal gestartet. Andere Applikationen können es nun
  339. über die AES ausfindig machen und eine VA_START-Nachricht
  340. verschicken. Als Antwort bekommen sie AV_STARTED und GEMJING_RETURN.
  341.  
  342. Die VA_START-Nachricht ist für GEMJing durch eine Übergabe von
  343. Parametern erweiterbar. Es wird in msg[3] und msg[4] ein Pointer auf einen
  344. String übergeben, der die Kommandozeile enthält. Dieser String mu₧ global
  345. lesbar sein.
  346.  
  347. !begin_xlist [ blaa ]
  348. !item [-q] Quit. Das Sample wird abgespielt und unmittelbar im
  349. Anschlu₧ an das Ende des Samples beendet sich das Programm selbständig.
  350.  
  351. !index Repeat (VA_START)
  352. !index Wiederholungen (VA_START)
  353. !item [-rx] Repeat. Das Sample wird x-mal gespielt. ""-r1"" bedeutet,
  354. da₧ das Sample einmal gespielt wird, ""-r0"" bedeutet endlose
  355. Wiederholung. Wird kein ""-r""-Parameter übergeben, so entspricht
  356. dies ""-r1"". Wertebereich für x: [0; 32000]
  357.  
  358. !index Delay (VA_START)
  359. !index Abstand (VA_START)
  360. !item [-dx] Delay. Zwischen den Wiederholungen kann eine Pause von x
  361. Sekunden liegen, wobei x ganzzahlig und positiv sein mu₧. ""-d0""
  362. bedeutet, da₧ die zwei Wiederholungen direkt aneinander
  363. folgen (so dicht es GEMJing erlaubt). Wertebereich für x: [0; 32000]
  364.  
  365. !index Memory playing (VA_START)
  366. !index Spielen direkt aus dem Speicher (VA_START)
  367. !item [-mx] Spielen aus dem Speicher (-m für Memory). x steht für einen Ausdruck
  368. der Form ""a,b"", wobei ""a"" die Adresse als Dezimalzahl angibt, ab der
  369. das Sample in einem der unterstützten Formate komplett liegt. ""b"" ist die Länge
  370. des Samples im Speicher, ebenfalls als Dezimalzahl. (!nl)
  371. Der Speicher mu₧ natürlich global alloziert sein, d.h. Mxalloc(menge, 0 | MGLOBAL),
  372. damit GEMJing auch in Systemen mit Speicherschutz darauf zugreifen darf. (!nl)
  373. Ein korrekter Ausdruck wäre also ""-m445340,49768"", natürlich ohne die """". Das
  374. Sample liegt hier ab Adresse 445340 mit einer Länge von 49768 Bytes.
  375. !end_xlist
  376.  
  377. Mit dem ""-m""-Parameter müssen Programme das Sample nicht dauernd von GEMJing laden
  378. lassen, sondern können selbst ein halbes Dutzend Samples in den Speicher laden, um
  379. GEMJing dann nur noch die Adresse mitzuteilen.
  380.  
  381. !index MiNT-Signal (VA_START)
  382. !index Stoppen des Samples per Fernsteuerung (VA_START)
  383. Wenn ein Sample plötzlich gestoppt werden mu₧, so ist GEMJing das
  384. MiNT-Signal ""SIGUSR1"" zu schicken.
  385.  
  386. Nach einem (!link [VA_START] [VA_START-Nachricht]) bedankt sich
  387. GEMJing mit AV_STARTED und mit der GEMJing-Returnmessage, mittels derer
  388. auf evtl. aufgetretene Fehler reagiert werden kann. GEMJing selbst gibt
  389. keine Fehler aus, wenn das Sample fehlerhaft oder das Soundsystem gesperrt
  390. ist oder ähnliches, damit das bedienende Programm auf jeden Fall die
  391. Kontrolle behält und nicht irgendwo noch Alerts von GEMJing rumdümpeln.
  392. Idealerweise soll der Benutzer GEMJing ja gar nicht bemerken.
  393. #####################################################################
  394. !subnode Kommandozeilenstart
  395.  
  396. Bei Start von GEMJing mit Übergabe einer Kommandozeile wertet GEMJing
  397. die übergebenen Parameter aus und spielt ggf. das Sample. Wird
  398. GEMJing beendet, so wird der Fehlercode zurückgegeben, der beim
  399. zuletzt gespielten Sample auftrat.
  400.  
  401. !begin_xlist [ blaa ]
  402. !item [-q] Quit. Das Sample wird abgespielt, ohne da₧ eine Menüzeile
  403. dargestellt wird. Unmittelbar im Anschlu₧ an das Ende des Samples
  404. beendet sich das Programm selbständig.
  405.  
  406. !index Repeat (Kommandozeile)
  407. !index Wiederholungen (Kommandozeile)
  408. !item [-rx] Repeat. Das Sample wird x-mal gespielt. ""-r1"" bedeutet,
  409. da₧ das Sample einmal gespielt wird, ""-r0"" bedeutet endlose
  410. Wiederholung. Wird kein ""-r""-Parameter übergeben, so entspricht
  411. dies ""-r1"". Wertebereich für x: [0; 32000]
  412.  
  413. !index Delay (Kommandozeile)
  414. !index Abstand (Kommandozeile)
  415. !item [-dx] Delay. Zwischen den Wiederholungen kann eine Pause von x
  416. Sekunden liegen, wobei x ganzzahlig und positiv sein mu₧. ""-d0""
  417. bedeutet, da₧ die zwei Wiederholungen direkt aneinander
  418. folgen (so dicht es GEMJing erlaubt). Ist kein ""-d"" angegeben,
  419. so wird ""-d0"" verwendet. Wertebereich für x: [0; 32000]
  420.  
  421. !index Start ohne Menüzeile (Kommandozeile)
  422. !label Start ohne Menüzeile (Kommandozeile)
  423. !item [-p] Plain. GEMJing startet und bleibt im Speicher, zeigt jedoch
  424. keine Menüzeile an. (!B)Achtung:(!b) Nur als Kommandozeilenparameter
  425. erlaubt!
  426.  
  427. !index Memory playing (Kommandozeile)
  428. !index Spielen direkt aus dem Speicher (Kommandozeile)
  429. !item [-mx] Spielen aus dem Speicher (-m für Memory). x steht für einen Ausdruck
  430. der Form ""a,b"", wobei ""a"" die Adresse als Dezimalzahl angibt, ab der
  431. das Sample in einem der unterstützten Formate komplett liegt. ""b"" ist die Länge
  432. des Samples im Speicher, ebenfalls als Dezimalzahl. (!nl)
  433. Der Speicher mu₧ natürlich global alloziert sein, d.h. Mxalloc(menge, 0 | MGLOBAL),
  434. damit GEMJing auch in Systemen mit Speicherschutz darauf zugreifen darf. (!nl)
  435. Ein korrekter Ausdruck wäre also ""-m445340,49768"", natürlich ohne die """". Das
  436. Sample liegt hier ab Adresse 445340 mit einer Länge von 49768 Bytes.
  437. !end_xlist
  438.  
  439. Mit dem ""-m""-Parameter müssen Programme das Sample nicht dauernd von GEMJing laden
  440. lassen, sondern können selbst ein halbes Dutzend Samples in den Speicher laden, um
  441. GEMJing dann nur noch die Adresse mitzuteilen. Achtung! Der Speicher für
  442. das Sample darf erst freigegeben werden, wenn GEMJing beendet wurde und
  443. damit eine Rückmeldung vorliegt, da₧ es nicht mehr spielt. AES-Messages
  444. kann man als TOS-Programm ja nicht verschicken.
  445.  
  446. !index MiNT-Signal (Kommandozeile)
  447. !index Stoppen des Samples per Fernsteuerung (Kommandozeile)
  448. Wenn ein Sample plötzlich gestoppt werden mu₧, so ist GEMJing das
  449. MiNT-Signal ""SIGUSR1"" zu schicken.
  450.  
  451. #############################################################################
  452. !subnode OLGA-Start
  453.  
  454. GEMJing ist ein OLGA-Server für .WAV, .DVS, .HSN, .AVR, .SMP und .AU bzw.
  455. .SND-Samples. Die Datei OLGA.INF ist also
  456. (!link [anzupassen][Anpassung der OLGA.INF]).
  457.  
  458. Danach kann man z.B. in Stella einfach eine WAV-Datei öffnen und
  459. GEMJing wird automatisch über OLGA nachgestartet: man hört das
  460. Sample.
  461. #############################################################################
  462. !subsubnode Anpassung der OLGA.INF
  463.  
  464. Unter ""[Extensions]"" sind die folgenden sieben Einträge
  465. hinzuzufügen:
  466.  
  467. !begin_verbatim
  468. .WAV=C:\Programme\GEMJing\GEMJing.PRG
  469. .DVS=C:\Programme\GEMJing\GEMJing.PRG
  470. .SMP=C:\Programme\GEMJing\GEMJing.PRG
  471. .AVR=C:\Programme\GEMJing\GEMJing.PRG
  472. .HSN=C:\Programme\GEMJing\GEMJing.PRG
  473. .AU=C:\Programme\GEMJing\GEMJing.PRG
  474. .SND=C:\Programme\GEMJing\GEMJing.PRG
  475. !end_verbatim
  476.  
  477. Den Abschnitt ""[Types]"" kann man wie folgt ergänzen:
  478.  
  479. !begin_verbatim
  480. MU=C:\Programme\GEMJing\GEMJing.PRG
  481. !end_verbatim
  482.  
  483. Man sollte jedoch darauf achten, da₧ keine Einträge doppelt
  484. vergeben werden! Ab OLGA 1.3 liegen dem OLGA-Archiv die OLGA-Tools bei,
  485. die eine bestehende OLGA.INF überprüfen.
  486. #############################################################################
  487. !subnode VA_START-Nachricht
  488. !index Beispielcode in C
  489.  
  490. Hier eine Beispiel-VA_START-Nachricht, wie sie an GEMJing verschickt
  491. werden kann. Daraufhin erhält man AV_STARTED sowie
  492. (!link [GEMJING_RETURN] [GEMJing-Returnmessage]).
  493.  
  494. !hline
  495.  
  496. !begin_verbatim
  497. #define MGLOBAL         0x20
  498.  
  499. #define VA_START        0x4711
  500. #define AV_STARTED      0x4738
  501.  
  502. #define GEMJING_RETURN  0x7407
  503.  
  504. #define MagX_COOKIE     0x4D616758L
  505. #define MiNT_COOKIE     0x4D694E54L
  506.  
  507. BYTE *playbuf;
  508. BOOLEAN MagiC, MultiTOS, MiNT;
  509.  
  510. if ((get_cookie(MiNT_COOKIE, &ldum) == TRUE)
  511. {
  512.   MiNT = TRUE;
  513.   if (_GemParBlk.global[1] > 1 || _GemParBlk.global[1] == -1))
  514.     MultiTOS = TRUE;
  515. }
  516. if (get_cookie(MagX_COOKIE, &ldum) == TRUE)
  517.   MagiC = TRUE;
  518.  
  519. [...]
  520.  
  521. /* Globalen Speicher für den String anfordern. Ist weder MiNT noch
  522.  * MagiC aktiv, so werden keine Speicherschutzflags gesetzt (TOS
  523.  * hat damit Probleme).
  524.  */
  525. if (MagiC == TRUE || MiNT == TRUE)
  526.    playbuf = (BYTE *) Mxalloc (150, 0 | MGLOBAL);
  527. else
  528.    playbuf = (BYTE *) Malloc (150);
  529.  
  530. /* Diesen Playbuffer kann man jetzt z.B. mit
  531.  * "-q -r3 E:\Sound\BeBack.wav"
  532.  * belegen - ohne die Anführungszeichen natürlich.
  533.  */
  534.  
  535. /* und jetzt aufrufen */
  536. play_sample (playbuf);
  537.  
  538. [...]
  539.  
  540. Mfree (playbuf);
  541.  
  542. VOID play_sample(CONST BYTE *args)
  543. {
  544.   WORD msg[8], gemjing_id;
  545.   LONG ldum, start;
  546.  
  547.   if (!args) /* ohne Argumente -> fertig */
  548.     return ;
  549.  
  550.   /* AES-ID von GEMJing ermitteln */
  551.   gemjing_id = appl_find("GEMJING ");
  552.  
  553.  
  554.   if (gemjing_id < 0)     /* Läuft GEMJing bereits? */
  555.   {
  556.     /* Environmentvariable "GEMJINGPATH" auslesen */
  557.     PfadvonGEMJing = getenv("GEMJINGPATH");
  558.     if (PfadvonGEMJing && strlen(PfadvonGEMJing) > 0)
  559.     {
  560.       if (MultiTOS == TRUE)
  561.         shel_write(0, 1, 1, PfadvonGEMJing, NULL);
  562.       else if (MagiC == TRUE)
  563.         shel_write(1, 1, 100, PfadvonGEMJing, NULL);
  564.  
  565.       /* Ja, man könnte die Parameterübergabe auch schon beim
  566.          Start per shel_write() erledigen. Dann hat man jedoch
  567.          keine Möglichkeit der Fehlercoderückgabe. */
  568.       }
  569.    }
  570.  
  571.   /* Kurz warten, damit die AES-ID da ist. Nicht optimal gelöst. */
  572.   /* Innerhalb von zwei Sekunden immer mal wieder die AES-ID suchen */
  573.   start = clock();
  574.   while (clock() - start < 2 * CLK_TCK)
  575.     if (appl_find("GEMJING ") >= 0)
  576.       break;
  577.  
  578.    if ((gemjing_id = appl_find("GEMJING ")) >= 0)
  579.    {
  580.      msg[0] = VA_START;
  581.  
  582.      /* die eigene Applikations-ID, die von appl_init()
  583.       * geliefert wird
  584.       */
  585.      msg[1] = app_id;
  586.  
  587.      msg[2] = 0;
  588.  
  589.      /* den Pointer auf zwei Words zerlegen */
  590.      msg[3] = (WORD)(((LONG)args >> 16) & 0x0000ffff);
  591.      msg[4] = (WORD)((LONG)args & 0x0000ffff);
  592.  
  593.      msg[5] = 0;
  594.      msg[6] = 0;
  595.      msg[7] = 0;
  596.  
  597.      /* Die VA_START-Nachricht verschicken */
  598.      appl_write(gemjing_id, 16, msg);
  599.    }
  600.    return ;
  601. }
  602. !end_verbatim
  603.  
  604. !hline
  605. #####################################################################
  606. !subnode GEMJing-Returnmessage
  607.  
  608. GEMJing liefert nach einem VA_START die Messages AV_STARTED sowie
  609. GEMJING_RETURN (0x7407). In msg[3] von GEMJING_RETURN erhält man einen
  610. positiven Fehlercode, alle anderen Felder sind 0. Jeder dieser Fehler führt
  611. dazu, da₧ GEMJing das Abspielen (!I)nicht(!i) beginnt. Je nach aufrufender
  612. Applikation und Fehlermeldung sollte der Fehler dem Benutzer mitgeteilt
  613. werden.
  614.  
  615. !hline
  616. !begin_verbatim
  617. /* es trat kein Fehler auf, das Sample wurde gespielt           */
  618. #define RT_OKAY                1
  619.  
  620. /* nicht genug Speicher am Stück für den Header oder das Sample */
  621. /* selbst oder für programminterne Zwecke                       */
  622. #define RT_NO_MEM              117
  623.  
  624. /* Datei konnte nicht gefunden werden oder hat die Länge 0 oder */
  625. /* es trat ein Lesefehler auf.                                  */
  626. #define RT_NO_FILE             118
  627.  
  628. /* Das Sample ist gepackt (nur bei DVS-Samples). Gepackte       */
  629. /* Samples werden von GEMJing nicht unterstützt.                */
  630. #define RT_PACKED              119
  631.  
  632. /* Das WAV-Sample enhält keine Sample-Daten                     */
  633. #define RT_WRONG_CHUNK         120
  634.  
  635. /* Die Datei enthält kein bekanntes Sampleformat                */
  636. #define RT_WRONG_FILE          121
  637.  
  638. /* Das Soundsystem ist gesperrt, da ein anderes Programm darauf */
  639. /* zugreift                                                     */ 
  640. #define RT_LOCKED              122
  641.  
  642. /* Interner Fehler - sollte nie auftreten                       */
  643. #define RT_SND_ERR             123
  644.  
  645. /* Die Hardware wird von GEMJing nicht unterstützt              */
  646. #define RT_WRONG_HARDWARE      124
  647.  
  648. /* Die au/snd-Datei enthält nicht unterstützte Formate          */
  649. #define RT_UNSUPPORTED_AU_SND  125
  650. !end_verbatim
  651.  
  652. !hline
  653. #####################################################################
  654. !subnode WeirdMac
  655.  
  656. WeirdMac von Thorsten Pohlmann <Thorsten_Pohlmann@wi2.maus.de> ist eine
  657. sehr empfehlenswerte Alternative zu MSND, da es wirklich kompatibel zum
  658. Falcon-XBIOS ist und eine freie Frequenzwahl erlaubt. GEMJing unterstützt
  659. es ab WeirdMac Version 0.64.
  660.  
  661. WeirdMac ist Fairware.
  662. #####################################################################
  663. !node Tips & Tricks
  664.  
  665. !index Probleme mit der Hardware
  666. (!I)Mein GEMJing will nicht spielen, es bleibt einfach stumm!(!i) (!nl)
  667. Das kann viele Gründe haben. Wenn das Sample per Dateiauswahl bestimmt
  668. wurde,
  669. so werden Fehlermeldungen per Alert dargestellt, ansonsten nicht (um die
  670. Fernsteuerbarkeit zu gewährleisten).
  671.  
  672. !begin_itemize
  673. !item Es liegt keine passende Hardware vor, d.h. der Sound-Cookie (_SND)
  674. zeigt weder eine ST, STE oder Falcon-kompatible Hardware an und es ist
  675. auch kein MacSound installiert.
  676. !item Das Soundsystem ist bereits von einem anderen Programm in Beschlag
  677. genommen und daher gesperrt, so z.B. wenn gleichzeitig Zeig's mir läuft und
  678. dort ein Sample geladen ist.
  679. !item Vor GEMJing lief eine veraltete Version von Zeig's mir, die das
  680. Soundsystem nicht richtig freigab. Ab der Version 0.97 von Zeig's mir und
  681. den
  682. zugehörigen Modulen sollte dieses Problem nicht mehr existieren.
  683. !item Es ist nicht genug Speicher vorhanden, um das Sample zu laden.
  684. !item Das Format des Samples ist unbekannt und wird nicht unterstützt
  685. (das ist leider relativ oft der Fall, viele Programme schreiben sehr
  686. seltsame Header).
  687. !end_itemize
  688.  
  689. !hline
  690.  
  691. !index Probleme mit MagiC-PC Versionen kleiner gleich 1.3
  692. (!I)GEMJing will nicht unter MagiC-PC 1.3 spielen!(!i) (!nl)
  693. Ein Update auf MagiC-PC 6.0 hilft. Ab dieser Version wird die
  694. Soundausgabe via XBIOS unterstützt. (!nl)
  695.  
  696. !hline
  697.  
  698. !index Probleme mit Crazy Sounds
  699. (!I)Habe ich Crazy Sounds installiert, so spielt GEMJing nicht.(!i) (!nl)
  700. Crazy Sounds scheint das Soundsystem regelmä₧ig zu initialisieren, so da₧
  701. GEMJing keine Chance hat. Abhilfe: Rational Sounds von Heiko Achilles (heiko_achilles@du.maus.de)
  702. und Nils Schneider verwenden. (!nl)
  703.  
  704. !hline
  705.  
  706. !index Probleme mit zu schnellem/langsamen Abspielen
  707. (!I)Mein Sample wird zu langsam oder zu schnell gespielt.(!i) (!nl)
  708. Wahrscheinlich ist das Sample mit einer ""krummen"" Frequenz aufgenommen
  709. worden. Die Abspielhardware des STE und Falcon (MSND für MagiCMac verhält
  710. sich wie ein Falcon) lassen leider keine stufenlose Auswahl der Frequenz
  711. zu. Die recht häufig vorkommenden 22kHz Samples werden mit 25kHz
  712. abgespielt, das hört sich besser an, als 19kHz (Falcon, Mac) oder gar
  713. 12kHz (STE, TT). Abhilfe bei Verwendung von MagiCMac: Benutzen Sie statt
  714. MSND besser WeirdMac ab Version 0.64 von Thorsten Pohlmann, das eine freie
  715. Frequenzwahl ermöglicht.  (!nl)
  716.  
  717. !hline
  718.  
  719. !label Sun/NeXT
  720. !index Probleme mit Sun/NeXT-Samples
  721. (!I)Mein Sun/NeXT-Sample wird nicht abgespielt, obwohl GEMJing das doch
  722. können sollte!(!i) (!nl)
  723. Sun/NeXT-Samples gibt es mit zwei Dutzend Untertypen, von denen GEMJing
  724. derzeit nur einige unterstützt. Es wird daran gearbeitet.
  725.  
  726. !hline
  727.  
  728. !index Probleme mit WAV-Samples
  729. (!I)Manche meiner WAV-Samples werden nur verrauscht gespielt, man erkennt
  730. nichts.(!i) (!nl)
  731. Microsoft hat ein WAV-Format definiert, das gepackt vorliegt. GEMJing kann
  732. diese Samples derzeit noch nicht entpacken.
  733.  
  734. !hline
  735. !index Freedom
  736. !index Liberty
  737. (!I)GEMJing will nicht spielen, wenn Freedom 2 (Liberty) installiert ist(!i) (!nl)
  738. An einem Workaround wird gearbeitet. Benutzer von originaler Atari-Hardware
  739. können von mir eine gepatchte Version erhalten, die funktioniert. Alle anderen
  740. müssen sich noch etwas gedulden.
  741. #####################################################################
  742. !node Dank
  743.  
  744. Ein herzliches Dankeschön haben sich verdient:
  745.  
  746. !begin_itemize
  747. !item Thomas Much - für geduldiges Betatesten (bei ihm lief's ja immer :-)
  748. und Vorschläge.
  749. !item Dirk Haun - von ihm stammt die verbesserte 16 Bit nach 8 Bit
  750. Wandlung.
  751. !item Alexander Clauss - für Anregungen und den Hinweis auf die SND-FAQ.
  752. !item Jörg Hahne - er stellte seine Abspielroutinen für den PSG zur
  753. Verfügung.
  754. !item Holger Weets, Thomas Künneth, Gerd Hofmann und Alexander Lorenz
  755. für das Ertragen von Bombendrohungen und für Betatesting.
  756. !item Sven & Wilfried Behne für den verbesserten
  757. PureC-Startup-Code.
  758. !item Katrin Müller für das Ignorieren des nervtötenden Sampleschnipsels
  759. (""we don't need no education""), das sie mehrere Hundert mal unfreiwillig
  760. vorgespielt bekam.
  761. !item Uwe Lehmann, Olivier Booklage, Jo Vandeweghe, Marion Messerich,
  762. Laisani Petersen, Sascha Malatsion, Gideon Jacques, Leona Baba, Tiziana
  763. Marotta, Christian Marcelo, Atilim und Devrim Erkmen, Basar Alabay, Horst
  764. Boenisch und Markus Müller für Übersetzungen.
  765. !item Das Team von ASH, vor allem Oliver Buchmann und Volker Ritzhaupt,
  766. für die Unterstützung.
  767. !item Ulrich Kaiser für beharrliches Drängen.
  768. !item Holger Herzog für den sinnlosen Vorschlag mit der Environmentvariable, den ich
  769. so toll fand :-)
  770. !item Dimitri Junker für den neuen Kommandozeilenparser und die Zeit für die Tests
  771. vor der Source-Veröffentlichung.
  772. !item Stephan Wilhelm, der auf dem CETiK '99 viel Geduld bewies, wenn ich mal wieder
  773. rumwuselte und nachher vor meinem Programmcode stand wie der Ochs vor'm Berg :-)
  774. !end_itemize
  775.  
  776. GEMJing entstand mit PureC, PureAssembler und Interface auf einem Apple
  777. PowerMacintosh 8600/300, Apple Performa 475, Apple PowerBook 190cs,
  778. Apple Macintosh SE/30 (alle mit MagiCMac) und einem Atari Falcon
  779. (TOS 4.04, N.AES). Für die Dokumentation wurde qed und UDO verwendet.
  780.  
  781. #####################################################################
  782. !node Historie
  783. (!B)Version 1.36, 01.06.00(!b)
  784. !begin_itemize
  785. !item Lizenz von Freeware zur CAT Public License geändert.
  786. !item Sourcen veröffentlicht.
  787. !item Neuer Kommandozeilenparser mit Workaround für CAB-Quoting.
  788. !end_itemize
  789.  
  790. (!B)Version 1.35, 07.03.99(!b)
  791. !begin_itemize
  792. !item Bei sehr alten SingleTOS-Versionen konnte GEMJing beim Aufruf der Dateiauswahl
  793. einen Absturz produzieren (ungültiger Pfad). Sollte behoben sein.
  794. !item GEMJing unterstützt jetzt die StarTrack-Karte mit und ohne Clockmodul.
  795. !end_itemize
  796.  
  797. (!B)Version 1.30, 07.06.98(!b)
  798. !begin_itemize
  799. !item Unterstützung von MagiC-PC 6.0 mit beliebigen Frequenzen.
  800. !item Böser Bug bei SMP entfernt, Dank an Thorsten Otto.
  801. !item Neuer Kommandozeilenparameter
  802. (!link [""-p""][Start ohne Menüzeile (Kommandozeile)]): GEMJing zeigt nach
  803. dem Start keine Menüzeile an, bleibt aber als AES-Programm im Speicher.
  804. Nur für Fernsteuerung sinnvoll.
  805. !item Kleinere Bugfixes und Optimierungen, Debug-Code der 1.25-
  806. Zwischenversion raus.
  807. !item Doku etwas überarbeitet.
  808. !item Kein AV_SENDKEY bei Gemini als AV-Server wg. eines Bugs in
  809. Gemini.
  810. !end_itemize
  811.  
  812. (!B)Version 1.25, 04.04.98(!b)
  813. !begin_itemize
  814. !item Messeversion Neuss
  815. !item WAV-Einleseroutine fehlertoleranter
  816. !item Bugs bei AVR entfernt (Stereo-16-Bit)
  817. !item Ferngesteuertes Abspielen geht nun auch aus einem Speicherbereich heraus,
  818. siehe (!link [Programmierdoku][Für Programmierer]).
  819. !item GEMJing spielt auch auf dem Hades040, trotz der z.T. grob fehlerhaften Cookies.
  820. Dank an Holger Herzog @ ZW für die Testmöglichkeit auf dem CETiK '98.
  821. !end_itemize
  822.  
  823. (!B)Version 1.06, 15.10.97(!b)
  824. !begin_itemize
  825. !item Fremdsprachliche Versionen: Philippinisch von Christian Marcelo,
  826. italienisch von Tiziana Marotta.
  827. !item Kleinere Bugfixes und Korrekturen in der Hinsicht auf alternative
  828. Systemfonts.
  829. !item Bessere Unterbrechbarkeit (CTRL-Shift) auch während eines Delays.
  830. !end_itemize
  831.  
  832. (!B)Version 1.05, 04.10.97(!b)
  833. !begin_itemize
  834. !item Fremdsprachliche Versionen: Englisch von Uwe Lehmann, Französisch
  835. von Jo Vandeweghe, Latein von Marion Messerich, Bishlamaro von Gideon
  836. Jacques, Fidschi von Laisani Petersen, Esperanto von Sascha Malatsion,
  837. Spanisch von Ursula Hoffart, Türkisch von Atilim and Devrim Erkmen,
  838. Japanisch von Leona Baba. (!nl)
  839. Koordination: Markus Müller.
  840. !item Fremdsprachliche Dokumentationen: Französisch von Olivier Booklage,
  841. Englisch von Uwe Lehmann.
  842. !item Atari-Messe-Neuss-Edition.
  843. !end_itemize
  844.  
  845. (!B)Version 1.04, 04.09.97(!b)
  846. !begin_itemize
  847. !item Es wird nun nicht nur unter MagiC performanceneutral zwischen den
  848. Samples
  849. gewartet, sondern auch unter N.AES und anderen Betriebssystemen, die
  850. Fselect()
  851. unterstützen.
  852. !item Drei neue Sampleformate: HSN, AVR und SMP. Trotzdem benötigt GEMJing
  853. mal wieder weniger Platz, das Programm ist jetzt 17 KB gro₧. Lange halte
  854. ich den Trend aber nicht mehr durch :-)
  855. !item WDIALOG wird nicht mehr benötigt. Der fehlende Fensterdialog ist
  856. hoffentlich zu verschmerzen.
  857. !item AV_SENDKEY eingebaut. Tastendrücke, die GEMJing nicht selbst
  858. auswertet, werden nun an den AV-Server weitergeleitet.
  859. !item GEMScript Rel. 0.8 wird unterstützt: OPEN und QUIT.
  860. !item Eine französische Version ist verfügbar, Dank an Olivier Booklage
  861. und Jo Vandeweghe.
  862. !item GEMScript-Kommando ""QUIT"" wird zusätzlich zu ""OPEN"" unterstützt.
  863. !item Bug bei Kommandozeilenübergabe bei SingleTOS raus (Dank an Peter
  864. Melzer).
  865. !item SCCS-Kennung eingebaut
  866. !item GS_INFO-Extension korrigiert
  867. !end_itemize
  868.  
  869. (!B)Version 1.03, 15.07.1997(!b)
  870. !begin_itemize
  871. !item Eine englische Version ist verfügbar, Dank an Uwe Lehmann.
  872. !item sleep als evnt_timer-Ersatz für TTP-Start: damit funktioniert
  873. der Parameter ""-d"" nun auch bei Start als non-GEM-Programm.
  874. !item OLGA-Server-Funktionalität eingebaut
  875. !item GEMScript implementiert, Kommando ""OPEN"" wird verstanden
  876. !item GS_COMMAND korrigiert, Dank an Alexander Barton
  877. !item AP_TERM-Unterstützung wird angemeldet
  878. !item böser Bug bei OLGA-Initialisierung raus - Dank an Olivier Booklage
  879. !item OLE_EXIT wird versandt
  880. !item einige Verschlankungen: geringerer Speicherverbrauch
  881. !end_itemize
  882.  
  883. (!B)Version 1.00, 24.03.1997(!b)
  884. !begin_itemize
  885. !item Erste von mir veröffentlichte Version.
  886. !end_itemize
  887.  
  888. #####################################################################
  889. !end_document
  890.