OpenWareLaboratory
|
Public Member Functions | |
void | allNotesOff () |
void | allNotesOn () |
virtual void | channelPressure (MidiMessage msg) |
void | controlChange (MidiMessage msg) |
float | getPitchBendRange () |
bool | getSustain () |
float | getTuning () |
SynthVoice * | getVoice (size_t index) |
virtual void | modulate (MidiMessage msg) |
virtual void | noteOff (MidiMessage msg) |
virtual void | noteOn (MidiMessage msg) |
virtual void | pitchbend (MidiMessage msg) |
virtual void | polyKeyPressure (MidiMessage msg) |
virtual void | process (MidiMessage msg) |
void | rpn (uint16_t id, uint8_t msb, uint8_t lsb, MidiMessage msg) |
void | setDynamicRange (float range) |
Set the MIDI velocity dynamic range in dB, default 72dB. More... | |
void | setModulationDepthRange (float range) |
Set modulation depth range, from 0 to 1.0. More... | |
void | setParameter (uint8_t parameter_id, float value) |
void | setPitchBendRange (float range) |
Set pitch bend range in semitones. More... | |
void | setSustain (bool value) |
void | setTuning (float frequency) |
void | setVoice (size_t index, SynthVoice *obj) |
void | sustain (MidiMessage msg) |
virtual void | sustainOff () |
Static Protected Member Functions | |
static float | frequencyToNote (float freq) |
static float | noteToFrequency (float note) |
Protected Attributes | |
bool | dosustain = false |
float | mod_range = 0.5/127.0f |
float | pb_range = 2/8192.0f |
uint16_t | rpn_id = 0 |
uint8_t | rpn_msb = 0 |
uint8_t | tuning_semitones = 69 |
SynthVoice * | voice [VOICES] |
Definition at line 5 of file VoiceAllocator.h.
|
inline |
Definition at line 53 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange().
|
inline |
Definition at line 58 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >, and AbstractSynth.
Definition at line 20 of file MidiProcessor.h.
Referenced by MidiProcessor::process().
|
inlinevirtual |
Reimplemented from MidiProcessor.
Definition at line 116 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::allNotesOff(), MidiMessage::getControllerNumber(), MidiMessage::getControllerValue(), MIDI_ALL_NOTES_OFF, MIDI_CC_DATAENTRY_LSB, MIDI_CC_DATAENTRY_MSB, MIDI_CC_MODULATION, MIDI_CC_RPN_LSB, MIDI_CC_RPN_MSB, MIDI_CC_SUSTAIN, MIDI_RPN_RESET, MidiProcessor::modulate(), VoiceAllocator< SynthVoice, VOICES >::rpn(), VoiceAllocator< SynthVoice, VOICES >::rpn_id, VoiceAllocator< SynthVoice, VOICES >::rpn_msb, and VoiceAllocator< SynthVoice, VOICES >::sustain().
Referenced by MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::controlChange().
|
inlinestaticprotected |
Definition at line 17 of file VoiceAllocator.h.
|
inline |
Definition at line 21 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
Referenced by MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::pitchbend().
|
inline |
Definition at line 78 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::dosustain.
|
inline |
Definition at line 46 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inline |
Definition at line 66 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MonophonicProcessor< SynthVoice >, and AbstractSynth.
Definition at line 17 of file MidiProcessor.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange().
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MonophonicProcessor< SynthVoice >, MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >, and AbstractSynth.
Definition at line 15 of file MidiProcessor.h.
Referenced by MidiProcessor::process().
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MonophonicProcessor< SynthVoice >, MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >, and AbstractSynth.
Definition at line 14 of file MidiProcessor.h.
Referenced by MidiProcessor::process().
|
inlinestaticprotected |
Definition at line 14 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::rpn().
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MonophonicProcessor< SynthVoice >, MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >, and AbstractSynth.
Definition at line 18 of file MidiProcessor.h.
Referenced by MidiProcessor::process().
|
inlinevirtualinherited |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >, and AbstractSynth.
Definition at line 21 of file MidiProcessor.h.
Referenced by MidiProcessor::process().
|
inlinevirtualinherited |
Definition at line 22 of file MidiProcessor.h.
References MidiProcessor::channelPressure(), MidiProcessor::controlChange(), MidiMessage::isChannelPressure(), MidiMessage::isControlChange(), MidiMessage::isNoteOff(), MidiMessage::isNoteOn(), MidiMessage::isPitchBend(), MidiMessage::isPolyKeyPressure(), MidiProcessor::noteOff(), MidiProcessor::noteOn(), MidiProcessor::pitchbend(), and MidiProcessor::polyKeyPressure().
|
inline |
Definition at line 87 of file VoiceAllocator.h.
References MIDI_RPN_COARSE_TUNING, MIDI_RPN_FINE_TUNING, MIDI_RPN_MODULATION_DEPTH_RANGE, MIDI_RPN_PITCH_BEND_RANGE, VoiceAllocator< SynthVoice, VOICES >::noteToFrequency(), VoiceAllocator< SynthVoice, VOICES >::setModulationDepthRange(), VoiceAllocator< SynthVoice, VOICES >::setPitchBendRange(), VoiceAllocator< SynthVoice, VOICES >::setTuning(), and VoiceAllocator< SynthVoice, VOICES >::tuning_semitones.
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange(), and MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::rpn().
|
inline |
Set the MIDI velocity dynamic range in dB, default 72dB.
Definition at line 42 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inline |
Set modulation depth range, from 0 to 1.0.
Definition at line 35 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
Referenced by VoiceAllocator< SynthVoice, VOICES >::rpn().
|
inline |
Definition at line 71 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inline |
Set pitch bend range in semitones.
Does not update the frequency; effective from next pitch bend change
Definition at line 28 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
Referenced by MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::rpn(), and VoiceAllocator< SynthVoice, VOICES >::rpn().
|
inline |
Definition at line 81 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::dosustain, and VoiceAllocator< SynthVoice, VOICES >::sustainOff().
Referenced by VoiceAllocator< SynthVoice, VOICES >::sustain().
|
inline |
Definition at line 49 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
Referenced by VoiceAllocator< SynthVoice, VOICES >::rpn().
|
inline |
Definition at line 62 of file VoiceAllocator.h.
References VoiceAllocator< SynthVoice, VOICES >::voice.
|
inlinevirtual |
Reimplemented from MidiProcessor.
Definition at line 75 of file VoiceAllocator.h.
References MidiMessage::getControllerValue(), and VoiceAllocator< SynthVoice, VOICES >::setSustain().
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange().
|
inlinevirtual |
Reimplemented in PolyphonicProcessor< SynthVoice, VOICES >, MonophonicProcessor< SynthVoice >, and MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >.
Definition at line 86 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::setSustain().
|
protected |
|
protected |
Definition at line 9 of file VoiceAllocator.h.
Referenced by MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::controlChange().
|
protected |
Definition at line 8 of file VoiceAllocator.h.
|
protected |
Definition at line 11 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange().
|
protected |
Definition at line 12 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::controlChange().
|
protected |
Definition at line 13 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::rpn().
|
protected |
Definition at line 7 of file VoiceAllocator.h.
Referenced by VoiceAllocator< SynthVoice, VOICES >::allNotesOff(), VoiceAllocator< SynthVoice, VOICES >::allNotesOn(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::channelPressure(), PolyphonicProcessor< SynthVoice, VOICES >::channelPressure(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::controlChange(), VoiceAllocator< SynthVoice, VOICES >::getPitchBendRange(), VoiceAllocator< SynthVoice, VOICES >::getTuning(), VoiceAllocator< SynthVoice, VOICES >::getVoice(), PolyphonicProcessor< SynthVoice, VOICES >::modulate(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::pitchbend(), PolyphonicProcessor< SynthVoice, VOICES >::pitchbend(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::polyKeyPressure(), PolyphonicProcessor< SynthVoice, VOICES >::polyKeyPressure(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::release(), PolyphonicProcessor< SynthVoice, VOICES >::release(), VoiceAllocator< SynthVoice, VOICES >::setDynamicRange(), VoiceAllocator< SynthVoice, VOICES >::setModulationDepthRange(), VoiceAllocator< SynthVoice, VOICES >::setParameter(), VoiceAllocator< SynthVoice, VOICES >::setPitchBendRange(), VoiceAllocator< SynthVoice, VOICES >::setTuning(), VoiceAllocator< SynthVoice, VOICES >::setVoice(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::sustainOff(), PolyphonicProcessor< SynthVoice, VOICES >::sustainOff(), MidiPolyphonicExpressionProcessor< SynthVoice, VOICES >::take(), and PolyphonicProcessor< SynthVoice, VOICES >::take().