Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
SoundInstrument Class Referencefinal

#include <soundinstrument.h>

Inheritance diagram for SoundInstrument:
Inheritance graph
Collaboration diagram for SoundInstrument:
Collaboration graph

Public Member Functions

 SoundInstrument ()
 
bool writeDataToFile (Clip *clipForSavingOutputOnly, Song *song)
 
int readFromFile (Song *song, Clip *clip, int32_t readAutomationUpToPos)
 
void cutAllSound ()
 
bool noteIsOn (int noteCode)
 
void renderOutput (ModelStack *modelStack, StereoSample *startPos, StereoSample *endPos, int numSamples, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive)
 
void offerReceivedCCToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack)
 
bool offerReceivedPitchBendToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack)
 
int loadAllAudioFiles (bool mayActuallyReadFiles)
 
void resyncLFOs ()
 
ModControllabletoModControllable ()
 
bool setActiveClip (ModelStackWithTimelineCounter *modelStack, int maySendMIDIPGMs)
 
void setupPatchingForAllParamManagers (Song *song)
 
char const * getFilePrefix ()
 
void setupPatching (ModelStackWithTimelineCounter *modelStack)
 
void deleteBackedUpParamManagers (Song *song)
 
void polyphonicExpressionEventOnChannelOrNote (int newValue, int whichExpressionDimension, int channelOrNoteNumber, int whichCharacteristic)
 
void monophonicExpressionEvent (int newValue, int whichExpressionDimension)
 
void sendNote (ModelStackWithThreeMainThings *modelStack, bool isOn, int noteCode, int16_t const *mpeValues, int fromMIDIChannel, uint8_t velocity, uint32_t sampleSyncLength, int32_t ticksLate, uint32_t samplesLate)
 
ArpeggiatorSettingsgetArpSettings (InstrumentClip *clip=NULL)
 
bool readTagFromFile (char const *tagName)
 
void prepareForHibernationOrDeletion ()
 
void compensateInstrumentVolumeForResonance (ModelStackWithThreeMainThings *modelStack)
 
bool isSkippingRendering ()
 
void loadCrucialAudioFilesOnly ()
 
void beenEdited (bool shouldMoveToEmptySlot=true)
 
int32_t doTickForwardForArp (ModelStack *modelStack, int32_t currentPos)
 
void setupWithoutActiveClip (ModelStack *modelStack)
 
void getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
 
uint8_t * getModKnobMode ()
 
ArpeggiatorBasegetArp ()
 
char const * getXMLTag ()
 
- Public Member Functions inherited from Sound
 Sound ()
 
virtual ArpeggiatorSettingsgetArpSettings (InstrumentClip *clip=NULL)=0
 
virtual void setSkippingRendering (bool newSkipping)
 
bool setModFXType (int newType) final
 
void patchedParamPresetValueChanged (uint8_t p, ModelStackWithSoundFlags *modelStack, int32_t oldValue, int32_t newValue)
 
void render (ModelStackWithThreeMainThings *modelStack, StereoSample *outputBuffer, int numSamples, int32_t *reverbBuffer, int32_t sideChainHitPending, int32_t reverbAmountAdjust=134217728, bool shouldLimitDelayFeedback=false, int32_t pitchAdjust=16777216)
 
void unassignAllVoices ()
 
void ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song) final
 
void ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (ModelStackWithThreeMainThings *modelStack)
 
void ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails (ParamManager *paramManager)
 
void ensureParamPresetValueWithoutKnobIsZero (ModelStackWithAutoParam *modelStack)
 
void ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails (ParamManager *paramManager, int p)
 
uint8_t maySourcePatchToParam (uint8_t s, uint8_t p, ParamManager *paramManager)
 
void setLFOGlobalSyncLevel (uint8_t newLevel)
 
void resyncGlobalLFO ()
 
void setLFOGlobalWave (uint8_t newWave)
 
int8_t getKnobPos (uint8_t p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter)
 
int32_t getKnobPosBig (int p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter)
 
bool learnKnob (MIDIDevice *fromDevice, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song) final
 
bool hasFilters ()
 
void sampleZoneChanged (int markerType, int s, ModelStackWithSoundFlags *modelStack)
 
void setNumUnison (int newNum, ModelStackWithSoundFlags *modelStack)
 
