ftp.nice.ch/pub/next/games/action/MissileCommand.2.0.NIHS.bs.tar.gz#/MissileCommand.2.0.NIHS.bs/Source/SoundEffect.h

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

#import <objc/Object.h>
#import <soundkit/Sound.h>
#import <soundkit/NXPlayStream.h>

@interface SoundEffect:Object
{
    Sound *sound;			// The sound data for this sound

    struct {
        unsigned int refCount:8;		// Number of play requests pending
		unsigned int limit:8;
		unsigned int freeWhenDone:1;	// Free when all are done
		unsigned int :15;
   } flags;
}

- initFromSection:(const char *)path withLimit:(unsigned int)n;
- initFromSection:(const char *)sound;

// This function ensures that soundstreams will be reactivated (by calling:
// soundStream:didCompleteBuffer:) if lots of (>20) short sounds are played within
// one function without invoking the eventloop 
- playEvent;
- play;
- play:(float)volume pan:(float)rads;
- (int)soundsPlaying;
- free;

+ (void)setSoundEnabled:(BOOL)flag;
+ (BOOL)soundEnabled;

+ (void)setMaxSoundStreams:(unsigned int)max;
+ (unsigned int)maxSoundStreams;

@end

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