|
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_ |