ftp.nice.ch/pub/next/developer/objc/appkit/TemplateApp.N.bs.tar.gz#/TemplateApp/SoundGenerator.h

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;
   double freqMultiplier;
   id soundSettingsPanel;

   // Connect the following through IB to target-action objects.
   id ratioOutput;
   id indexOutput;
   id decayOutput;
   id attackOutput;
   id freqMulOutput;
   id ratioInput;
   id indexInput;
   id decayInput;
   id attackInput;
   id freqMulInput;
}

- init;
-(BOOL) enable;
- disable;
- free;
- shutUp;

- changeAttackParameter:(double)newAttack;
- changeDecayParameter:(double)newDecay;
- changeFreqMultiplierParameter:(double)newMultiplier;
- 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;
- changeFreqMul:sender;

- showSoundSettings:sender;

@end

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