|
void | killAllVoices () override |
| Immediately ends all active voices.
|
|
bool | isDrum () override |
|
void | noteOn (ModelStackWithThreeMainThings *modelStack, uint8_t velocity, int16_t const *mpeValues, int32_t fromMIDIChannel=MIDI_CHANNEL_NONE, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0) override |
|
void | noteOff (ModelStackWithThreeMainThings *modelStack, int32_t velocity=kDefaultLiftValue) override |
|
void | setupPatchingForAllParamManagers (Song *song) override |
|
bool | readTagFromFile (Deserializer &reader, char const *tagName) override |
|
Error | loadAllSamples (bool mayActuallyReadFiles) override |
|
void | writeToFile (Serializer &writer, bool savingSong, ParamManager *paramManager) override |
|
void | writeToFileAsInstrument (bool savingSong, ParamManager *paramManager) |
|
void | getName (char *buffer) override |
|
Error | readFromFile (Deserializer &reader, Song *song, Clip *clip, int32_t readAutomationUpToPos) override |
|
void | choke (ModelStackWithSoundFlags *modelStack) override |
|
void | setSkippingRendering (bool newSkipping) override |
|
uint8_t * | getModKnobMode () override |
|
void | drumWontBeRenderedForAWhile () override |
|
ModControllable * | toModControllable () override |
|
void | expressionEvent (int32_t newValue, int32_t expressionDimension) override |
|
void | polyphonicExpressionEventOnChannelOrNote (int32_t newValue, int32_t expressionDimension, int32_t channelOrNoteNumber, MIDICharacteristic whichCharacteristic) override |
|
ArpeggiatorBase * | getArp () override |
|
ArpeggiatorSettings * | getArpSettings (InstrumentClip *clip=nullptr) override |
|
void | resetTimeEnteredState () |
|
bool | allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false) override |
|
bool | anyNoteIsOn () override |
|
bool | hasActiveVoices () const override |
| Does this sound have any active voices?
|
|
void | prepareForHibernation () override |
|
ModFXType | getModFXType () override |
|
bool | setModFXType (ModFXType newType) final |
|
void | patchedParamPresetValueChanged (uint8_t p, ModelStackWithSoundFlags *modelStack, int32_t oldValue, int32_t newValue) |
|
void | render (ModelStackWithThreeMainThings *modelStack, std::span< StereoSample > output, int32_t *reverbBuffer, int32_t sideChainHitPending, int32_t reverbAmountAdjust=134217728, bool shouldLimitDelayFeedback=false, int32_t pitchAdjust=kMaxSampleValue, SampleRecorder *recorder=nullptr) |
|
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song) final |
|
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (ModelStackWithThreeMainThings *modelStack) |
|
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails (ParamManager *paramManager) |
|
void | ensureParamPresetValueWithoutKnobIsZero (ModelStackWithAutoParam *modelStack) |
|
void | ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails (ParamManager *paramManager, int32_t p) |
|
PatchCableAcceptance | maySourcePatchToParam (PatchSource s, uint8_t p, ParamManager *paramManager) |
|
void | resyncGlobalLFOs () |
|
int8_t | getKnobPos (uint8_t p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter) |
|
int32_t | getKnobPosBig (int32_t p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter) |
|
bool | learnKnob (MIDICable *cable, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song) final |
|
bool | hasFilters () |
|
void | sampleZoneChanged (MarkerType markerType, int32_t s, ModelStackWithSoundFlags *modelStack) |
|
void | setNumUnison (int32_t newNum, ModelStackWithSoundFlags *modelStack) |
|
void | setUnisonDetune (int32_t newAmount, ModelStackWithSoundFlags *modelStack) |
|
void | setUnisonStereoSpread (int32_t newAmount) |
|
void | setModulatorTranspose (int32_t m, int32_t value, ModelStackWithSoundFlags *modelStack) |
|
void | setModulatorCents (int32_t m, int32_t value, ModelStackWithSoundFlags *modelStack) |
|
Error | readFromFile (Deserializer &reader, ModelStackWithModControllable *modelStack, int32_t readAutomationUpToPos, ArpeggiatorSettings *arpSettings) |
|
void | writeToFile (Serializer &writer, bool savingSong, ParamManager *paramManager, ArpeggiatorSettings *arpSettings, const char *pathAttribute=NULL) |
|
void | voiceUnassigned (ModelStackWithSoundFlags *modelStack) |
|
bool | isSourceActiveCurrently (int32_t s, ParamManagerForTimeline *paramManager) |
|
bool | isSourceActiveEverDisregardingMissingSample (int32_t s, ParamManager *paramManager) |
|
bool | isSourceActiveEver (int32_t s, ParamManager *paramManager) |
|
bool | isNoiseActiveEver (ParamManagerForTimeline *paramManager) |
|
void | noteOn (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator, int32_t noteCode, int16_t const *mpeValues, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0, int32_t velocity=64, int32_t fromMIDIChannel=16) |
|
void | noteOff (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator, int32_t noteCode) |
|
void | allNotesOff (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator) |
|
void | noteOffPostArpeggiator (ModelStackWithSoundFlags *modelStack, int32_t noteCode=-32768) |
|
void | noteOnPostArpeggiator (ModelStackWithSoundFlags *modelStack, int32_t newNoteCodeBeforeArpeggiation, int32_t newNoteCodeAfterArpeggiation, int32_t velocity, int16_t const *mpeValues, uint32_t sampleSyncLength, int32_t ticksLate, uint32_t samplesLate, int32_t fromMIDIChannel=16) |
|
int16_t | getMaxOscTranspose (InstrumentClip *clip) |
|
int16_t | getMinOscTranspose () |
|
void | setSynthMode (SynthMode value, Song *song) |
|
SynthMode | getSynthMode () const |
|
void | setupAsSample (ParamManagerForTimeline *paramManager) |
|
void | recalculateAllVoicePhaseIncrements (ModelStackWithSoundFlags *modelStack) |
|
Error | loadAllAudioFiles (bool mayActuallyReadFiles) |
|
bool | envelopeHasSustainCurrently (int32_t e, ParamManagerForTimeline *paramManager) |
|
bool | envelopeHasSustainEver (int32_t e, ParamManagerForTimeline *paramManager) |
|
bool | renderingOscillatorSyncCurrently (ParamManagerForTimeline *paramManager) |
|
bool | renderingOscillatorSyncEver (ParamManager *paramManager) |
|
void | setupAsBlankSynth (ParamManager *paramManager, bool is_dx=false) |
|
void | setupAsDefaultSynth (ParamManager *paramManager) |
|
void | modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager) final |
|
bool | modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack) final |
|
int32_t | hasAnyTimeStretchSyncing (ParamManagerForTimeline *paramManager, bool getSampleLength=false, int32_t note=0) |
|
int32_t | hasCutOrLoopModeSamples (ParamManagerForTimeline *paramManager, int32_t note, bool *anyLooping=nullptr) |
|
bool | hasCutModeSamples (ParamManagerForTimeline *paramManager) |
|
bool | allowsVeryLateNoteStart (InstrumentClip *clip, ParamManagerForTimeline *paramManager) |
|
void | fastReleaseAllVoices (ModelStackWithSoundFlags *modelStack) |
|
void | recalculatePatchingToParam (uint8_t p, ParamManagerForTimeline *paramManager) |
|
void | doneReadingFromFile () |
|
void | compensateVolumeForResonance (ModelStackWithThreeMainThings *modelStack) |
|
ModelStackWithAutoParam * | getParamFromModEncoder (int32_t whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true) final |
|
void | reassessRenderSkippingStatus (ModelStackWithSoundFlags *modelStack, bool shouldJustCutModFX=false) |
|
void | getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound, ParamManagerForTimeline *paramManager) |
|
void | detachSourcesFromAudioFiles () |
|
int32_t | getSmoothedPatchedParamValue (int32_t p, ParamManager ¶mManager) const |
|
void | notifyValueChangeViaLPF (int32_t p, bool shouldDoParamLPF, ModelStackWithThreeMainThings const *modelStack, int32_t oldValue, int32_t newValue, bool fromAutomation) |
|
void | deleteMultiRange (int32_t s, int32_t r) |
|
void | wontBeRenderedForAWhile () override |
|
ModelStackWithAutoParam * | getParamFromMIDIKnob (MIDIKnob &knob, ModelStackWithThreeMainThings *modelStack) final |
| Check that autoParam isn't NULL, after calling this.
|
|
void | possiblySetupDefaultExpressionPatching (ParamManager *paramManager) |
|
void | saturate (int32_t *data, uint32_t *workingValue) |
|
uint32_t | getSyncedLFOPhaseIncrement (const LFOConfig &config) |
|
size_t | numActiveVoices () const |
| Get the number of active voices.
|
|
const ActiveVoice & | getLowestPriorityVoice () const |
| Get the voice with the lowest priority.
|
|
const deluge::fast_vector< ActiveVoice > & | voices () const |
| Get the voices for this sound.
|
|
void | freeActiveVoice (const ActiveVoice &voice, ModelStackWithSoundFlags *modelStack=nullptr, bool erase=true) |
| Releases a given voice from the Sound.
|
|
virtual void | cloneFrom (ModControllableAudio *other) |
|
void | processStutter (std::span< StereoSample > buffer, ParamManager *paramManager) |
|
void | processReverbSendAndVolume (std::span< StereoSample > buffer, int32_t *reverbBuffer, int32_t postFXVolume, int32_t postReverbVolume, int32_t reverbSendAmount, int32_t pan=0, bool doAmplitudeIncrement=false) |
|
void | writeAttributesToFile (Serializer &writer) |
|
void | writeTagsToFile (Serializer &writer) |
|
virtual Error | readTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos, ArpeggiatorSettings *arpSettings, Song *song) |
|
void | processSRRAndBitcrushing (std::span< StereoSample > buffer, int32_t *postFXVolume, ParamManager *paramManager) |
|
void | beginStutter (ParamManagerForTimeline *paramManager) |
|
void | endStutter (ParamManagerForTimeline *paramManager) |
|
bool | offerReceivedCCToLearnedParamsForClip (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack, int32_t noteRowIndex=-1) |
|
bool | offerReceivedCCToLearnedParamsForSong (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithThreeMainThings *modelStackWithThreeMainThings) |
|
bool | offerReceivedPitchBendToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack, int32_t noteRowIndex=-1) |
|
bool | unlearnKnobs (ParamDescriptor paramDescriptor, Song *song) |
|
bool | isBitcrushingEnabled (ParamManager *paramManager) |
|
bool | isSRREnabled (ParamManager *paramManager) |
|
bool | hasBassAdjusted (ParamManager *paramManager) |
|
bool | hasTrebleAdjusted (ParamManager *paramManager) |
|
virtual bool | isKit () |
|
virtual bool | isSong () |
|
virtual bool | isEditingComp () |
|
virtual bool | valueChangedEnoughToMatter (int32_t old_value, int32_t new_value, deluge::modulation::params::Kind kind, uint32_t paramID) |
|
virtual int32_t | getKnobPosForNonExistentParam (int32_t whichModEncoder, ModelStackWithAutoParam *modelStack) |
|
virtual ActionResult | modEncoderActionForNonExistentParam (int32_t offset, int32_t whichModEncoder, ModelStackWithAutoParam *modelStack) |
|
virtual void | monophonicExpressionEvent (int32_t newValue, int32_t expressionDimension) |
|
| Drum (DrumType newType) |
|
virtual void | prepareDrumToHaveNoActiveClip () |
|
void | writeMIDICommandsToFile (Serializer &writer) |
|
bool | readDrumTagFromFile (Deserializer &reader, char const *tagName) |
|
void | recordNoteOnEarly (int32_t velocity, bool noteTailsAllowed) |
|
void | expressionEventPossiblyToRecord (ModelStackWithTimelineCounter *modelStack, int16_t newValue, int32_t expressionDimension, int32_t level) |
|
void | getCombinedExpressionInputs (int16_t *combined) |
|
|
String | name |
|
String | path |
|
bool | nameIsDiscardable = false |
|
Patcher | patcher |
|
ParamLPF | paramLPF {} |
|
Source | sources [kNumSources] |
|
std::array< int32_t, deluge::modulation::params::kNumParams - deluge::modulation::params::FIRST_GLOBAL > | paramFinalValues {} |
|
std::array< int32_t, util::to_underlying(kFirstLocalSource)> | globalSourceValues {} |
|
uint32_t | sourcesChanged {} |
|
LFO | globalLFO1 |
|
LFO | globalLFO3 |
|
LFOConfig | lfoConfig [LFO_COUNT] |
|
bool | invertReversed {} |
|
ModKnob | modKnobs [kNumModButtons][kNumPhysicalModKnobs] |
|
int32_t | sideChainSendLevel = 0 |
|
PolyphonyMode | polyphonic = PolyphonyMode::POLY |
|
uint8_t | maxVoiceCount = 8 |
|
int16_t | transpose = 0 |
|
uint8_t | numUnison = 1 |
|
int8_t | unisonDetune = 8 |
|
uint8_t | unisonStereoSpread = 0 |
|
uint8_t | outputMidiChannel = MIDI_CHANNEL_NONE |
|
uint8_t | outputMidiNoteForDrum = MIDI_NOTE_NONE |
|
int16_t | modulatorTranspose [kNumModulators] = {0, -12} |
|
int8_t | modulatorCents [kNumModulators] = {0, 0} |
|
PhaseIncrementFineTuner | modulatorTransposers [kNumModulators] |
|
PhaseIncrementFineTuner | unisonDetuners [kMaxNumVoicesUnison] |
|
int32_t | unisonPan [kMaxNumVoicesUnison] {} |
|
SynthMode | synthMode = SynthMode::SUBTRACTIVE |
|
bool | modulator1ToModulator0 = false |
|
int32_t | volumeNeutralValueForUnison {0} |
|
int32_t | lastNoteCode = std::numeric_limits<int32_t>::min() |
|
bool | oscillatorSync = false |
|
VoicePriority | voicePriority = VoicePriority::MEDIUM |
|
bool | skippingRendering = true |
|
std::bitset< kNumExpressionDimensions > | expressionSourcesChangedAtSynthLevel {0} |
|
std::array< int32_t, kNumExpressionDimensions > | monophonicExpressionValues {} |
|
std::array< uint32_t, kNumSources > | oscRetriggerPhase {} |
|
std::array< uint32_t, kNumModulators > | modulatorRetriggerPhase {} |
|
uint32_t | timeStartedSkippingRenderingModFX {0} |
|
uint32_t | timeStartedSkippingRenderingLFO {0} |
|
uint32_t | timeStartedSkippingRenderingArp {0} |
|
uint32_t | startSkippingRenderingAtTime = 0 |
|
int32_t | bassFreq {} |
|
int32_t | trebleFreq {} |
|
int32_t | withoutTrebleL |
|
int32_t | bassOnlyL |
|
int32_t | withoutTrebleR |
|
int32_t | bassOnlyR |
|
Delay | delay |
|
StutterConfig | stutterConfig |
|
bool | sampleRateReductionOnLastTime |
|
uint8_t | clippingAmount |
|
FilterMode | lpfMode |
|
FilterMode | hpfMode |
|
FilterRoute | filterRoute |
|
ModFXType | modFXType_ |
|
ModFXProcessor | modfx {} |
|
RMSFeedbackCompressor | compressor |
|
GranularProcessor * | grainFX {nullptr} |
|
uint32_t | lowSampleRatePos {} |
|
uint32_t | highSampleRatePos {} |
|
StereoSample | lastSample |
|
StereoSample | grabbedSample |
|
StereoSample | lastGrabbedSample |
|
SideChain | sidechain |
|
deluge::fast_vector< MIDIKnob > | midi_knobs |
|
int32_t | postReverbVolumeLastTime {} |
|
Kit * | kit |
|
const DrumType | type |
|
bool | noteRowAssignedTemp |
|
uint8_t | earlyNoteVelocity |
|
bool | earlyNoteStillActive |
|
bool | auditioned |
|
uint8_t | lastMIDIChannelAuditioned |
|
int8_t | lastExpressionInputsReceived [2][kNumExpressionDimensions] |
|
Drum * | next |
|
LearnedMIDI | midiInput |
|
LearnedMIDI | muteMIDICommand |
|
ArpeggiatorForDrum | arpeggiator |
|
ArpeggiatorSettings | arpSettings |
|
|
using | ActiveVoice = AudioEngine::VoicePool::pointer_type |
|
static void | writeParamsToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation) |
|
static void | readParamsFromFile (Deserializer &reader, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
|
static bool | readParamTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
|
static void | initParams (ParamManager *paramManager) |
|
static Error | createParamManagerForLoading (ParamManagerForTimeline *paramManager) |
|
static void | writeParamAttributesToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr) |
|
static void | writeParamTagsToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr) |
|
static bool | readParamTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
|
static void | initParams (ParamManager *paramManager) |
|
void | processFX (std::span< StereoSample > buffer, ModFXType modFXType, int32_t modFXRate, int32_t modFXDepth, const Delay::State &delayWorkingState, int32_t *postFXVolume, ParamManager *paramManager, bool anySoundComingIn, q31_t reverbSendAmount) |
|
void | switchDelayPingPong () |
|
void | switchDelayAnalog () |
|
void | switchDelaySyncType () |
|
void | switchDelaySyncLevel () |
|
void | switchLPFMode () |
|
void | switchHPFMode () |
|
void | clearModFXMemory () |
|
char const * | getFilterTypeDisplayName (FilterType currentFilterType) |
|
char const * | getFilterModeDisplayName (FilterType currentFilterType) |
|
char const * | getLPFModeDisplayName () |
|
char const * | getHPFModeDisplayName () |
|
char const * | getDelayTypeDisplayName () |
|
char const * | getDelayPingPongStatusDisplayName () |
|
char const * | getDelaySyncTypeDisplayName () |
|
void | getDelaySyncLevelDisplayName (char *displayName) |
|
char const * | getSidechainDisplayName () |
|
void | displayFilterSettings (bool on, FilterType currentFilterType) |
|
void | displayDelaySettings (bool on) |
|
void | displaySidechainAndReverbSettings (bool on) |
|
void | displayOtherModKnobSettings (uint8_t whichModButton, bool on) |
| displays names of parameters assigned to gold knobs
|
|
bool | enableGrain () |
|
void | disableGrain () |
|
deluge::modulation::params::Kind | unpatchedParamKind_ |
|
deluge::modulation::params::Kind | unpatchedParamKind_ |
|