void setUnisonDetune (int newAmount, ModelStackWithSoundFlags *modelStack)
 
void setModulatorTranspose (int m, int value, ModelStackWithSoundFlags *modelStack)
 
void setModulatorCents (int m, int value, ModelStackWithSoundFlags *modelStack)
 
int readFromFile (ModelStackWithModControllable *modelStack, int32_t readAutomationUpToPos, ArpeggiatorSettings *arpSettings)
 
void writeToFile (bool savingSong, ParamManager *paramManager, ArpeggiatorSettings *arpSettings)
 
bool allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false)
 
void voiceUnassigned (ModelStackWithVoice *modelStack)
 
bool isSourceActiveCurrently (int s, ParamManagerForTimeline *paramManager)
 
bool isSourceActiveEverDisregardingMissingSample (int s, ParamManager *paramManager)
 
bool isSourceActiveEver (int s, ParamManager *paramManager)
 
bool isNoiseActiveEver (ParamManagerForTimeline *paramManager)
 
void noteOn (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator, int noteCode, int16_t const *mpeValues, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0, int velocity=64, int fromMIDIChannel=16)
 
void allNotesOff (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator)
 
void noteOffPostArpeggiator (ModelStackWithSoundFlags *modelStack, int noteCode=-32768)
 
void noteOnPostArpeggiator (ModelStackWithSoundFlags *modelStack, int newNoteCodeBeforeArpeggiation, int newNoteCodeAfterArpeggiation, int velocity, int16_t const *mpeValues, uint32_t sampleSyncLength, int32_t ticksLate, uint32_t samplesLate, int fromMIDIChannel=16)
 
int16_t getMaxOscTranspose (InstrumentClip *clip)
 
int16_t getMinOscTranspose ()
 
void setSynthMode (uint8_t value, Song *song)
 
uint8_t getSynthMode ()
 
bool anyNoteIsOn ()
 
virtual bool isDrum ()
 
void setupAsSample (ParamManagerForTimeline *paramManager)
 
void recalculateAllVoicePhaseIncrements (ModelStackWithSoundFlags *modelStack)
 
int loadAllAudioFiles (bool mayActuallyReadFiles)
 
bool envelopeHasSustainCurrently (int e, ParamManagerForTimeline *paramManager)
 
bool envelopeHasSustainEver (int e, ParamManagerForTimeline *paramManager)
 
bool renderingOscillatorSyncCurrently (ParamManagerForTimeline *paramManager)
 
bool renderingOscillatorSyncEver (ParamManager *paramManager)
 
bool hasAnyVoices ()
 
void setupAsBlankSynth (ParamManager *paramManager)
 
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, int note=0)
 
int32_t hasCutOrLoopModeSamples (ParamManagerForTimeline *paramManager, int note, bool *anyLooping=NULL)
 
bool hasCutModeSamples (ParamManagerForTimeline *paramManager)
 
bool allowsVeryLateNoteStart (InstrumentClip *clip, ParamManagerForTimeline *paramManager)
 
void fastReleaseAllVoices (ModelStackWithSoundFlags *modelStack)
 
void recalculatePatchingToParam (uint8_t p, ParamManagerForTimeline *paramManager)
 
void doneReadingFromFile ()
 
virtual void setupPatchingForAllParamManagers (Song *song)
 
void compensateVolumeForResonance (ModelStackWithThreeMainThings *modelStack)
 
ModelStackWithAutoParamgetParamFromModEncoder (int 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)
 
virtual bool readTagFromFile (char const *tagName)=0
 
void detachSourcesFromAudioFiles ()
 
void confirmNumVoices (char const *error)
 
int32_t getSmoothedPatchedParamValue (int p, ParamManager *paramManager)
 
void notifyValueChangeViaLPF (int p, bool shouldDoParamLPF, ModelStackWithThreeMainThings const *modelStack, int32_t oldValue, int32_t newValue, bool fromAutomation)
 
void deleteMultiRange (int s, int r)
 
void prepareForHibernation ()
 
void wontBeRenderedForAWhile ()
 
char const * paramToString (uint8_t param) final
 
int stringToParam (char const *string) final
 
ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack) final
 
virtual ArpeggiatorBasegetArp ()=0
 
