ftp.nice.ch/pub/next/games/network/Splat.1.0.s.tar.gz#/Splat-1.0/EKSoundManager.h

This is EKSoundManager.h in view mode; [Download] [Up]

/*
 * EKSoundManager
 * description: a generic object for loading and playing threaded sounds
 * history:
 *	5/15/93 [Erik Kay] - created
 *	5/22/93 [Erik Kay] - preloading sounds
 *	6/12/93	[Erik Kay] - uncompressing sounds at load time
 */

#import <appkit/appkit.h>

//! These limits are kind of arbitrary
//! They should probably be made dynamic at some point
#define MAX_SOUNDS	64
#define MAX_STREAMS	10

@interface EKSoundManager:Object
{
    NXSoundOut	*device;
    NXPlayStream *streamList[MAX_STREAMS];
    int	currentStream;
    int maxSound;
    Sound *soundList[MAX_SOUNDS];
    BOOL playSounds;
}

// add a sound to the list of known sounds
- (int)addSound:(const char *)name;

// turn sound playing on or off
- setPlaySounds:(BOOL)flag;

// play a sound with even left/right gain
- playSound:(int)whichSound;

// play a sound with specified left/right gain 
- playSound:(int)whichSound withGainLeft:(float)l right:(float)r;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.