This is SoundGenerator.h in view mode; [Download] [Up]
#import <objc/Object.h> #define NUMNOTES 4 @interface SoundGenerator : Object { id orchestra, instrument, ampEnvelope, notes[NUMNOTES]; int currentNote; int transpose; id soundSettingsPanel; // Connect the following through IB to target-action objects. id ratioOutput; id indexOutput; id decayOutput; id attackOutput; id transposeOutput; id ratioInput; id indexInput; id decayInput; id attackInput; id transposeInput; } - init; -(BOOL) enable; - disable; - free; - shutUp; - changeAttackParameter:(double)newAttack; - changeDecayParameter:(double)newDecay; - changeParameter:(int)param toDouble:(double)value; - playNoteAtFreq:(double)freq; // Connected to target-action input devices (sliders, perhaps?) - play:sender; // Plays a note at sender's double value - changeState:sender; // Calls enable or disable depending on sender state - changeRatio:sender; - changeIndex:sender; - changeDecay:sender; - changeAttack:sender; - changeTranspose:sender; - showSoundSettings:sender; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.