void possiblySetupDefaultExpressionPatching (ParamManager *paramManager)
 
void saturate (int32_t *data, uint32_t *workingValue)
 
- Public Member Functions inherited from ModControllableAudio
 ModControllableAudio ()
 
virtual ~ModControllableAudio ()
 
virtual void cloneFrom (ModControllableAudio *other)
 
void processStutter (StereoSample *buffer, int numSamples, ParamManager *paramManager)
 
void processReverbSendAndVolume (StereoSample *buffer, int numSamples, int32_t *reverbBuffer, int32_t postFXVolume, int32_t postReverbVolume, int32_t reverbSendAmount, int32_t pan=0, bool doAmplitudeIncrement=false, int32_t amplitudeIncrement=0)
 
void writeAttributesToFile ()
 
void writeTagsToFile ()
 
int readTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos, Song *song)
 
void processSRRAndBitcrushing (StereoSample *buffer, int numSamples, int32_t *postFXVolume, ParamManager *paramManager)
 
void wontBeRenderedForAWhile ()
 
void endStutter (ParamManagerForTimeline *paramManager)
 
virtual bool setModFXType (int newType)
 
bool offerReceivedCCToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack, int noteRowIndex=-1)
 
bool offerReceivedPitchBendToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack, int noteRowIndex=-1)
 
virtual bool learnKnob (MIDIDevice *fromDevice, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song)
 
bool unlearnKnobs (ParamDescriptor paramDescriptor, Song *song)
 
virtual void ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song)
 
virtual char const * paramToString (uint8_t param)
 
virtual int stringToParam (char const *string)
 
bool isBitcrushingEnabled (ParamManager *paramManager)
 
bool isSRREnabled (ParamManager *paramManager)
 
bool hasBassAdjusted (ParamManager *paramManager)
 
bool hasTrebleAdjusted (ParamManager *paramManager)
 
ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack)
 
int buttonAction (int x, int y, bool on, ModelStackWithThreeMainThings *modelStack)
 
ModelStackWithAutoParamgetParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation)
 
- Public Member Functions inherited from ModControllable
 ModControllable ()
 
virtual bool modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack)
 
virtual void modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager)
 
virtual ModelStackWithAutoParamgetParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true)
 
virtual ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack)
 
virtual uint8_t * getModKnobMode ()
 
virtual bool isKit ()
 
virtual int getKnobPosForNonExistentParam (int whichModEncoder, ModelStackWithAutoParam *modelStack)
 
virtual int modEncoderActionForNonExistentParam (int offset, int whichModEncoder, ModelStackWithAutoParam *modelStack)
 
virtual bool allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false)
 
virtual void polyphonicExpressionEventOnChannelOrNote (int newValue, int whichExpressionDimension, int channelOrNoteNumber, int whichCharacteristic)
 
virtual void monophonicExpressionEvent (int newValue, int whichExpressionDimension)
 
- Public Member Functions inherited from MelodicInstrument
 MelodicInstrument (int newType)
 
virtual void sendNote (ModelStackWithThreeMainThings *modelStack, bool isOn, int noteCode, int16_t const *mpeValues, int fromMIDIChannel=MIDI_CHANNEL_NONE, uint8_t velocity=64, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0)=0
 
virtual void ccReceivedFromInputMIDIChannel (int cc, int value, ModelStackWithTimelineCounter *modelStack)
 
bool writeMelodicInstrumentAttributesToFile (Clip *clipForSavingOutputOnly, Song *song)
 
void writeMelodicInstrumentTagsToFile (Clip *clipForSavingOutputOnly, Song *song)
 
bool readTagFromFile (char const *tagName)
 
void offerReceivedNote (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, bool on, int channel, int note, int velocity, bool shouldRecordNotes, bool *doingMidiThru)
 
void offerReceivedPitchBend (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru)
 
void offerReceivedCC (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru)
 
void offerReceivedAftertouch (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, int channel, int value, int noteCode, bool *doingMidiThru)
 
bool setActiveClip (ModelStackWithTimelineCounter *modelStack, int maySendMIDIPGMs)
 
bool isNoteRowStillAuditioningAsLinearRecordingEnded (NoteRow *noteRow) final
 
