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

  1.      |
  2.      |        //
  3.      |      \X/ Flowerpower *proudly* presents
  4.      |
  5. -----+------------------------------------------------------------------------
  6.      |
  7.      |        a Stereo CD-DA player based on a 14 bit low level driver
  8.      |
  9.      |          with a cool CLI, Workbench and DeliTracker interface
  10.      |
  11.      |           for Toshiba 4101 CDRom drives and compatible (*)
  12.      |
  13.      |
  14.  
  15.                        (*) other drive types may be supported in the future
  16.  
  17.  
  18. EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
  19.  
  20.  
  21.  
  22.  
  23. INTRODUCTION
  24. ------------
  25.  
  26. This  utility  was created because I am currently heavily involved in sound
  27. programming.    I   intend   to   replace   the  old  amiga  sound  drivers
  28. (audio.device, sound datatypes) with more powerful and flexible ones.
  29.  
  30. The  CD-DA  player  was created in order to test the 14 bit driver which is
  31. also  contained  in  this  archive.  This driver is my first step towards a
  32. complex multi-channel sound system (working name:  "CyberSound").
  33.  
  34. As  this utility proved to be quite funny and useful, I decided to create a
  35. user  interface  for it and to release it.  Besides, I can show off with my
  36. 14  bit  sound driver and introduce to you the concepts of my planned sound
  37. system.  I really hope this project will succeed.
  38.  
  39. At  the  moment of writing this document, I am listening to some fine CD-DA
  40. soundtrack  in  full multitasking via the Amiga audio channels.  You hardly
  41. can spot any difference to "real" CD quality sound.
  42.  
  43.  
  44.  
  45. FEATURES
  46. --------
  47.  
  48. This  program  will replay CD-DA data through the Amiga soundchannels at 22
  49. kHz  Stereo  on  ECS  computers  and  at  44kHz  on  AGA  computers in some
  50. screenmodes.
  51.  
  52. You can also play mixed-mode CDs containing files as well (e.g.  game CDs).
  53. Data tracks will be skipped.
  54.  
  55.  
  56.  
  57. THE CLI INTERFACE
  58. -----------------
  59.  
  60. The command Template is as follows.
  61.  
  62. TRACKS/N/M,DEVICE/K,UNIT/N/K,SOUNDDRIVER/K,REPEAT/S,...
  63. FREQUENCY/N,QUALITY/N,BUFFERS/N,HIGHPRI/S
  64.  
  65.  
  66. TRACKS/N/M
  67.  
  68. A  list  of  the  audio  tracks  to  be  played in the specified order.  If
  69. omitted, all tracks will be played.
  70.  
  71. DEVICE/K
  72.  
  73. Specify the SCSI driver here. Defaults to "scsi.device"
  74.  
  75. UNIT/N/K
  76.  
  77. The unit number of the SCSI CDRom. Defaults to 3.
  78.  
  79. SOUNDDRIVER/K
  80.  
  81. Defaults  to  "14bit.driver".  This is the only sound driver that exists at
  82. the moment).  It is far from being perfect or finished.
  83.  
  84. REPEAT/S
  85.  
  86. A  switch  that  enables  the  repeat  mode.  The track list will be played
  87. repeatedly if this parameter is specified.
  88.  
  89. FREQUENCY/N
  90.  
  91. You  may  try  to replay the CD at different frequencies.  Default is 44100
  92. Hz.   Higher  frequencies will probably not work well (CDRom too slow), but
  93. slower replay may sound very funny.
  94.  
  95. QUALITY/N
  96.  
  97. Here  you  may specify the quality factor.  This defaults to 1.  That means
  98. every  sample-word  will  be  played.  For example, a value of 3 means that
  99. only  every third sample will be played, thus dividing the output frequency
  100. by  3.  Note:  The program will automatically increase this value when your
  101. hardware  is  not  able  to replay the desired frequency.  On ECS machines,
  102. this value will be 2 all the time, on AGA machines this value adapts to the
  103. screenmodes while playing.
  104.  
  105. BUFFERS/N
  106.  
  107. This  value specifies the size of the buffers that will be allocated in RAM
  108. to hold the CD-DA data from the drive.  Three buffers will be allocated.  A
  109. value  of  75 means 1 second of sound.  Default is 20.  Memory usage can be
  110. calculated with the following formula:  Memory Usage = BUFFERS * 7056 Byte.
  111.  
  112. HIGHPRI/S
  113.  
  114. This  flag  will  increase  the  task  priority of your SCSI driver so that
  115. replay  will  no  longer  be  disturbed by moving and resizing windows.  Be
  116. careful:   This  may not work with all SCSI drivers, so be warned!  Setting
  117. this  flag  will  allow you to use very small buffer values (e.g.  3).  The
  118. priority will be reset on exit.
  119.  
  120. PUBSCREEN/K
  121.  
  122. This  option  allows you to specify the public screen name for the CDPlayer
  123. window to open on.
  124.  
  125. GUI/S
  126.  
  127. This  switch  will make the player open its graphical user interface.  This
  128. may be useful when starting the player from a shell.
  129.  
  130.  
  131.  
  132. THE WORKBENCH-INTERFACE
  133. -----------------------
  134.  
  135. The  WorkBench  interface uses the tapedeck gadget provided by Commodore on
  136. the  WorkBench  3.0 disks.  So this will probably require Kickstart 3.0.  I
  137. don't  know  if  this  gadget  class  also  works  with Kickstart 2.0.  The
  138. tapedeck gadget is simple, but functional.  Some may prefer the DeliTracker
  139. interface which is explained below.
  140.  
  141. You may use the following tooltypes in the program icon:
  142.  
  143. TRACKS     =<track list>
  144. DEVICE     =<device name>
  145. UNIT       =<device unit>
  146. SOUNDDRIVER=<driver name>
  147. REPEAT     =<TRUE/FALSE or YES/NO>
  148. FREQUENCY  =<number>
  149. QUALITY    =<number>
  150. BUFFERS    =<number>
  151. HIGHPRI    =<TRUE/FALSE or YES/NO>
  152. PUBSCREEN  =<screen name>
  153.  
  154. If  you  do not specify an argument for REPEAT or HIGHPRI, the program will
  155. assume the switch is active (TRUE).
  156.  
  157.  
  158.  
  159. THE DELITRACKER INTERFACE
  160. -------------------------
  161.  
  162. This  program  can  also be used together with DeliTracker.  Simply copy it
  163. into  the  Players directory of your DeliTracker installation.  To activate
  164. the  player,  you  only  need to create one ore more "fake" modules.  Use a
  165. text editor and type the following line
  166.  
  167. CD-DA [OPTIONS]
  168.  
  169. Save  this  file  to  anywhere you like.  The [OPTIONS] Parameter is (guess
  170. what)  optional  and  may  contain  the  arguments defined above in the CLI
  171. section.
  172.  
  173. When  you  play this module with DeliTracker, you will be able to listen to
  174. the CD.  You can use DeliTracker's gadgets to navigate through the CD.
  175.  
  176. The  +/-  speed  gadgets at the left will allow you to fine-tune the replay
  177. frequency by 100Hz.  Using the << and >> gadgets you can skip 10 seconds on
  178. the current track.
  179.  
  180.  
  181.  
  182. DEFAULT SETTINGS
  183. ----------------
  184.  
  185. To avoid specifying the same options over and over, you can store your most
  186. frequently  used  options in an environment variable called CD-DA_DEFAULTS.
  187. These  options  are  the  same as defined in the CLI section.  They will be
  188. overridden  by  the  settings in the command line, the tool types or in the
  189. fake module.  Note:  Defining a default track list will not work.
  190.  
  191.  
  192.  
  193. HINTS, TIPS & TRICKS
  194. --------------------
  195.  
  196. This  programm will noticeably slow down your system.  How much, depends on
  197. your SCSI controller (DMA will be of great advantage).
  198.  
  199. 14 bit sound output is not quite as loud as normal Amiga sound output.  You
  200. will probably have to turn up the volume of your amplifier.
  201.  
  202. If  you  experience interruptions while playing, try to set the unit number
  203. of  your  CD ROM higher than that of your hard drives.  Higher unit numbers
  204. will  have  precedence on the SCSI bus.  But given heavy hard drive access,
  205. interruptions cannot be avoided completely.  The Toshiba CDRom delivers the
  206. CD-DA  data  only  at  single  speed, so timing is *very* critical.  I have
  207. spent a good deal of work on perfecting the I/O routines.
  208.  
  209. If  you experience sound interruptions when moving or resizing windows, try
  210. setting  the  HIGHPRI  flag.   This will set the task priority of your SCSI
  211. driver  to  21 (higher than that of input.device).  This only works if your
  212. SCSI driver runs as a task and replies its IORequests from the task.  There
  213. is  some extra code to support the scsi.device of the A590/A2091 Controller
  214. (it uses two tasks).
  215.  
  216. Smaller  buffer  values  will mean shorter reaction times to the gadgets in
  217. DeliTracker.   But  small  buffers  will  also increase the chance of audio
  218. interruptions. Reasonable values approximately start at 3.
  219.  
  220. Do  not  try to access the data section of the CD while playing CD-DA data.
  221. Unfortunately,  there  is  no  protocol for sharing the CDRom drive between
  222. different  tasks.   So  CDRom  drivers  like  AmiCDRom  and this player may
  223. interfere.  After inserting a CD into the drive, wait a while until DOS and
  224. Worbench have identified the CD and displayed the icon.  Then you may start
  225. to play the audio tracks.
  226.  
  227. 14  bit  is  not  quite 16 bit.  But try to spot the difference.  Even with
  228. headphones,  this  is very difficult.  22kHz on ECS machines is not *quite*
  229. 44kHz...   umm,  well:  Blame it on Paula.  But even this still sounds very
  230. good!
  231.  
  232.  
  233.  
  234. LEGAL STUFF AND DISCLAIMER
  235. --------------------------
  236.  
  237. This  program  is  Public  Domain.   It  must only be distributed with full
  238. source code and documentation.
  239.  
  240. This  program  works  on  my  computer.   I can neither guarantee that this
  241. programm  will  work  on  your  machine  nor that it is bug free.  I am not
  242. responsible for any damage this program might cause.
  243.  
  244.  
  245.  
  246. PROGRAM HISTORY
  247. ---------------
  248.  
  249. CDPlayer 1.1
  250.  
  251. * PUBSCREEN and GUI options added
  252.  
  253. * Selection of the stream format at the sound driver (16 bit big endian)
  254.  
  255.  
  256.  
  257. FUTURE IDEAS
  258. ------------
  259.  
  260. *become a datatype as well (all in ONE executable)
  261.  
  262. *a "real" CD-DA version of this DeliPlayer (using the CDRom's audio channel)
  263.  
  264. *support of more CDRom drives (send me specs and infos!)
  265.  
  266. *improve the 14 bit driver
  267.  
  268. *write drivers for other soundcards (Toccata, Maestro)
  269.  
  270. *After  finishing CyberSound, adapt this player program to use the features
  271.  of  the new sound system.  So any task can play any sound while you listen
  272.  to that CD (CPU power *really* needed)
  273.  
  274.  
  275.  
  276. CONTACT ADDRESS
  277. ---------------
  278.  
  279. EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
  280.  
  281. FidoNet: 2:2480/465
  282.  
  283. SnailMail:
  284.  
  285. Christian Buchner
  286. Ganghoferstraße 2
  287. 82110 Germering
  288. Germany
  289. Tel.: +49-(0)89/844872
  290.