[comp.sys.mac.hypercard] Accessing Audio CDs from HyperCard

TEREBESS%UVVM.BITNET@CORNELLC.ccs.cornell.edu (Paul Romaniuk) (12/15/88)

     I have been working on writing a set of XCMDs that would access
audio CDs from within HyperCard.  In particular I would like to be
able to access the CD by min,sec,frame information, rather than by
track number -- this would make it possible to generate music
appreciaton stacks, or an interactive story stack based upon a
narrative CD, by allowing each track to be divided into smaller
playing units that would coincide with need/or card design.  Using the
Apple CD SCSI developer's guide, I have had partial success -- I can
access specific tracks (by track number) and play/pause/play them.
But I have run into the following two problems:

1.  I cannot figure out how to get min,sec,frame information passed
to the drive, based upon the information in the developer's guide --
and there isn't any sample code provided that covers this.  There is a
small example C program that uses track number access, and although I
am programming in Pascal, I was able to use that to get as far as I
can.  Can anyone help out here with an example of getting to a
specific min,sec,frame point using the Device Manager
Control(refNum,ATrkSearch,@csparams) call?  I would greatly appreciate
it.

2.  My second problem relates to getting information from the drive
using the ReadQ (where are we in track,min,sec,frame) and AStatus
(what are we doing, where are we) calls.  These are defined in the
developer's guide as Control calls to the Device Manager (and are
accepted as such), but Control calls pass information *to* the drive,
and I want to get information *from* the drive -- i.e. make a Status
call.  However, a call like Status(refNum,AStatus,@csparams) returns
an OSErr: "this status call not recognized by driver".  Doing the same
with a Control call returns no error, but also returns no information.
  Can anyone send me examples (in Pascal) that show how to extract
information using the ReadQ and AStatus calls?

     I really need this help as soon as possible.

Thanks,

Paul J. Romaniuk (PROMAN@UVVM.bitnet)