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)