home *** CD-ROM | disk | FTP | other *** search
- /* OscillatorSpecifier.h */
-
- #ifndef Included_OscillatorSpecifier_h
- #define Included_OscillatorSpecifier_h
-
- /* OscillatorSpecifier module depends on */
- /* MiscInfo.h */
- /* Audit */
- /* Debug */
- /* Definitions */
- /* Memory */
- /* SampleSelector */
- /* ModulationSpecifier */
- /* Envelope */
- /* LFOListSpecifier */
- /* EffectSpecList */
-
- typedef float OscillatorNumType;
-
- /* forwards */
- struct SampleSelectorRec;
- struct EnvelopeRec;
- struct LFOListSpecRec;
- struct OscillatorListRec;
- struct EffectSpecListRec;
-
- typedef enum
- {
- eOscillatorSampled EXECUTE(= -1229),
- eOscillatorWaveTable
- } OscillatorTypes;
-
- struct OscillatorRec;
- typedef struct OscillatorRec OscillatorRec;
-
- /* create a new oscillator structure */
- OscillatorRec* NewOscillatorSpecifier(void);
-
- /* dispose of an oscillator structure */
- void DisposeOscillatorSpecifier(OscillatorRec* Osc);
-
- /* set the oscillator type */
- void OscillatorSetTheType(OscillatorRec* Osc,
- OscillatorTypes WhatKindOfOscillator);
-
- /* find out what kind of oscillator this is */
- OscillatorTypes OscillatorGetWhatKindItIs(OscillatorRec* Osc);
-
- /* get the pitch interval --> sample mapping */
- struct SampleSelectorRec* OscillatorGetSampleIntervalList(OscillatorRec* Osc);
-
- /* get the output loudness of the oscillator */
- OscillatorNumType OscillatorGetOutputLoudness(OscillatorRec* Osc);
-
- /* put a new output loudness in for the oscillator */
- void PutOscillatorNewOutputLoudness(OscillatorRec* Osc,
- double NewOutputLevel);
-
- /* get the frequency multiplier factor */
- OscillatorNumType OscillatorGetFrequencyMultiplier(OscillatorRec* Osc);
-
- /* get the frequency divisor integer */
- long OscillatorGetFrequencyDivisor(OscillatorRec* Osc);
-
- /* get the frequency adder thing */
- OscillatorNumType OscillatorGetFrequencyAdder(OscillatorRec* Osc);
-
- /* change the frequency adjust factors */
- void PutOscillatorNewFrequencyFactors(OscillatorRec* Osc,
- double NewMultipler, long NewDivisor);
-
- /* put a new frequency adder value */
- void PutOscillatorFrequencyAdder(OscillatorRec* Osc,
- double NewAdder);
-
- /* get the loudness envelope for the oscillator */
- struct EnvelopeRec* OscillatorGetLoudnessEnvelope(OscillatorRec* Osc);
-
- /* get the list of LFO oscillators modulating the loudness envelope output */
- struct LFOListSpecRec* OscillatorGetLoudnessLFOList(OscillatorRec* Osc);
-
- /* get the excitation envelope for the oscillator */
- struct EnvelopeRec* OscillatorGetExcitationEnvelope(OscillatorRec* Osc);
-
- /* get the list of LFO oscillators modulating the excitation envelope output */
- struct LFOListSpecRec* OscillatorGetExcitationLFOList(OscillatorRec* Osc);
-
- /* get the stereo bias factor */
- OscillatorNumType OscillatorGetStereoBias(OscillatorRec* Osc);
-
- /* put a new value for the stereo bias factor */
- void OscillatorPutStereoBias(OscillatorRec* Osc,
- OscillatorNumType NewStereoBias);
-
- /* get the surround bias factor */
- OscillatorNumType OscillatorGetSurroundBias(OscillatorRec* Osc);
-
- /* put a new value for the surround bias factor */
- void OscillatorPutSurroundBias(OscillatorRec* Osc,
- OscillatorNumType NewSurroundBias);
-
- /* get the time displacement factor */
- OscillatorNumType OscillatorGetTimeDisplacement(OscillatorRec* Osc);
-
- /* put a new value for the time displacement factor */
- void OscillatorPutTimeDisplacement(OscillatorRec* Osc,
- OscillatorNumType NewTimeDisplacement);
-
- /* get the oscillator's frequency LFO list */
- struct LFOListSpecRec* GetOscillatorFrequencyLFOList(OscillatorRec* Osc);
-
- /* get the effect list for the oscillator */
- struct EffectSpecListRec* GetOscillatorEffectList(OscillatorRec* Osc);
-
- #endif
-