Copyright ©1995 by NeXT Computer, Inc. All Rights Reserved.
| Sound Functions | 
| Accessing Sound Devices and Hardware 
 Access sound devices | 
| int | SNDAcquire(int soundResource, int priority, int preempt, int timeout, SNDNegotiationFun negFun, void *arg, port_t *devicePort, port_t *ownerPort) | |
| int | SNDReset(int soundResource, port_t devicePort, port_t ownerPort) | |
| int | SNDRelease(int soundResource, port_t *devicePort, port_t *ownerPort) | 
| Reserve sound devices for recording or playback | 
| int | SNDReserve(int soundResource, int priority) | |
| int | SNDUnreserve(int soundResource) | 
| Set the host computer for subsequent playback or recording | 
| int | SNDSetHost(char *newHostname) | 
| Sound playback utilities | 
| int | SNDSetVolume(int left, int right) | |
| int | SNDGetVolume(int *left, int *right) | |
| int | SNDSetMute(int speakerOn) | |
| int | SNDGetMute(int *speakerOn) | |
| int | SNDSetFilter(int filterOn) | |
| int | SNDGetFilter(int *filterOn) | 
| Recording and Playing 
 Play a soundfile | 
| int SNDPlaySoundfile(char *path, int priority) | 
| Recording and playing a sound | 
| int | SNDStartPlaying(SNDSoundStruct *sound, int tag, int priority, int preempt, SNDNotificationFun beginFun, SNDNotificationFun endFun) | |
| int | SNDVerifyPlayable(SNDSoundStruct *sound) | |
| int | SNDStartRecording(SNDSoundStruct *sound, int tag, int priority, int preempt, SNDNotificationFun beginFun, SNDNotificationFun endFun) | |
| int | SNDStartRecordingFile(char *fileName, SNDSoundStruct *sound, int tag, int priority, int preempt, SNDNotificationFun beginFun, SNDNotificationFun endFun) | |
| int | SNDStop(int tag) | |
| int | SNDWait(int tag) | |
| int | SNDSamplesProcessed(int tag) | |
| int | SNDModifyPriority(int tag, int newPriority) | 
| Reading and Writing Soundfiles 
 Read a sound from a file | 
| int | SNDReadSoundfile(char *path, SNDSoundStruct **sound) | |
| int | SNDRead(int fd, SNDSoundStruct **sound) | |
| int | SNDReadHeader(int fd, SNDSoundStruct **sound) | |
| int | SNDReadDSPfile(char *path, SNDSoundStruct **sound, char *info) | 
| Write a sound to a file | 
| int | SNDWriteSoundfile(char *path, SNDSoundStruct *sound) | |
| int | SNDWrite(int fd, SNDSoundStruct *sound) | |
| int | SNDWriteHeader(int fd, SNDSoundStruct *sound) | 
| Accessing Sound Data 
 Create and free a sound structure | 
| int | SNDAlloc(SNDSoundStruct **sound, int dataSize, int dataFormat, int samplingRate, int channelCount, int infoSize) | |
| int | SNDFree(SNDSoundStruct *sound) | 
| Gain access to sampled sound data | 
| int | SNDGetDataPointer(SNDSoundStruct *sound, char **ptr, int *size, int *width) | 
| Measure samples in a sound | 
| int | SNDSampleCount(SNDSoundStruct *sound) | |
| int | SNDBytesToSamples(int byteCount, int channelCount, int dataFormat) | |
| int | SNDSamplesToBytes(int sampleCount, int channelCount, int dataFormat) | 
| Accessing the DSP 
 Boot the DSP | 
| int | SNDBootDSP(port_t *devicePort, port_t *ownerPort, SNDSoundStruct *dspCore) | 
| Run the DSP | 
| int | SNDRunDSP(SNDSoundStruct *dspCore, char *toDSP, int toCount, int toWidth, int toBufferSize, char **fromDSP, int *fromCount, int fromWidth, int negotiationTimeout, int flushTimeout, int conversionTimeout) | 
| Compressing Sound Data 
 Compress or decompress a sound | 
| int | SNDCompressSound(SNDSoundStruct *fromSound, SNDSoundStruct **toSound, BOOL bitFaithful, int compressionAmount) | 
| Query for frequency bands used by Audio Transform Compression | 
| int | SNDGetNumberOfATCBands(int *numBands) | |
| int | SNDGetATCBandFrequencies(int numBands, float *centerFreqs) | |
| int | SNDGetATCBandwidths(int numBands, float *bandwidths) | 
| Speed up or slow down playback of ATC sound | 
| int | SNDDropATCSamples(int numSamples, int bySamples) | |
| int | SNDInsertATCSamples(int numSamples, int bySamples) | 
| Modify volume or equalization for ATC playback | 
| int | SNDSetATCGain(float level) | |
| int | SNDGetATCGain(float *level) | |
| int | SNDSetATCEqualizerGains(int numBands, float *gains) | |
| int | SNDGetATCEqualizerGains(int numBands, float *gains) | |
| int | SNDScaleATCEqualizerGains(int numBands, float *gainScalars) | 
| Set or get ATC parameters | 
| int | SNDSetATCSquelchThresholds(int numBands, float *thresholds) | |
| int | SNDGetATCSquelchThresholds(int numBands, float *thresholds) | |
| int | SNDUseDefaultATCSquelchThresholds(void) | 
| Set and get compression attributes used in recording | 
| int | SNDSetCompressionOptions(SNDSoundStruct *sound, int bitFaithful, int compressionAmount) | |
| int | SNDGetCompressionOptions(SNDSoundStruct *sound, int *bitFaithful, int *compressionAmount) | 
| Converting Sound Data 
 Convert between logarithmic and linear units | 
| float | SNDConvertDecibelsToLinear(float dB) | |
| float | SNDConvertLinearToDecibels(float linear) | 
| Convert a sound's attributes | 
| int | SNDConvertSound(SNDSoundStruct *fromSound, SNDSoundStruct **toSound) | |
| unsigned char | SNDMulaw(short linearValue) | |
| short | SNDiMulaw(unsigned char mulawValue) | 
| Editing Sound Data 
 Copy all or part of a sound | 
| int | SNDCopySound(SNDSoundStruct **toSound, SNDSoundStruct *fromSound) | |
| int | SNDCopySamples(SNDSoundStruct **toSound, SNDSoundStruct *fromSound, int startSample, int sampleCount) | 
| Edit a sampled sound | 
| int | SNDInsertSamples(SNDSoundStruct *toSound, SNDSoundStruct *fromSound, int startSample) | |
| int | SNDDeleteSamples(SNDSoundStruct *sound, int startSample, int sampleCount) | |
| int | SNDCompactSamples(SNDSoundStruct **toSound, SNDSoundStruct *fromSound) | 
| Sound Errors 
 Describe a sound error | 
| char | *SNDSoundError(int err) |