57 void noteOn( StkFloat frequency, StkFloat amplitude );
66 StkFloat
tick(
unsigned int channel = 0 );
90 StkFloat baseFrequency_;
92 StkFloat fippleFreqMod_;
93 StkFloat fippleGainMod_;
94 StkFloat blowFreqMod_;
97 int subSample_, subSampCount_;
102 unsigned int nChannels = lastFrame_.
channels();
103#if defined(_STK_DEBUG_)
104 if ( channel > frames.
channels() - nChannels ) {
105 oStream_ <<
"Whistle::tick(): channel and StkFrames arguments are incompatible!";
106 handleError( StkError::FUNCTION_ARGUMENT );
110 StkFloat *samples = &frames[channel];
111 unsigned int j, hop = frames.
channels() - nChannels;
112 if ( nChannels == 1 ) {
113 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop )
117 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop ) {
119 for ( j=1; j<nChannels; j++ )
120 *samples++ = lastFrame_[j];
STK linear line envelope class.
Definition Envelope.h:23
STK instrument abstract base class.
Definition Instrmnt.h:20
STK noise generator.
Definition Noise.h:22
STK one-pole filter class.
Definition OnePole.h:21
STK sinusoid oscillator class.
Definition SineWave.h:26
STK sphere class.
Definition Sphere.h:21
An STK class to handle vectorized audio data.
Definition Stk.h:279
unsigned int channels(void) const
Return the number of channels represented by the data.
Definition Stk.h:416
unsigned int frames(void) const
Return the number of sample frames represented by the data.
Definition Stk.h:419
STK 3D vector class.
Definition Vector3D.h:20
STK police/referee whistle instrument class.
Definition Whistle.h:33
StkFloat tick(unsigned int channel=0)
Compute and return one output sample.
void noteOff(StkFloat amplitude)
Stop a note with the given amplitude (speed of decay).
void stopBlowing(StkFloat rate)
Decrease breath velocity with given rate of decrease.
void setFrequency(StkFloat frequency)
Set instrument parameters for a particular frequency.
void controlChange(int number, StkFloat value)
Perform the control change specified by number and value (0.0 - 128.0).
void clear(void)
Reset and clear all internal state.
~Whistle(void)
Class destructor.
void noteOn(StkFloat frequency, StkFloat amplitude)
Start a note with the given frequency and amplitude.
void startBlowing(StkFloat amplitude, StkFloat rate)
Apply breath velocity to instrument with given amplitude and rate of increase.
Whistle(void)
Class constructor.
The STK namespace.
Definition ADSR.h:6