void stopAnyAuditioning (ModelStack *modelStack) final
 
bool isNoteAuditioning (int noteCode)
 
bool isAnyAuditioningHappening () final
 
void beginAuditioningForNote (ModelStack *modelStack, int note, int velocity, int16_t const *mpeValues, int fromMIDIChannel=MIDI_CHANNEL_NONE, uint32_t sampleSyncLength=0)
 
void endAuditioningForNote (ModelStack *modelStack, int note, int velocity=DEFAULT_LIFT_VALUE)
 
virtual ModelStackWithAutoParamgetParamToControlFromInputMIDIChannel (int cc, ModelStackWithThreeMainThings *modelStack)
 
void processParamFromInputMIDIChannel (int cc, int32_t newValue, ModelStackWithTimelineCounter *modelStack)
 
void polyphonicExpressionEventPossiblyToRecord (ModelStackWithTimelineCounter *modelStack, int32_t newValue, int whichExpressionDimension, int channelOrNoteNumber, int whichCharacteristic)
 
ArpeggiatorSettingsgetArpSettings (InstrumentClip *clip=NULL)
 
virtual void polyphonicExpressionEventOnChannelOrNote (int newValue, int whichExpressionDimension, int channelOrNoteNumber, int whichCharacteristic)=0
 
void offerBendRangeUpdate (ModelStack *modelStack, MIDIDevice *device, int channelOrZone, int whichBendRange, int bendSemitones)
 
- Public Member Functions inherited from Instrument
 Instrument (int newType)
 
virtual char const * getFilePrefix ()
 
virtual bool doAnySoundsUseCC (uint8_t channel, uint8_t ccNumber, uint8_t value)
 
virtual void beenEdited (bool shouldMoveToEmptySlot=true)
 
virtual void setupPatching (ModelStackWithTimelineCounter *modelStack)
 
void deleteAnyInstancesOfClip (InstrumentClip *clip)
 
bool writeDataToFile (Clip *clipForSavingOutputOnly, Song *song)
 
bool readTagFromFile (char const *tagName)
 
virtual void compensateInstrumentVolumeForResonance (ModelStackWithThreeMainThings *modelStack)
 
virtual bool isNoteRowStillAuditioningAsLinearRecordingEnded (NoteRow *noteRow)=0
 
char const * getNameXMLTag ()
 
virtual char const * getSlotXMLTag ()
 
virtual char const * getSubSlotXMLTag ()
 
virtual bool isAnyAuditioningHappening ()=0
 
- Public Member Functions inherited from Output
 Output (int newType)
 
virtual ~Output ()
 
virtual void renderOutput (ModelStack *modelStack, StereoSample *startPos, StereoSample *endPos, int numSamples, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive)=0
 
virtual void setupWithoutActiveClip (ModelStack *modelStack)
 
virtual bool setActiveClip (ModelStackWithTimelineCounter *modelStack, int maySendMIDIPGMs=PGM_CHANGE_SEND_ONCE)
 
void pickAnActiveClipForArrangementPos (ModelStack *modelStack, int arrangementPos, int maySendMIDIPGMs)
 
void pickAnActiveClipIfPossible (ModelStack *modelStack, bool searchSessionClipsIfNeeded=true, int maySendMIDIPGMs=PGM_CHANGE_SEND_ONCE, bool setupWithoutActiveClipIfNeeded=true)
 
void detachActiveClip (Song *currentSong)
 
virtual ModControllabletoModControllable ()
 
virtual bool isSkippingRendering ()
 
bool clipHasInstance (Clip *clip)
 
void clipLengthChanged (Clip *clip, int32_t oldLength)
 
virtual void cutAllSound ()
 
virtual void getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
 
virtual bool offerReceivedPitchBendToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack)
 
virtual void offerReceivedCCToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack)
 
virtual int32_t doTickForwardForArp (ModelStack *modelStack, int32_t currentPos)
 
