|
LMMS
|
#include <synth.h>
Public Member Functions | |
| virtual void | setup (int sr) |
| virtual void | trim_voices () |
| virtual dsp::voice * | give_voice () |
| virtual void | steal_voice () |
| virtual void | render_to (float(*output)[2], int nsamples) |
| virtual void | note_on (int note, int vel) |
| virtual void | percussion_note_on (int note, int vel) |
| virtual void | control_change (int ctl, int val) |
| virtual void | note_off (int note, int vel) |
| virtual void | pitch_bend (int amt) |
| amt = -8192 to 8191 | |
| virtual void | on_pedal_release () |
| virtual bool | check_percussion () |
| virtual | ~basic_synth () |
Protected Types | |
| typedef basic_pool< dsp::voice * > | voice_array |
Protected Member Functions | |
| void | init_voices (int count) |
| void | kill_note (int note, int vel, bool just_one) |
| virtual dsp::voice * | alloc_voice ()=0 |
Protected Attributes | |
| int | sample_rate |
| Current sample rate. | |
| bool | hold |
| Hold pedal state. | |
| bool | sostenuto |
| Sostenuto pedal state. | |
| voice_array | allocated_voices |
| All voices available. | |
| voice_array | active_voices |
| Voices currently playing. | |
| voice_array | unused_voices |
| Voices allocated, but not used. | |
| std::bitset< 128 > | gate |
| Gate values for all 128 MIDI notes. | |
| unsigned int | polyphony_limit |
| Maximum allocated number of channels. | |
Base class for all kinds of polyphonic instruments, provides somewhat reasonable voice management, pedal support - and little else. It's implemented as a base class with virtual functions, so there's some performance loss, but it shouldn't be horrible.
|
protected |
|
virtual |
|
protectedpure virtual |
Implemented in calf_plugins::wavetable_audio_module, and dsp::drawbar_organ.
|
inlinevirtual |
Reimplemented in dsp::drawbar_organ.
Reimplemented in calf_plugins::wavetable_audio_module, and dsp::drawbar_organ.
|
virtual |
Reimplemented in calf_plugins::wavetable_audio_module.
Reimplemented in calf_plugins::wavetable_audio_module.
|
virtual |
Reimplemented in dsp::drawbar_organ.
amt = -8192 to 8191
Reimplemented in calf_plugins::wavetable_audio_module, and dsp::drawbar_organ.
Reimplemented in dsp::drawbar_organ.
|
virtual |
|
virtual |
|
protected |
Voices currently playing.
|
protected |
All voices available.
|
protected |
Gate values for all 128 MIDI notes.
|
protected |
Hold pedal state.
|
protected |
Maximum allocated number of channels.
|
protected |
Current sample rate.
|
protected |
Sostenuto pedal state.
|
protected |
Voices allocated, but not used.