home *** CD-ROM | disk | FTP | other *** search
- __ _____ ____ ____ ____ _ _
- \ \ / / _ \ / ___| _ \| _ \ / | / |
- \ V / |_| | | | | | | |_) | | | | |
- | || _ | |___| |_| | __/ | |_| |
- |_||_| |_|\____|____/|_| |_(_)_|
-
- Yet Another CD Player
-
- © 1994 by Frank Würkner
- All Rights Reserved
-
-
- COPYRIGHT NOTE
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- The program YACDP is copyrighted © 1994 by Frank Würkner.
- All rights reserved.
-
- YACDP is FREEWARE. This program may be freely distributed as long as
- - the executable and documentation remain unchanged and
- are included in the distribution
- - No other charge is made than to cover time and copying costs
-
-
- DISCLAIMER
- ¯¯¯¯¯¯¯¯¯¯
- No warranties of any kind are made as to the functionality of this
- program. You are using it ENTIRE at your own risk.
-
-
- SYSTEM REQUIREMENTS
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- o OS2.0 or higher
- o reqtools.library © 1991-1994 by Nico François (thanks Nico!)
- o a SCSI bus adapter capable of sending SCSI direct commands
- o a SCSI-2 CD-ROM which can read CD-DA ("Red Book") encoded discs
- (i.e. you should see a headphone jack on the front panel)
- o optionally your CD-ROM should be capable of sending the audio as
- 16-bit digital data over the SCSI bus
-
-
- FEATURES
- ¯¯¯¯¯¯¯¯
- o GUI that let's you access all basic functions of a normal CD-Player
- o is a Commodity
- o can display songnames and CD title (of course you once have to enter
- the names)
- o doesn't wastes memory
- o SCSI errors are displayed as text (95 known)
- o realtime playback of audio on your Amiga, even on 68000 machines (*)
- (achieved by highly optimised assembler routines)
- o ability to save (parts of) songs as IFF (8SVX) or RAW (*)
-
- (*) CD-ROM must be able to send audio over SCSI bus (see SYSTEM REQUIREMENTS)
-
-
- GETTING STARTED
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- If you often use audio CD's you might like to put the program into the
- WBStartup drawer. But any other place is fine too. But before the first
- use you should edit the tooltypes:
-
- TOOLPRI [0]
- The taskpriority of YACDP (must be a number from -128 to 127).
- If you often want to use the "via SCSI" mode, I recommend a
- taskpriority of 1
-
- CX_PRIORITY [0]
- The priority for the commodity (must be a number from -128 to 127)
-
- CX_POPUP [YES]
- YES = show GUI when started
- NO = don't show GUI
-
- CX_POPKEY [CTRL SHIFT ALT C]
- Hotkey to bring up the GUI
-
- DEVICE [scsi.device]
- Your SCSI device (caution: the devicename is casesensitive)
-
- BOARD [0]
- Controller board number (0 to 7), normally 0
-
- UNIT [1]
- SCSI target ID (0 to 7)
-
- LUN [0]
- SCSI logical unit (0 to 7), normally 0
-
- SONGDIR [PROGDIR:Songs/]
- Valid directory where to store the songfiles
-
- EDITOR [C:Ed %s]
- Your favorite texteditor which will be used if you edit the songnames.
- Use "%S" if your editor expects AmigaDOS wildcards
-
- IFFDIR [RAM:]
- Default directory where the IFF files are saved
-
- WINDOWX [0]
- Windows x position
-
- WINDOWY [11]
- Windows y position
-
- ZIPWINDOWX [0]
- x position of the zipped window
-
- ZIPWINDOWY [11]
- y position of the zipped window
-
- VIASCSI [NO]
- Content of "via SCSI" at startup:
- YES = checked
- NO = not checked
-
- AUDIOCHANNELS [----]
- If the "via SCSI" mode is used the playback is done by the Amiga which
- has four audio channels (two for the left and two for the right).
- The default is to allocate any left-right pair. Normally there should be
- no reason to change this, but you can. The four chars mean:
-
- XXXX
- Amiga's left _____||||_____ Amiga's left
- channel 0 || channel 1
- / \
- Amiga's right< >Amiga's right
- channel 0 channel 1
-
- Where X may be: - = don't use
- L = use for left audio data
- R = use for right audio data
-
- Note: YACDP currently does no stereo playback, i.e. there is no difference
- between L and R. But this may change in future versions.
- For example to use all channels you would write "AUDIOCHANNELS=LRRL".
-
- AMIGAVOL [64]
- Start volume for Amiga
-
- CDROMVOL [255]
- Start volume for CD-ROM
-
- AUTOSTART []
- Start playback on track 1 whenever a new CD is inserted
-
- AUTOEJECT []
- Only works in conjunction with AUTOSTART. The CD is ejected when
- the end of the CD is reached
-
- ALTERNATETIME []
- Show the time rather in "00:00:00" format than in "0h 0m 0s" format
-
- NOVIASCSI []
- Hide menu and button that can only be used by CD-ROM's which can
- send audio data over the SCSI bus
-
- CHIPMEM | FASTMEM | 24BITDMAMEM [any]
- If any of the keywords is given the buffer for audio playback will
- be either chipmemory, fastmemory or 24Bit-DMA-memory
-
-
- THE GUI
- ¯¯¯¯¯¯¯
- ICON
- ¯¯¯¯
- a SCSI cable with a the program couldn't connect to your CD-ROM.
- flashing question-mark You should have seen a requester with more
- detailed information. Play around with the
- parameters in the menu "SCSI"
-
- a CD with a flashing the program found a CD-ROM, but you didn't
- question-mark insert a CD yet
-
- a CD with 0's and 1's you inserted a CD, but it's a data CD
- on it
-
- a CD with notes on it you inserted an audio CD
-
- BUTTONS
- ¯¯¯¯¯¯¯
- For most funktions you will obviously have to put a audio CD into your
- CD-ROM or the gadgets will stay ghosted.
-
- 1-39 Clicking on one of them will start the audio replay at this
- track (song). If your CD has more than 39 tracks you can
- use the "+ " button on lower right of the window, which will
- bring up a requester where you can enter your desired track.
- > If no playback is in progress it will start at track 1.
- If the playback is paused it will start again.
- If the CD is currently playing, it will restart the playback
- at the begin of the current track.
- || (Un)pause playback
- [ ] stop playback
- |< Start playback of previous track, not possible for 1st track :-)
- >| Start playback of next track, not possible if you are already at
- the last track
- >> Skip n seconds back \ qualifier | n
- << Skip n seconds forward / -------------------
- SHIFT | 10 secs
- none | 20 secs
- ALT | 40 secs
- CTRL | 60 secs
- «« Skip to previous index
- »» Skip to next index («« and »» only work if not in "via SCSI" mode)
- ^ Eject the CD
-
- If the "via SCSI" is checked the audio data will be send over the SCSI bus,
- converted and played by the audio device. This will result in a heavy CPU
- load (at least for 68000er's), so you might not be able to "multitask" much
- or the playback is not continous anymore.
- If not checked the playback is done by the CD-ROM. Only the GUI is updated
- every second.
-
- The slider titled with "Vol" let's you control the volume for the CD-ROM
- and the Amiga depending on the state of the "via SCSI"-checkbox.
-
- MENU
- ¯¯¯¯
- "About Program" Display a requester about the program (what surprise).
- "About CD-ROM" Display a requester about the CD-ROM including
- vendor, the productname and the revision.
- "About CD" Display a requester with the songnames (if present)
- and the playing time of each song.
- "Edit Songs" Start the texteditor so you can enter the songnames.
- The filname is either the Universal-Product-Code (bar code)
- of the CD or if not available an identifier built with
- the number of tracks, the total playing time and the
- playing time of the first track.
- "Update" You may need this if you change something in the
- corresponding songfile of the CD or the data displayed
- about the CD isn't correct.
- "Hide" Hide the GUI.
- "Quit" Quit the program.
- "SCSI" All menuitems change the value of the corresponding
- tooltype.
- "Filter" The condition of the lowpass filter (defaults to off).
- "Release Device" If you first play back audio data, some additional buffers
- and soundchannels of the sound device are allocated.
- Use this if you want the program to give them back.
- "Save Audio" Show a window where you can enter the parameters which
- part of the CD you want to save as IFF. (see below)
-
- KEYBOARD SHORTCUTS
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- 0..9 : Start playback at entered track. If the track consists of two
- digits the second digit must be entered within a second. If
- you enter more than two digits the last is shifted out, e.g.
- if you type 5 - 1 - 6 the track 16 will be played.
- G : Same as "> " button
- P : Same as "||" button
- S or
- <RETURN> : Same as " " button
- <Cursor
- Down > : Same as "|<" button
- <Cursor
- Up > : Same as ">|" button
- <Cursor
- Left > : Same as "<<" button (also same qualifier)
- <Cursor
- Right > : Same as ">>" button (also same qualifier)
- < : Same as "««" button
- > : Same as "»»" button
- ^ : Same as "^ " button
- <HELP> : Same as if you pick the menu item "About CD"
-
-
- SAVE AUDIO AS IFF/RAW
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- COPYRIGHT
- ¯¯¯¯¯¯¯¯¯
- Though you own the CD you do not own the rights for the CD. Especially the
- RAW option enables you to copy CD's without loss of data. YOU are
- responsible that no existing rights are violated.
-
- BACKGROUND
- ¯¯¯¯¯¯¯¯¯¯
- CD-DA discs have their audio data stored in blocks of 2352 bytes plus
- additional information each containing 588 signed 16-bit numbers for
- the left and the right channel. The samplingrate of an audio CD is 44100,
- which means 44100 signed 16-bit numbers for each channel reconstruct the
- original waveform for one second. So 75 (=44100/588) blocks on a CD-DA discs
- make one second. For example 1 minute in CD quality has a total size of
- 75*2352*60 = 10584000 (about 10MB).
- The Amiga hardware (currently ???) can play back signed 8-bit numbers in
- a maximum samplingrate of 28867.
-
- CONVERTING AUDIO
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- So the audio data send by the CD-ROM has to be reduced, but how?
- The program let's you controll the conversion by the
- o Samplingrate: 22050 ==> 1/2 original samplingrate
- 14700 ==> 1/3 " "
- 11025 ==> 1/4 " "
- 8820 ==> 1/5 " "
- ...
- Reducing the samplingrate beyond 11025 will result in very pure quality.
- o Channels: Left & Right ==> the data for the left and the right
- channel is combined.
- Right ==> only the audio data for the right channel
- is taken into account
- Left ==> only the audio data for the left channel
- is taken into account
- o Scale samples: Sometimes the audio data will sound rather low, so you
- can scale them by any amount, especialy by a power of 2.
- Try 2, 4, 8, 16.
- o RAW: Do absolute no conversion (the file created is simply a dump of the
- data present on the CD, i.e. the file is not in IFF format)
-
- Example: Let's say you have choosen a samplingrate of 14700 and
- "Left & Right" and scale the samples by 2, how would
- this input be reduced:
- L R L R L R
- -9785, 456, -23764, 135, -32768, -343
-
- o First all samples will be summed up: -66069
- o The divisor is (256*2*3) / 2 = 768
- ^ ^ ^ ^
- 16-bit to 8-bit | | scale samples with 2
- left & right channel |
- 14700, i.e. 1/3
- o The final output would be -66069 / 768 = -86
- Note: If you had choosen to scale with 4 the result
- would have been -172, which doesn't fit in 8-bit
- and therefore would have been reduced to -128
- (As well as numbers greater than 127 will be reduced
- to 127).
- If this case happens too often your audio data
- will sound pretty ugly.
- o The scrollers on the left side represent the start track the relative
- time in this track and finally the absolute blocks (remember 1 second
- makes 75 blocks?). The scrollers on the right side represent the same
- for the end position.
- o "PLAY START" plays 10 seconds from your current start position
- "PLAY END" plays 10 seconds before your current end position
- "PLAY ALL" plays all of your selected audio data
- "STOP" stop any audio playback
- Hit "OK" to proceed and a filerequster let's you select the filename.
- "CANCEL" brings you back to the main window.
- If all goes fine you should see a little window showing the success
- of the conversion. Press ESC or CTRL-C in the window if you want to
- abort the conversion.
-
-
- COMPATIBLITY
- ¯¯¯¯¯¯¯¯¯¯¯¯
- Following drives are known to work with YACDP:
-
- Vendor | Product | Supports "via SCSI"
- --------------------------+----------------------+---------------------
- Pioneer Electronic Corp. | CD-ROM DRM-604X | no
- Sony Corporation Japan | CD-ROM CDU-561 | yes
- | CD-ROM CDU-8003A | yes
- Texel | CD-ROM DM-XX24 K | no
- Toshiba Japan | CD-ROM XM-3401TA | yes
- | CD-ROM XM-4101TA | yes
-
-
- TO DO
- ¯¯¯¯¯
- o other playback modes (random and program), A-B range play, repeat button,
- cuing
- o Ability to save CD specific settings such as volume, favourite tracks,
- "via SCSI", ...
- o Stero playback in "via SCSI" mode
- o AREXX-port
- o add an option to replace buttons by listview
- o find optimum "Scale Sample" value
- o jog-shuttle-wheel
- o fontsensitive GUI
-
-
- HOW TO SUPPORT YACDP
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- o It would be nice if you could write me about your success/problems
- with the program, especially if your CD-ROM isn't yet in the
- COMPATIBLITY list. Please include information about your Amiga model
- and the output of the program TestCDROM (the program only works in
- the CLI and accepts the parameters DEVICE, BOARD, UNIT, LUN which
- are the same as the tooltypes of YACDP), i.e. type something like
- "TestCDROM >T:CDROM.log DEVICE=scsi.device BOARD=0 UNIT=1 LUN=0"
- o If you know your CD-ROM to be capable of sending audio data over
- the SCSI bus, but YACDP doesn't yet support your CD-ROM you might ask
- the vendor about how to access audio data and send the information to me.
- I will try to suport your CD-ROM at the next release.
- o If you entered the songnames of some CD's you should send the files to me
- (best would be compressed with lha and uuencoded to my email address) so
- I can include them with the next release.
- o Tell me what features you would like to see in YACDP, aside those
- already present in the "TO DO" list.
-
-
- Send mail to
-
- Frank Würkner
- Georgenschwaigstr. 22
- D-80807 München
- Germany
-
- or
-
- E-Mail: wuerkner@informatik.tu-muenchen.de
-
-
- THANKS
- ¯¯¯¯¯¯
- Many thanks to following persons which helped to improve YACDP
-
- DarkStar
- Eric Bachfischer
- James Cooper
- Lance Kibblewhite
- Mario Kemper
- Marquart Franz
- Stefan Kaintoch
- Urs Utzinger-Brunner
-
-
- HISTORY
- ¯¯¯¯¯¯¯
- 1.0
- ¯¯¯
- first release
- 1.1
- ¯¯¯
- o removed a bug that caused some CD-ROM's to report
- "INVALID FIELD IN CDB" when starting audio playback
- o "via SCSI" now works for Toshiba drives (of course only those
- who support to send audio as digital data over the SCSI bus)
- o most buttons now have keyboard shortcuts
- o volume now adjustable
- o new tooltype AMIGAVOL and CDROMVOL to set the start volume
- o IFF format now more correct
- o removed SCSI error text that didn't belong to CD-ROM's
- o updated vendor identification list
- o device, board, unit, LUN now changeable within the program
- and therefore invalid start parameter don't quit the program
- anymore
- o tooltype EDITOR now also accepts %S for editors that expect
- AmigaDOS wildcards
- o new tooltype VIASCSI to allow "via SCSI" to be checked at startup
- o new tooltype AUDIOCHANNELS to specify which of the four audio
- channels are used
- o new tooltype AUTOSTART to start playback whenever a CD is inserted
- o new tooltype AUTOEJECT to eject CD at end of playback
- o new tooltype ALTERNATETIME (time in 00:00:00 format)
- o new tooltype NOVIASCSI to hide menu and button that can only be
- used by CD-ROM's which are able to send audio data over the SCSI bus
- o windows now open activated
- o Now included the command TestCDROM to simplify (bug) reports
-