Previous Book Contents Book Index Next

Inside Macintosh: Sound /
Chapter 2 - Sound Manager / Sound Manager Reference
Sound Manager Routines / Sending Commands to a Sound Channel


Legacy Documentclose button

Important: Inside Macintosh: Sound is deprecated as of Mac OS X v10.5. For new audio development in Mac OS X, use Core Audio. See the Audio page in the ADC Reference Library.

SndDoCommand

You can queue a command in a sound channel by calling the SndDoCommand function.

FUNCTION SndDoCommand (chan: SndChannelPtr; cmd: SndCommand; 
                        noWait: Boolean): OSErr;
chan
A pointer to a valid sound channel.
cmd
A sound command to be sent to the channel specified in the chan parameter.
noWait
A flag indicating whether the Sound Manager should wait for a free space in a full queue (FALSE) or whether it should return immediately with a queueFull result code if the queue is full (TRUE).
DESCRIPTION
The SndDoCommand function sends the sound command specified in the cmd parameter to the end of the command queue of the channel specified in the chan parameter.

The noWait parameter has meaning only if a sound channel's queue of sound commands is full. If the noWait parameter is set to FALSE and the queue is full, the Sound Manager waits until there is space to add the command, thus preventing your application from doing other processing. If noWait is set to TRUE and the queue is full, the Sound Manager does not send the command and returns the queueFull result code.

SPECIAL CONSIDERATIONS
Whether SndDoCommand moves memory depends on the particular sound command you're sending it. Most of the available sound commands do not cause SndDoCommand to move memory and can therefore be issued at interrupt time. Moreover, you can sometimes safely send commands at interrupt time that would otherwise cause memory to move if you've previously issued the soundCmd sound command to preconfigure the channel at noninterrupt time.

RESULT CODES
noErr0No error
queueFull-203No room in the queue
badChannel-205Channel is corrupt or unusable
SEE ALSO
For an example of a routine that uses the SndDoCommand function, see Listing 2-15 on page 2-42.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
2 JUL 1996