This is GKSoundStream.h in view mode; [Download] [Up]
// This object manages multiple streams for sound output and // dynamically assigns a sound to one of the streams. // // This does not do preemption of currently playing sounds, thus // it will try to pick the best stream for the sound to play on; // if a stream is idling, it is used. If all streams are busy, // the stream which will finish next is chosen. When you init // the object, tell it how many streams it is to use. // // Note that a program may have multiple GKSoundStreams. Thus, // you can have several "groupings" of streams; one group to handle // certain types of sounds, etc. This allows you to have one stream // per sound, or several streams for an often played sound, or // one stream for a set of seldom-played sounds, or many streams for // a set of sounds that may overlap, but not necessarily. The // SoundPlayer object uses GKSoundStreams as part of it's guts. #import <appkit/appkit.h> @interface GKSoundStream:Object { id streamList, device, timeLeftList, currentTime; int tag; BOOL _initialized; } // Initialization: - init; // same as -initStreams:1 - initStreams:(int)nstr; // preferred method - playSoundStruct:(SNDSoundStruct *)sound; // returns DAYTime which tells // when the sound will finish -- // Do NOT free it; it's a private object!!! // for cleaning up; -free calls -freeObjects. - freeObjects; - free; // to get at the internal lists - streamList; - timeLeftList; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.