![]() |
Deluge Firmware 1.3.0
Build date: 2026.08.16
|

Public Member Functions | |
| Voice (Sound &sound) | |
| uint32_t | getLocalLFOPhaseIncrement (LFO_ID lfoId, deluge::modulation::params::Local param) |
| void | setAsUnassigned (ModelStackWithSoundFlags *modelStack, bool deletingSong=false) |
| bool | render (ModelStackWithSoundFlags *modelStack, int32_t *soundBuffer, int32_t numSamples, bool soundRenderingInStereo, bool applyingPanAtVoiceLevel, uint32_t sourcesChanged, bool doLPF, bool doHPF, int32_t externalPitchAdjust) |
| void | calculatePhaseIncrements (ModelStackWithSoundFlags *modelStack) |
| bool | sampleZoneChanged (ModelStackWithSoundFlags *modelStack, int32_t s, MarkerType markerType) |
| bool | noteOn (ModelStackWithSoundFlags *modelStack, int32_t newNoteCodeBeforeArpeggiation, int32_t newNoteCodeAfterArpeggiation, uint8_t velocity, uint32_t newSampleSyncLength, int32_t ticksLate, uint32_t samplesLate, bool resetEnvelopes, int32_t fromMIDIChannel, const int16_t *mpeValues) |
| void | noteOff (ModelStackWithSoundFlags *modelStack, bool allowReleaseStage=true) |
| void | randomizeOscPhases (const Sound &sound) |
| void | changeNoteCode (ModelStackWithSoundFlags *modelStack, int32_t newNoteCodeBeforeArpeggiation, int32_t newNoteCodeAfterArpeggiation, int32_t newInputMIDIChannel, const int16_t *newMPEValues) |
| bool | hasReleaseStage () |
| void | unassignStuff (bool deletingSong) |
| uint32_t | getPriorityRating () const |
| void | expressionEventImmediate (const Sound &sound, int32_t voiceLevelValue, int32_t s) |
| void | expressionEventSmooth (int32_t newValue, int32_t s) |
| bool | doFastRelease (uint32_t releaseIncrement) |
| bool | doImmediateRelease () |
| bool | isCullFading () const |
| bool | speedUpRelease (uint32_t minFastReleaseIncrement=SOFT_CULL_INCREMENT) |
| bool | shouldBeDeleted () |
| std::strong_ordering | operator<=> (const Voice &other) const |
Public Attributes | |
| Patcher | patcher |
| std::array< VoiceUnisonPart, kMaxNumVoicesUnison > | unisonParts |
| std::array< VoiceSamplePlaybackGuide, kNumSources > | guides |
| Sound & | sound |
| std::array< int32_t, deluge::modulation::params::LOCAL_LAST > | paramFinalValues |
| std::array< int32_t, kNumPatchSources > | sourceValues |
| std::bitset< kNumExpressionDimensions > | expressionSourcesCurrentlySmoothing |
| std::bitset< kNumExpressionDimensions > | expressionSourcesFinalValueChanged |
| std::array< int32_t, kNumExpressionDimensions > | localExpressionSourceValuesBeforeSmoothing |
| std::array< Envelope, kNumEnvelopes > | envelopes |
| LFO | lfo2 |
| LFO | lfo4 |
| dsp::filter::FilterSet | filterSet |
| std::array< int32_t, 2 > | inputCharacteristics |
| int32_t | noteCodeAfterArpeggiation |
| uint32_t | portaEnvelopePos |
| int32_t | portaEnvelopeMaxAmplitude |
| std::array< uint32_t, 2 > | lastSaturationTanHWorkingValue |
| int32_t | overallOscAmplitudeLastTime |
| std::array< int32_t, kNumSources > | sourceAmplitudesLastTime |
| std::array< int32_t, kNumModulators > | modulatorAmplitudeLastTime |
| std::array< uint32_t, kNumSources > | sourceWaveIndexesLastTime |
| int32_t | filterGainLastTime |
| bool | doneFirstRender |
| bool | previouslyIgnoredNoteOff |
| uint32_t | orderSounded |
| int32_t | overrideAmplitudeEnvelopeReleaseRate |
| bool | justCreated {false} |
Private Member Functions | |
| void | renderBasicSource (Sound &sound, ParamManagerForTimeline *paramManager, int32_t s, int32_t *oscBuffer, int32_t numSamples, bool stereoBuffer, int32_t sourceAmplitude, bool *unisonPartBecameInactive, int32_t overallPitchAdjust, bool doOscSync, uint32_t *oscSyncPos, uint32_t *oscSyncPhaseIncrements, int32_t amplitudeIncrement, uint32_t *getPhaseIncrements, bool getOutAfterPhaseIncrements, int32_t waveIndexIncrement) |
| void | renderSineWaveWithFeedback (int32_t *thisSample, int32_t numSamples, uint32_t *phase, int32_t amplitude, uint32_t phaseIncrement, int32_t feedbackAmount, int32_t *lastFeedbackValue, bool add, int32_t amplitudeIncrement) |
| void | renderFMWithFeedback (int32_t *thisSample, int32_t numSamples, int32_t *fmBuffer, uint32_t *phase, int32_t amplitude, uint32_t phaseIncrement, int32_t feedbackAmount, int32_t *lastFeedbackValue, int32_t amplitudeIncrement) |
| void | renderFMWithFeedbackAdd (int32_t *thisSample, int32_t numSamples, int32_t *fmBuffer, uint32_t *phase, int32_t amplitude, uint32_t phaseIncrement, int32_t feedbackAmount, int32_t *lastFeedbackValue, int32_t amplitudeIncrement) |
| bool | areAllUnisonPartsInactive (ModelStackWithSoundFlags &modelStack) const |
| void | setupPorta (const Sound &sound) |
| int32_t | combineExpressionValues (const Sound &sound, int32_t expressionDimension) const |
Static Private Member Functions | |
| static bool | adjustPitch (uint32_t &phaseIncrement, int32_t adjustment) |
Private Attributes | |
| bool | delete_this_voice_ {false} |
| bool Voice::doFastRelease | ( | uint32_t | releaseIncrement | ) |
Release immediately with provided release rate Returns whether voice should still be left active
| bool Voice::doImmediateRelease | ( | ) |
Sets envelope to off (will interpolate through this render window). Returns whether voice should still be left active
|
inlinenodiscard |
Already fading at (or faster than) the soft-cull rate. Cull victim selection and the voice limit must treat such a voice as already gone, or it soaks up culls meant for live voices (issue #4721).
| std::array<int32_t, deluge::modulation::params::LOCAL_LAST> Voice::paramFinalValues |
This is just for the local params, specific to this Voice only