32 virtual void noteOn( StkFloat frequency, StkFloat amplitude ) = 0;
35 virtual void noteOff( StkFloat amplitude ) = 0;
58 StkFloat
lastOut(
unsigned int channel = 0 );
64 virtual StkFloat
tick(
unsigned int channel = 0 ) = 0;
82inline void Instrmnt :: setFrequency( StkFloat frequency )
84 oStream_ <<
"Instrmnt::setFrequency: virtual setFrequency function call!";
85 handleError( StkError::WARNING );
88inline StkFloat Instrmnt :: lastOut(
unsigned int channel )
90#if defined(_STK_DEBUG_)
91 if ( channel >= lastFrame_.channels() ) {
92 oStream_ <<
"Instrmnt::lastOut(): channel argument is invalid!";
93 handleError( StkError::FUNCTION_ARGUMENT );
97 return lastFrame_[channel];
100inline void Instrmnt :: controlChange(
int number, StkFloat value )
102 oStream_ <<
"Instrmnt::controlChange: virtual function call!";
103 handleError( StkError::WARNING );
STK instrument abstract base class.
Definition Instrmnt.h:20
virtual void noteOn(StkFloat frequency, StkFloat amplitude)=0
Start a note with the given frequency and amplitude.
virtual void noteOff(StkFloat amplitude)=0
Stop a note with the given amplitude (speed of decay).
virtual void setFrequency(StkFloat frequency)
Set instrument parameters for a particular frequency.
Definition Instrmnt.h:82
virtual void controlChange(int number, StkFloat value)
Perform the control change specified by number and value (0.0 - 128.0).
Definition Instrmnt.h:100
virtual void clear(void)
Reset and clear all internal state (for subclasses).
Definition Instrmnt.h:29
unsigned int channelsOut(void) const
Return the number of output channels for the class.
Definition Instrmnt.h:44
Instrmnt(void)
Class constructor.
Definition Instrmnt.h:23
const StkFrames & lastFrame(void) const
Return an StkFrames reference to the last output sample frame.
Definition Instrmnt.h:47
StkFloat lastOut(unsigned int channel=0)
Return the specified channel value of the last computed frame.
Definition Instrmnt.h:88
virtual StkFloat tick(unsigned int channel=0)=0
Compute one sample frame and return the specified channel value.
virtual StkFrames & tick(StkFrames &frames, unsigned int channel=0)=0
Fill the StkFrames object with computed sample frames, starting at the specified channel.
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
virtual void resize(size_t nFrames, unsigned int nChannels=1)
Resize self to represent the specified number of channels and frames.
STK base class.
Definition Stk.h:136
The STK namespace.
Definition ADSR.h:6