void endAnyArrangementRecording (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
 
virtual bool wantsToBeginArrangementRecording ()
 
virtual int readFromFile (Song *song, Clip *clip, int32_t readAutomationUpToPos)
 
virtual bool readTagFromFile (char const *tagName)
 
void writeToFile (Clip *clipForSavingOutputOnly, Song *song)
 
virtual bool writeDataToFile (Clip *clipForSavingOutputOnly, Song *song)
 
virtual int loadAllAudioFiles (bool mayActuallyReadFiles)
 
virtual void loadCrucialAudioFilesOnly ()
 
virtual void resyncLFOs ()
 
virtual void sendMIDIPGM ()
 
virtual void deleteBackedUpParamManagers (Song *song)
 
virtual void prepareForHibernationOrDeletion ()
 
virtual char const * getXMLTag ()=0
 
virtual ParamManagergetParamManager (Song *song)
 
virtual char const * getNameXMLTag ()
 
virtual void offerReceivedNote (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, bool on, int channel, int note, int velocity, bool shouldRecordNotes, bool *doingMidiThru)
 
virtual void offerReceivedPitchBend (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru)
 
virtual void offerReceivedCC (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru)
 
virtual void offerReceivedAftertouch (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, int channel, int value, int noteCode, bool *doingMidiThru)
 
virtual void stopAnyAuditioning (ModelStack *modelStack)
 
virtual void offerBendRangeUpdate (ModelStack *modelStack, MIDIDevice *device, int channelOrZone, int whichBendRange, int bendSemitones)
 
int possiblyBeginArrangementRecording (Song *song, int newPos)
 
void endArrangementPlayback (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
 

Public Attributes

ArpeggiatorSettings defaultArpSettings
 
- Public Attributes inherited from Sound
Patcher patcher
 
ParamLPF paramLPF
 
Source sources [NUM_SOURCES]
 
int32_t paramFinalValues [NUM_PARAMS - FIRST_GLOBAL_PARAM]
 
int32_t globalSourceValues [FIRST_LOCAL_SOURCE]
 
uint32_t sourcesChanged
 
LFO globalLFO
 
uint8_t lfoGlobalWaveType
 
uint8_t lfoLocalWaveType
 
uint8_t lfoGlobalSyncLevel
 
ModKnob modKnobs [NUM_MOD_BUTTONS][NUM_PHYSICAL_MOD_KNOBS]
 
int32_t sideChainSendLevel
 
uint8_t polyphonic
 
int16_t transpose
 
uint8_t numUnison
 
int8_t unisonDetune
 
int16_t modulatorTranspose [numModulators]
 
int8_t modulatorCents [numModulators]
 
PhaseIncrementFineTuner modulatorTransposers [numModulators]
 
PhaseIncrementFineTuner unisonDetuners [maxNumUnison]
 
uint8_t synthMode
 
bool modulator1ToModulator0
 
int32_t volumeNeutralValueForUnison
 
int lastNoteCode
 
bool oscillatorSync
 
uint8_t voicePriority
 
bool skippingRendering
 
uint8_t whichExpressionSourcesChangedAtSynthLevel
 
int32_t monophonicExpressionValues [NUM_EXPRESSION_DIMENSIONS]
 
uint32_t oscRetriggerPhase [NUM_SOURCES]
 
uint32_t modulatorRetriggerPhase [numModulators]
 
int32_t postReverbVolumeLastTime
 
uint32_t numSamplesSkippedRenderingForGlobalLFO
 
uint32_t timeStartedSkippingRenderingModFX
 
uint32_t timeStartedSkippingRenderingLFO
 
uint32_t timeStartedSkippingRenderingArp
 
uint32_t startSkippingRenderingAtTime
 
int numVoicesAssigned
 
- Public Attributes inherited from ModControllableAudio
StereoSample phaserMemory
 
StereoSample allpassMemory [PHASER_NUM_ALLPASS_FILTERS]
 
int32_t bassFreq
 
int32_t trebleFreq
 
int32_t withoutTrebleL
 
int32_t bassOnlyL
 
int32_t withoutTrebleR
 
int32_t bassOnlyR
 
Delay delay
 
bool sampleRateReductionOnLastTime
 
uint8_t clippingAmount
 
uint8_t lpfMode
 
uint8_t modFXType
 
StereoSamplemodFXBuffer
 
uint16_t modFXBufferWriteIndex
 
LFO modFXLFO
 
Stutterer stutterer
 
uint32_t lowSampleRatePos
 
uint32_t highSampleRatePos
 
StereoSample lastSample
 
StereoSample grabbedSample
 
StereoSample lastGrabbedSample
 
Compressor compressor
 
MidiKnobArray midiKnobArray
 
- Public Attributes inherited from MelodicInstrument
Arpeggiator arpeggiator
 
EarlyNoteArray earlyNotes
 
EarlyNoteArray notesAuditioned
 
LearnedMIDI midiInput
 
- Public Attributes inherited from Instrument
String dirPath
 
bool editedByUser
 
bool existsOnCard
 
uint8_t defaultVelocity
 
- Public Attributes inherited from Output
ClipInstanceVector clipInstances
 
ClipactiveClip
 
String name
 
Outputnext
 
const uint8_t type
 
bool mutedInArrangementMode
 
bool soloingInArrangementMode
 
bool inValidState
 
bool wasCreatedForAutoOverdub
 
bool armedForRecording
 
uint8_t modKnobMode
 
bool alreadyGotItsNewClip
 
bool isGettingSoloingClip
 
bool nextClipFoundShouldGetArmed
 
bool recordingInArrangement
 

Additional Inherited Members

- Static Public Member Functions inherited from Sound
static void writeParamsToFile (ParamManager *paramManager, bool writeAutomation)
 
static void readParamsFromFile (ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
 
static bool readParamTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
 
static void initParams (ParamManager *paramManager)
 
static int createParamManagerForLoading (ParamManagerForTimeline *paramManager)
 
- Static Public Member Functions inherited from ModControllableAudio
static void writeParamAttributesToFile (ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=NULL)
 
static void writeParamTagsToFile (ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=NULL)
 
static bool readParamTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
 
static void initParams (ParamManager *paramManager)
 
- Protected Member Functions inherited from ModControllableAudio
void processFX (StereoSample *buffer, int numSamples, int modFXType, int32_t modFXRate, int32_t modFXDepth, DelayWorkingState *delayWorkingState, int32_t *postFXVolume, ParamManager *paramManager, int analogDelaySaturationAmount)
 
int32_t getStutterRate (ParamManager *paramManager)
 
void beginStutter (ParamManagerForTimeline *paramManager)
 
void switchDelayPingPong ()
 
void switchDelayAnalog ()
 
void switchLPFMode ()
 
void clearModFXMemory ()
 
- Protected Member Functions inherited from Instrument
ClipcreateNewClipForArrangementRecording (ModelStack *modelStack) final
 
int setupDefaultAudioFileDir ()
 
virtual ClipcreateNewClipForArrangementRecording (ModelStack *modelStack)=0
 

Constructor & Destructor Documentation

◆ SoundInstrument()

SoundInstrument::SoundInstrument ( )

Member Function Documentation

◆ beenEdited()

void SoundInstrument::beenEdited ( bool  shouldMoveToEmptySlot = true)
virtual

Reimplemented from Instrument.

◆ compensateInstrumentVolumeForResonance()

void SoundInstrument::compensateInstrumentVolumeForResonance ( ModelStackWithThreeMainThings modelStack)
virtual

Reimplemented from Instrument.

◆ cutAllSound()

void SoundInstrument::cutAllSound ( )
virtual

Reimplemented from Output.

◆ deleteBackedUpParamManagers()

void SoundInstrument::deleteBackedUpParamManagers ( Song song)
virtual

Reimplemented from Output.

◆ doTickForwardForArp()

int32_t SoundInstrument::doTickForwardForArp ( ModelStack modelStack,
int32_t  currentPos 
)
virtual

Reimplemented from Output.

◆ getArp()

ArpeggiatorBase * SoundInstrument::getArp ( )
virtual

Implements Sound.

◆ getArpSettings()

ArpeggiatorSettings * SoundInstrument::getArpSettings ( InstrumentClip clip = NULL)
virtual

Implements Sound.

◆ getFilePrefix()

char const * SoundInstrument::getFilePrefix ( )
inlinevirtual

Reimplemented from Instrument.

◆ getModKnobMode()

uint8_t * SoundInstrument::getModKnobMode ( )
inlinevirtual

Reimplemented from ModControllable.

◆ getThingWithMostReverb()

void SoundInstrument::getThingWithMostReverb ( Sound **  soundWithMostReverb,
ParamManager **  paramManagerWithMostReverb,
GlobalEffectableForClip **  globalEffectableWithMostReverb,
int32_t *  highestReverbAmountFound 
)
virtual

Reimplemented from Output.

◆ getXMLTag()

char const * SoundInstrument::getXMLTag ( )
inlinevirtual

Implements Output.

◆ isSkippingRendering()

bool SoundInstrument::isSkippingRendering ( )
inlinevirtual

Reimplemented from Output.

◆ loadAllAudioFiles()

int SoundInstrument::loadAllAudioFiles ( bool  mayActuallyReadFiles)
virtual

Reimplemented from Output.

◆ loadCrucialAudioFilesOnly()

void SoundInstrument::loadCrucialAudioFilesOnly ( )
virtual

Reimplemented from Output.

◆ monophonicExpressionEvent()

void SoundInstrument::monophonicExpressionEvent ( int  newValue,
int  whichExpressionDimension 
)
virtual

Reimplemented from ModControllable.

◆ noteIsOn()

bool SoundInstrument::noteIsOn ( int  noteCode)

◆ offerReceivedCCToLearnedParams()

void SoundInstrument::offerReceivedCCToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  ccNumber,
uint8_t  value,
ModelStackWithTimelineCounter modelStack 
)
inlinevirtual

Reimplemented from Output.

◆ offerReceivedPitchBendToLearnedParams()

bool SoundInstrument::offerReceivedPitchBendToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  data1,
uint8_t  data2,
ModelStackWithTimelineCounter modelStack 
)
inlinevirtual

Reimplemented from Output.

◆ polyphonicExpressionEventOnChannelOrNote()

void SoundInstrument::polyphonicExpressionEventOnChannelOrNote ( int  newValue,
int  whichExpressionDimension,
int  channelOrNoteNumber,
int  whichCharacteristic 
)
virtual

Implements MelodicInstrument.

◆ prepareForHibernationOrDeletion()

void SoundInstrument::prepareForHibernationOrDeletion ( )
virtual

Reimplemented from Output.

◆ readFromFile()

int SoundInstrument::readFromFile ( Song song,
Clip clip,
int32_t  readAutomationUpToPos 
)
virtual

Reimplemented from Output.

◆ readTagFromFile()

bool SoundInstrument::readTagFromFile ( char const *  tagName)
virtual

Reimplemented from MelodicInstrument.

◆ renderOutput()

void SoundInstrument::renderOutput ( ModelStack modelStack,
StereoSample startPos,
StereoSample endPos,
int  numSamples,
int32_t *  reverbBuffer,
int32_t  reverbAmountAdjust,
int32_t  sideChainHitPending,
bool  shouldLimitDelayFeedback,
bool  isClipActive 
)
virtual

Implements Output.

◆ resyncLFOs()

void SoundInstrument::resyncLFOs ( )
virtual

Reimplemented from Output.

◆ sendNote()

void SoundInstrument::sendNote ( ModelStackWithThreeMainThings modelStack,
bool  isOn,
int  noteCode,
int16_t const *  mpeValues,
int  fromMIDIChannel,
uint8_t  velocity,
uint32_t  sampleSyncLength,
int32_t  ticksLate,
uint32_t  samplesLate 
)
virtual

Implements MelodicInstrument.

◆ setActiveClip()

bool SoundInstrument::setActiveClip ( ModelStackWithTimelineCounter modelStack,
int  maySendMIDIPGMs 
)
virtual

Reimplemented from MelodicInstrument.

◆ setupPatching()

void SoundInstrument::setupPatching ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from Instrument.

◆ setupPatchingForAllParamManagers()

void SoundInstrument::setupPatchingForAllParamManagers ( Song song)
virtual

Reimplemented from Sound.

◆ setupWithoutActiveClip()

void SoundInstrument::setupWithoutActiveClip ( ModelStack modelStack)
virtual

Reimplemented from Output.

◆ toModControllable()

ModControllable * SoundInstrument::toModControllable ( )
virtual

Reimplemented from Output.

◆ writeDataToFile()

bool SoundInstrument::writeDataToFile ( Clip clipForSavingOutputOnly,
Song song 
)
virtual

Reimplemented from Instrument.

Member Data Documentation

◆ defaultArpSettings

ArpeggiatorSettings SoundInstrument::defaultArpSettings

The documentation for this class was generated from the following files: