home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / cdrom / cybersound / cdplayer / cdplayer.dok < prev    next >
Text File  |  1977-12-31  |  11KB  |  311 lines

  1.      |
  2.      |        //
  3.      |      \X/ Flowerpower präsentiert *verdammt* stolz
  4.      |
  5. -----+------------------------------------------------------------------------
  6.      |
  7.      |     einen Stereo CD-DA Spieler basierend auf einem 14 Bit Treiber
  8.      |
  9.      |       mit einem coolen CLI, Workbench und DeliTracker Interface
  10.      |
  11.      |          für Toshiba 4101 CDRom Laufwerke und Kompatible (*)
  12.      |
  13.      |
  14.  
  15.                        (*) Unterstützung für andere Laufwerkstypen ist geplant
  16.  
  17.  
  18. EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
  19.  
  20.  
  21.  
  22. EINLEITUNG
  23. ----------
  24.  
  25. Dieses   Utility   entstand,   weil   ich   mich   zur   Zeit   stark   mit
  26. Sound-Programmierung   beschäftige.    Ich   habe   vor,  die  alten  Amiga
  27. Soundtreiber   (audio.device,   Sound   Datatypes)   durch  mächtigere  und
  28. flexiblere zu ersetzen.
  29.  
  30. Der  CD-DA  Spieler wurde eigentlich nur geschrieben, um den 14 Bit Treiber
  31. zu  testen,  der  ebenfalls in diesem Archiv enthalten ist.  Dieser Treiber
  32. ist  mein erster Schritt in Richtung eines komplexen Mehrkanal-Soundsystems
  33. (Arbeitsname:  "CyberSound").
  34.  
  35. Da sich dieses Utility sich als sehr lustig und auch nützlich erwiesen hat,
  36. habe ich mich entschlossen, eine Benutzerschnittstelle zu erstellen und das
  37. Programm  zu  veröffentlichen.   Außerdem  kann ich ein wenig mit meinem 14
  38. Bit-Treiber  angeben  und  Ihnen  das Konzept meines geplanten Soundsystems
  39. etwas  näherbringen.   Ich  hoffe  wirklich, daß dieses Projekt erfolgreich
  40. abgeschlossen werden kann.
  41.  
  42. Zu  dem  Zeitpunkt,  da ich dieses Dokument schreibe, höre ich gerade einen
  43. schönen CD-DA Soundtrack in vollem Multitasking über die Amiga-Soundkanäle.
  44. Man kann wirklich kaum einen Unterschied zu "echtem" CD-Sound heraushören.
  45.  
  46.  
  47.  
  48. LEISTUNGSMERKMALE
  49. -----------------
  50.  
  51. Dieses  Programm  spielt  CD-DA  Daten durch die Amiga Soundkanäle in 22kHz
  52. Stereo  auf  ECS-Maschinen  und  in  44kHz  auf  AGA-Rechnern in bestimmten
  53. Screenmodi ab.
  54.  
  55. Sie  können  auch  gemischte  CDs anhören, die sowohl Daten- auch als Musik
  56. enthalten (z.B.  Spiele-CDs).  Die Datenspuren werden übersprungen.
  57.  
  58.  
  59.  
  60. DIE CLI-SCHNITTSTELLE
  61. ---------------------
  62.  
  63. Die Kommandoschablone ist wie folgt:
  64.  
  65. TRACKS/N/M,DEVICE/K,UNIT/N/K,SOUNDDRIVER/K,REPEAT/S,...
  66. FREQUENCY/N,QUALITY/N,BUFFERS/N,HIGHPRI/S
  67.  
  68. TRACKS/N/M
  69.  
  70. Eine  Liste  der  Audio  Titel, die in der angegebenen Reihenfolge gespielt
  71. werden sollen.  Wird hier nichts angegeben, so werden alle Titel gespielt.
  72.  
  73. DEVICE/K
  74.  
  75. Hier  geben  Sie  Ihren  SCSI  Treiber  an.   Ansonsten  wird "scsi.device"
  76. benutzt.
  77.  
  78. UNIT/N/K
  79.  
  80. Hier  geben Sie die SCSI-Einheit Ihres CDRom an.  Ansonsten wird die Nummer
  81. 3 benutzt.
  82.  
  83. SOUNDDRIVER/K
  84.  
  85. Hier   wird   gewöhnlich   "14bit.driver"  benutzt.   Es  ist  der  einzige
  86. Soundtreiber,  der  bisher existiert.  Er ist noch lange nicht perfekt oder
  87. fertiggestellt.
  88.  
  89. REPEAT/S
  90.  
  91. Ein  Schalter,  der den Wiederholungs-Modus aktiviert.  Die Titelliste wird
  92. wiederholt abgespielt, wenn dieser Parameter angegeben wird.
  93.  
  94. FREQUENCY/N
  95.  
  96. Sie  können  hiermit versuchen, die CD in einer anderen Frequenz anzuhören.
  97. Normal  werden 44100 Hz verwendet.  Höhere Frequenzen werden wahrscheinlich
  98. nicht gut funktionieren (CDRom zu langsam), aber langsameres Abspielen kann
  99. sehr lustig klingen.
  100.  
  101. QUALITY/N
  102.  
  103. Hier können Sie den Qualitätsfaktor angeben.  Er steht normalerweise auf 1.
  104. Das  bedeutet,  dass  jedes  Sample-Wort  ausgegeben  wird.  Der Wert 3 zum
  105. Beispiel  bedeutet,  dass  nur jedes dritte Sample ausgegeben wird, weshalb
  106. die  effektive  Ausgabefrequenz  durch  drei geteilt wird.  Anmerkung:  Das
  107. Programm  wird diesen Wert automatisch erhöhen, wenn Ihre Hardware nicht in
  108. der  Lage  ist,  die gewünschte Frequenz auszugeben.  Auf ECS-Rechnern wird
  109. dieser Wert immer auf zwei erhöht.  Auf AGA Maschinen paßt sich dieser Wert
  110. während des Abspielens immer dem aktuellen Screenmode an.
  111.  
  112. BUFFERS/N
  113.  
  114. Dieser  Wert  definiert die Größer der Puffer, die im RAM belegt werden, um
  115. die  CD-DA  Daten  vom  Laufwerk aufzunehmen.  Drei Puffer werden benötigt.
  116. Ein  Wert von 75 bedeutet Platz für eine Sekunde.  Der voreingestellte Wert
  117. beträgt  hier  20.  Der gesamte Speicherverbrauch kann mit folgender Formel
  118. berechnet werden:  Speicherverbrauch = BUFFERS * 7056 Byte.
  119.  
  120. HIGHPRI/S
  121.  
  122. Dieses  Flag  erhöht  die  Task-Priorität  Ihres  SCSI  Treibers, sodaß das
  123. Abspielen nicht länger durch das Bewegen und Verändern von Fenstern gestört
  124. wird.   Seien  Sie  vorsichtig:   Das  muß  nicht  unbedingt mit allen SCSI
  125. Treibern  funktionieren.  Sie  sind  also  gewarnt.   Wenn  Sie dieses Flag
  126. setzen,  so  können  Sie  sehr kleine Puffer-Werte benutzen (z.B.  3).  Die
  127. Priorität wird beim Verlassen des Programmes wieder zurückgesetzt.
  128.  
  129. PUBSCREEN/K
  130.  
  131. Diese   Option  erlaubt  Ihnen,  den  Namen  des  öffentlichen  Bildschirms
  132. anzugeben, auf dem sich das Fenster des CDPlayers öffnen soll.
  133.  
  134. GUI/S
  135.  
  136. Hiermit  öffnet  der  CDPlayer  seine grafische Benutzerschnittstelle.  Das
  137. kann  nützlich  sein, wenn Sie den CDPlayer von einer Shell aus starten.
  138.  
  139.  
  140.  
  141. DIE WORKBENCH-SCHNITTSTELLE
  142. ---------------------------
  143.  
  144. Die  Workbench-Schnittstelle benutzt das TapeDeck Gadget, das von Commodore
  145. auf  den  Workbench  3.0 Disketten ausgeliefert wird.  Dieses benötigt also
  146. wahrscheinlich  auch Kickstart 3.0.  Ich weiß nicht, ob diese Gadget-Klasse
  147. auch mit Kickstart 2.0 funktioniert.  Das TapeDeck Gadget ist einfach, aber
  148. funktional.   Manch  einer mag die DeliTracker-Schnittstelle vorziehen, die
  149. weiter unten erklärt wird.
  150.  
  151. Sie können die folgenden Tooltypes in das Programm-Icon eintragen:
  152.  
  153. TRACKS     =<Titel Liste>
  154. DEVICE     =<Device Name>
  155. UNIT       =<Device Einheit>
  156. SOUNDDRIVER=<Treiber-Name>
  157. REPEAT     =<TRUE/FALSE oder YES/NO>
  158. FREQUENCY  =<Zahl>
  159. QUALITY    =<Zahl>
  160. BUFFERS    =<Zahl>
  161. HIGHPRI    =<TRUE/FALSE oder YES/NO>
  162. PUBSCREEN  =<Name des Bildschirmes>
  163.  
  164. Wenn Sie bei REPEAT oder HIGHPRI das Argument weglassen, nimmt das Programm
  165. an, der Schalter sei gesetzt (TRUE).
  166.  
  167.  
  168.  
  169. DIE DELITRACKER-SCHNITTSTELLE
  170. -----------------------------
  171.  
  172. Dieses  Programm  kann  auch  zusammen  mit  DeliTracker  verwendet werden.
  173. Kopieren    Sie    es    einfach    in    die    Players-Schublade    Ihrer
  174. DeliTracker-Installation.  Um den Player zu aktivieren, müssen Sie ein oder
  175. mehrere  "Alibi"-Module  erstellen.   Benutzen  Sie  einen  Text-Editor und
  176. schreiben die folgende Zeile:
  177.  
  178. CD-DA [OPTIONEN]
  179.  
  180. Speichern  Sie  diese  Datei, wohin Sie wünschen.  Der [OPTIONEN] Parameter
  181. ist  (man  glaubt  es kaum) optional und darf alle Argumente enthalten, die
  182. oben bei der CLI-Schnittstelle beschrieben wurden.
  183.  
  184. Wenn  Sie  dieses Modul dann mit dem DeliTracker abspielen, können Sie sich
  185. die CD anhören.  Benutzen Sie die Schalter des DeliTracker, um sich auf der
  186. CD zu bewegen.
  187.  
  188. Mit  den  +/-  Geschwindigkeits-Knöpfen auf der linken Seite können Sie die
  189. Abspielfrequenz  in  100 Hz-Schritten justieren.  Mit den << und >> Knöpfen
  190. ist es möglich, im aktuellen Lied um 10 Sekunden zu springen.
  191.  
  192.  
  193.  
  194. VOREINSTELLUNGEN
  195. ----------------
  196.  
  197. Um  zu  vermeiden,  daß  man  immer wieder die selben Optionen angeben muß,
  198. können   Sie   die   am   häufigsten   verwendeten   Parameter   in   einer
  199. Environment-Variable  namens  CD-DA_DEFAULTS  abspeichern.  Diese Parameter
  200. sind  die  gleichen, die auch bei der CLI-Schnittstelle gelten.  Sie werden
  201. durch  die Optionen überlagert, die dann jeweils im CLI, den ToolTypes oder
  202. im "Alibi"-Modul angegeben werden.  Beachten Sie:  Eine Titel-Liste wird in
  203. den Voreinstellungen ignoriert.
  204.  
  205.  
  206.  
  207. HINWEISE, TIPS & TRICKS
  208. -----------------------
  209.  
  210. Dieses  Programm  wird  Ihr System merklich verlangsamen.  Wie stark, hängt
  211. vor  allem  von  Ihrem  SCSI  Controller  ab  (DMA-Zugriff  ist  von großem
  212. Vorteil).
  213.  
  214. Die  14Bit  Soundausgabe  ist  nicht  so  laut,  wie Sie es von Ihrem Amiga
  215. gewohnt sind.  Sie werden wahrscheinlich die Lautstärke an Ihrem Verstärker
  216. etwas hochregeln müssen.
  217.  
  218. Wenn   Sie   Unterbrechungen  beim  Spielen  bemerken,  versuchen  Sie  die
  219. Unit-Nummer  Ihres  CDRoms  höher  zu  setzen,  als  die Ihrer Festplatten.
  220. Höhere  Unit-Nummern  haben  auf  dem  SCSI-Bus  den  Vorrang.  Bei starkem
  221. Festplattenzugriff werden Unterbrechungen allerdings kaum ganz zu vermeiden
  222. sein.   Das  Toshiba CDRom liefert die Daten leider nur mit "Single-Speed",
  223. deshalb  ist  das Timing *sehr* kritisch.  Ich habe eine ganze Menge Arbeit
  224. in die Perfektion der I/O Routinen investiert.
  225.  
  226. Wenn  Sie  beim  Bewegen oder Verändern von Fenstern Unterbrechungen hören,
  227. dann versuchen Sie einmal, den HIGHPRI-Schalter zu setzen.  Dieser wird die
  228. Priorität  Ihres  SCSI  Treibers  über  die  des input.device erhöhen.  Das
  229. funktioniert  allerdings  nur, wenn der SCSI Treiber als ein Task läuft und
  230. die IORequest von diesem Task aus beantwortet werden.  Im Programm befindet
  231. sich  ein wenig Extra-Code, um dem A590/A2091 Controller in dieser Hinsicht
  232. zu unterstützen (er benutzt zwei Tasks).
  233.  
  234. Kleinere  Puffer-Werte bedeuten eine kürzere Reaktionszeit auf die Schalter
  235. im   DeliTracker.    Aber   kleine  Puffer  erhöhen  auch  die  Gefahr  von
  236. Audio-Unterbrechungen.  Vernünftige Werte beginnen ungefähr mit 3.
  237.  
  238. Versuchen  Sie nicht, auf die Daten-Sektion der CD zuzugreifen, während Sie
  239. die  CD  anhören.   Leider  gibt  es  kein Protokoll, um das CDRom Laufwerk
  240. zwischen  zwei  Tasks  zu  teilen.   Deshalb  können sich CDRom-Treiber wie
  241. AmiCDRom  und  dieser Spieler gegenseitig in die Quere kommen.  Nachdem Sie
  242. eine  CD ins Laufwerk eingelegt haben, warten Sie bitte eine Weile, bis das
  243. DOS  und  die Workbench die CD identifiziert haben und das Icon dargestellt
  244. haben.  Erst dann sollten Sie das Abspielen starten.
  245.  
  246. 14  Bit  ist  nicht  ganz  so  gut  wie 16Bit.  Aber versuchen Sie mal, den
  247. Unterschied  herauszuhören.   Sogar mit Kopfhörern ist das recht schwierig.
  248. Die  22kHz  auf ECS Maschinen sind natürlich nicht *ganz* so gut wie 44kHz.
  249. Nunja, schieben Sie es auf Paula.  Aber auch das klingt immernoch sehr gut!
  250.  
  251.  
  252.  
  253. RECHTLICHES
  254. -----------
  255.  
  256. Das  Programm  ist Public Domain.  Es darf nur zusammen mit den Quelltexten
  257. und der Dokumentation weitergegeben werden.
  258.  
  259. Dieses   Programm   funktioniert  auf  meinem  Computer.   Ich  kann  weder
  260. garantieren,  daß dieses Programm auch auf Ihrem Rechner funktioniert, noch
  261. daß  es  fehlerfrei  ist.   Ich  bin  nicht verantwortlich für irgendwelche
  262. Schäden, die dieses Programm unter Umständen bei Ihnen anrichtet.
  263.  
  264.  
  265.  
  266. PROGRAMM-ENTWICKLUNGSGESCHICKTE
  267. -------------------------------
  268.  
  269. CDPlayer 1.1
  270.  
  271. * GUI und PUBSCREEN Optionen hinzugefügt
  272.  
  273. * Auswahl des Stream-Formates beim Soundtreiber (16 Bit Big Endian)
  274.  
  275.  
  276.  
  277. MÖGLICHE ERWEITERUNGEN
  278. ----------------------
  279.  
  280. * ebenfalls eine Datatypes-Schnittstelle (und alles in einem File!)
  281.  
  282. * eine "echte" CD-DA Version des Spielers (über die Audio-Kanäle des CDRoms)
  283.  
  284. * Unterstütztung anderer CDRom-Laufwerke (senden Sie mir Infos dazu!)
  285.  
  286. * Verbesserung des 14 Bit Treibers
  287.  
  288. * Treiber für andere Soundkarten schreiben (Toccata, Maestro)
  289.  
  290. * Nachdem  CyberSound  fertiggestellt  ist, diesen Treiber anpassen, um die
  291.   Fähigkeiten  des  neuen  Soundsystems  auszunutzen.  Dann kann jeder Task
  292.   jeden  beliebigen  Sound  spielen,  während  Sie  der CD zuhören!  (genug
  293.   CPU-Power vorausgesetzt!)
  294.  
  295.  
  296.  
  297. KONTAKT-ADDRESSE
  298. ----------------
  299.  
  300. EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
  301.  
  302. FidoNet: 2:2480/465
  303.  
  304. Schneckenpost:
  305.  
  306. Christian Buchner
  307. Ganghoferstraße 2
  308. 82110 Germering
  309. Deutschland
  310. Tel.: +49-(0)89/844872
  311.