|
Amuse
|
#include <Voice.hpp>


Public Member Functions | |
| Voice (Engine &engine, const AudioGroup &group, int groupId, int vid, bool emitter, Submix *smx) | |
| Voice (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid, int vid, bool emitter, Submix *smx) | |
| size_t | supplyAudio (size_t frames, int16_t *data) |
| Submix * | getSubmix () |
| VoiceState | state () const |
| int | vid () const |
| int | maxVid () const |
| std::shared_ptr< Voice > | startChildMacro (int8_t addNote, ObjectId macroId, int macroStep) |
| bool | loadSoundObject (ObjectId objectId, int macroStep, double ticksPerSec, uint8_t midiKey, uint8_t midiVel, uint8_t midiMod, bool pushPc=false) |
| void | keyOff () |
| void | message (int32_t val) |
| void | startSample (int16_t sampId, int32_t offset) |
| void | stopSample () |
| void | setVolume (float vol) |
| void | setPan (float pan) |
| void | setSurroundPan (float span) |
| void | startEnvelope (double dur, float vol, const Curve *envCurve) |
| void | startFadeIn (double dur, float vol, const Curve *envCurve) |
| void | startPanning (double dur, uint8_t panPos, uint8_t panWidth) |
| void | startSpanning (double dur, uint8_t spanPos, uint8_t spanWidth) |
| void | setPitchKey (int32_t cents) |
| void | setPedal (bool pedal) |
| void | setDoppler (float doppler) |
| void | setVibrato (int32_t level, int32_t modLevel, float period) |
| void | setMod2VibratoRange (int32_t modLevel) |
| void | setTremolo (float tremoloScale, float tremoloModScale) |
| void | setLFO1Period (float period) |
| void | setLFO2Period (float period) |
| void | setPitchSweep1 (uint8_t times, int16_t add) |
| void | setPitchSweep2 (uint8_t times, int16_t add) |
| void | setReverbVol (float rvol) |
| void | setAdsr (ObjectId adsrId, bool dls) |
| void | setPitchFrequency (uint32_t hz, uint16_t fine) |
| void | setPitchAdsr (ObjectId adsrId, int32_t cents) |
| void | setPitchWheel (float pitchWheel) |
| void | setPitchWheelRange (int8_t up, int8_t down) |
| void | setAftertouch (uint8_t aftertouch) |
| void | setKeygroup (uint8_t kg) |
| uint8_t | getLastNote () const |
| void | notifyCtrlChange (uint8_t ctrl, int8_t val) |
| int8_t | getCtrlValue (uint8_t ctrl) const |
| void | setCtrlValue (uint8_t ctrl, int8_t val) |
| int8_t | getModWheel () const |
| void | installCtrlValues (int8_t *cvs) |
| int8_t | getPitchWheel () const |
| int8_t | getAftertouch () const |
| size_t | getTotalVoices () const |
Public Member Functions inherited from amuse::Entity | |
| Entity (Engine &engine, const AudioGroup &group, int groupId, ObjectId oid=ObjectId()) | |
| Engine & | getEngine () |
| const AudioGroup & | getAudioGroup () const |
| int | getGroupId () const |
| ObjectId | getObjectId () const |
Friends | |
| class | Engine |
| class | Sequencer |
| class | SoundMacroState |
Additional Inherited Members | |
Protected Member Functions inherited from amuse::Entity | |
| void | _destroy () |
Protected Attributes inherited from amuse::Entity | |
| bool | m_destroyed = false |
| Engine & | m_engine |
| const AudioGroup & | m_audioGroup |
| int | m_groupId |
| ObjectId | m_objectId = 0xffff |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| size_t amuse::Voice::getTotalVoices | ( | ) | const |
Get count of all voices in hierarchy, including this one
|
inline |
| void amuse::Voice::keyOff | ( | ) |
Signals voice to begin fade-out (or defer if sustained), eventually reaching silence
| bool amuse::Voice::loadSoundObject | ( | ObjectId | objectId, |
| int | macroStep, | ||
| double | ticksPerSec, | ||
| uint8_t | midiKey, | ||
| uint8_t | midiVel, | ||
| uint8_t | midiMod, | ||
| bool | pushPc = false |
||
| ) |
Load specified Sound Object from within group into voice
| int amuse::Voice::maxVid | ( | ) | const |
Get max VoiceId of this voice and any contained children
| void amuse::Voice::message | ( | int32_t | val | ) |
Sends numeric message to voice and all siblings
| void amuse::Voice::setAdsr | ( | ObjectId | adsrId, |
| bool | dls | ||
| ) |
Set envelope for voice
| void amuse::Voice::setAftertouch | ( | uint8_t | aftertouch | ) |
Set aftertouch
|
inline |
| void amuse::Voice::setDoppler | ( | float | doppler | ) |
Set doppler factor for voice
|
inline |
|
inline |
|
inline |
| void amuse::Voice::setMod2VibratoRange | ( | int32_t | modLevel | ) |
Configure modwheel influence range over vibrato
| void amuse::Voice::setPan | ( | float | pan | ) |
Set current voice panning immediately
| void amuse::Voice::setPedal | ( | bool | pedal | ) |
Set sustain status within voice; clearing will trigger a deferred keyoff
| void amuse::Voice::setPitchAdsr | ( | ObjectId | adsrId, |
| int32_t | cents | ||
| ) |
Set pitch envelope
| void amuse::Voice::setPitchFrequency | ( | uint32_t | hz, |
| uint16_t | fine | ||
| ) |
Set pitch in absolute hertz
| void amuse::Voice::setPitchKey | ( | int32_t | cents | ) |
Set voice relative-pitch in cents
| void amuse::Voice::setPitchSweep1 | ( | uint8_t | times, |
| int16_t | add | ||
| ) |
Setup pitch sweep controller 1
| void amuse::Voice::setPitchSweep2 | ( | uint8_t | times, |
| int16_t | add | ||
| ) |
Setup pitch sweep controller 2
| void amuse::Voice::setPitchWheel | ( | float | pitchWheel | ) |
Set pitchwheel value for use with controller
| void amuse::Voice::setPitchWheelRange | ( | int8_t | up, |
| int8_t | down | ||
| ) |
Set effective pitch range via the pitchwheel controller
| void amuse::Voice::setReverbVol | ( | float | rvol | ) |
Set reverb mix for voice
| void amuse::Voice::setSurroundPan | ( | float | span | ) |
Set current voice surround-panning immediately
| void amuse::Voice::setTremolo | ( | float | tremoloScale, |
| float | tremoloModScale | ||
| ) |
Setup tremolo parameters for voice
| void amuse::Voice::setVibrato | ( | int32_t | level, |
| int32_t | modLevel, | ||
| float | period | ||
| ) |
Set vibrato parameters for voice
| void amuse::Voice::setVolume | ( | float | vol | ) |
Set current voice volume immediately
| std::shared_ptr<Voice> amuse::Voice::startChildMacro | ( | int8_t | addNote, |
| ObjectId | macroId, | ||
| int | macroStep | ||
| ) |
Allocate parallel macro and tie to voice for possible emitter influence
| void amuse::Voice::startEnvelope | ( | double | dur, |
| float | vol, | ||
| const Curve * | envCurve | ||
| ) |
Start volume envelope to specified level
| void amuse::Voice::startFadeIn | ( | double | dur, |
| float | vol, | ||
| const Curve * | envCurve | ||
| ) |
Start volume envelope from zero to current level
| void amuse::Voice::startPanning | ( | double | dur, |
| uint8_t | panPos, | ||
| uint8_t | panWidth | ||
| ) |
Start pan envelope to specified position
| void amuse::Voice::startSample | ( | int16_t | sampId, |
| int32_t | offset | ||
| ) |
Start playing specified sample from within group, optionally by sample offset
| void amuse::Voice::startSpanning | ( | double | dur, |
| uint8_t | spanPos, | ||
| uint8_t | spanWidth | ||
| ) |
Start span envelope to specified position
|
inline |
| void amuse::Voice::stopSample | ( | ) |
Stop playing current sample
| size_t amuse::Voice::supplyAudio | ( | size_t | frames, |
| int16_t * | data | ||
| ) |
Request specified count of audio frames (samples) from voice, internally advancing the voice stream
|
inline |