Command Operation ------- --------- ADCMD_ALLOCATE Allocate one or more of the four audio channels. ADCMD_FINISH Abort the current write request on one or more of the channels. Can be done immediately or at the end of the current cycle. ADCMD_FREE Free one or more audio channels. ADCMD_LOCK Lock one or more audio channels. ADCMD_PERVOL Change the period and volume for writes in progress. Can be done immediately or at the end of the cycle. ADCMD_SETPREC Set the allocation precedence of one or more channels. ADCMD_WAITCYCLE Wait for the current write cycle to complete on a single channel. Returns at the end of the cycle or immediately if no cycle is active on the channel. CMD_FLUSH Purge all write cycles and waitcycles (in-progress and queued) for one or more channels. CMD_READ Return a pointer to the I/O block currently writing on a single channel. CMD_RESET Reset one or more channels their initialized state. All active and queued requests will be aborted. CMD_START Resume writes to one or more channels that were stopped. CMD_STOP Stop any write cycle in progress on one or more channels. CMD_WRITE Start a write cycle on a single channel. Exec Functions as Used in This Chapter -------------------------------------- AbortIO() Abort a command to the audio device. If in progress, it is stopped immediately, otherwise it is removed from the queue. BeginIO() Initiate a command and return immediately (asynchronous request). CheckIO() Determine the current state of an I/O request. CloseDevice() Relinquish use of the audio device. OpenDevice() Obtain use of the audio device. Wait() Wait for a signal from the audio device. WaitPort() Wait for the audio message port to receive a message. Exec Support Functions as Used in This Chapter ---------------------------------------------- AllocMem() Allocate a block of memory. CreatePort() Create a signal message port for reply messages from the audio device. Exec will signal a task when a message arrives at the reply port. DeletePort() Delete the message port created by CreatePort(). FreeMem() Free a block of previously allocated memory.