|
bool | mayDoubleTempo () |
|
bool | ensureAtLeastOneSessionClip () |
|
void | transposeAllScaleModeClips (int32_t interval) |
|
void | transposeAllScaleModeClips (int32_t offset, bool chromatic) |
|
bool | anyScaleModeClips () |
|
void | changeMusicalMode (uint8_t yVisualWithinOctave, int8_t change) |
|
void | rotateMusicalMode (int8_t change) |
|
void | replaceMusicalMode (const ScaleChange &changes, bool affectMIDITranspose) |
|
int32_t | getYVisualFromYNote (int32_t yNote, bool inKeyMode) |
|
int32_t | getYVisualFromYNote (int32_t yNote, bool inKeyMode, const MusicalKey &key) |
|
int32_t | getYNoteFromYVisual (int32_t yVisual, bool inKeyMode) |
|
int32_t | getYNoteFromYVisual (int32_t yVisual, bool inKeyMode, const MusicalKey &key) |
|
bool | mayMoveModeNote (int16_t yVisualWithinOctave, int8_t newOffset) |
|
ParamManagerForTimeline * | findParamManagerForDrum (Kit *kit, Drum *drum, Clip *stopTraversalAtClip=nullptr) |
|
void | setupPatchingForAllParamManagersForDrum (SoundDrum *drum) |
|
void | setupPatchingForAllParamManagersForInstrument (SoundInstrument *sound) |
|
void | grabVelocityToLevelFromMIDICableAndSetupPatchingForAllParamManagersForInstrument (MIDICable &cable, SoundInstrument *instrument) |
|
void | grabVelocityToLevelFromMIDICableAndSetupPatchingForAllParamManagersForDrum (MIDICable &cable, SoundDrum *drum, Kit *kit) |
|
void | grabVelocityToLevelFromMIDICableAndSetupPatchingForEverything (MIDICable &cable) |
|
void | getCurrentRootNoteAndScaleName (StringBuf &buffer) |
|
void | displayCurrentRootNoteAndScaleName () |
|
Scale | cycleThroughScales () |
| Changes to next applicable scale.
|
|
Scale | getCurrentScale () |
| Returns current scale.
|
|
Scale | setScale (Scale newScale) |
| Returns CUSTOM_SCALE_WITH_MORE_THAN_7_NOTES we can't use the newScale.
|
|
bool | setScaleNotes (NoteSet newScale) |
|
void | learnScaleFromCurrentNotes () |
| Learns a user scale from notes in scale mode clips.
|
|
bool | hasUserScale () |
| Returns true if the song has a user scale.
|
|
void | setRootNote (int32_t newRootNote, InstrumentClip *clipToAvoidAdjustingScrollFor=nullptr) |
|
NoteSet | notesInScaleModeClips () |
| Returns a NoteSet with all notes currently in used in scale mdoe clips.
|
|
void | setTempoFromNumSamples (double newTempoSamples, bool shouldLogAction) |
|
void | setupDefault () |
|
void | setBPM (float tempoBPM, bool shouldLogAction) |
|
void | setTempoFromParams (int32_t magnitude, int8_t whichValue, bool shouldLogAction) |
|
void | deleteSoundsWhichWontSound () |
|
void | writeTemplateSong (const char *templateSong) |
|
void | deleteClipObject (Clip *clip, bool songBeingDestroyedToo=false, InstrumentRemoval instrumentRemovalInstruction=InstrumentRemoval::DELETE_OR_HIBERNATE_IF_UNUSED) |
|
int32_t | getMaxMIDIChannelSuffix (int32_t channel) |
|
void | addOutput (Output *output, bool atStart=true) |
|
void | deleteOutputThatIsInMainList (Output *output, bool stopAnyAuditioningFirst=true) |
|
void | markAllInstrumentsAsEdited () |
|
Instrument * | getInstrumentFromPresetSlot (OutputType outputType, int32_t presetNumber, int32_t presetSubSlotNumber, char const *name, char const *dirPath, bool searchHibernatingToo=true, bool searchNonHibernating=true) |
|
AudioOutput * | getAudioOutputFromName (String *name) |
|
void | setupPatchingForAllParamManagers () |
|
void | replaceInstrument (Instrument *oldInstrument, Instrument *newInstrument, bool keepNoteRowsWithMIDIInput=true) |
|
void | stopAllMIDIAndGateNotesPlaying () |
|
void | stopAllAuditioning () |
|
void | deleteOrHibernateOutput (Output *output) |
|
Instrument * | getNonAudioInstrumentToSwitchTo (OutputType newOutputType, Availability availabilityRequirement, int16_t newSlot, int8_t newSubSlot, bool *instrumentWasAlreadyInSong) |
|
void | removeSessionClipLowLevel (Clip *clip, int32_t clipIndex) |
|
void | changeSwingInterval (int32_t newValue) |
|
int32_t | convertSyncLevelFromFileValueToInternalValue (int32_t fileValue) |
|
int32_t | convertSyncLevelFromInternalValueToFileValue (int32_t internalValue) |
|
String | getSongFullPath () |
|
void | setSongFullPath (const char *fullPath) |
|
int32_t | getInputTickMagnitude () const |
|
bool | getAnyClipsSoloing () const |
|
Clip * | getCurrentClip () |
|
void | setCurrentClip (Clip *clip) |
|
uint32_t | getInputTickScale () |
|
Clip * | getSyncScalingClip () |
|
void | setInputTickScaleClip (Clip *clip) |
|
bool | isFillModeActive () |
|
void | changeFillMode (bool on) |
|
void | loadNextSong () |
|
void | setClipLength (Clip *clip, uint32_t newLength, Action *action, bool mayReSyncClip=true) |
|
void | doubleClipLength (InstrumentClip *clip, Action *action=nullptr) |
|
Clip * | getClipWithOutput (Output *output, bool mustBeActive=false, Clip *excludeClip=nullptr) |
|
Error | readFromFile (Deserializer &reader) |
|
void | writeToFile () |
|
void | loadAllSamples (bool mayActuallyReadFiles=true) |
|
void | renderAudio (std::span< StereoSample > outputBuffer, int32_t *reverbBuffer, int32_t sideChainHitPending) |
|
bool | isYNoteAllowed (int32_t yNote, bool inKeyMode) |
|
void | setTimePerTimerTick (uint64_t newTimeBig, bool shouldLogAction=false) |
|
bool | hasAnySwing () |
|
void | resyncLFOs () |
|
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Sound *sound) |
|
bool | areAllClipsInSectionPlaying (int32_t section) |
|
void | removeYNoteFromMode (int32_t yNoteWithinOctave) |
|
void | turnSoloingIntoJustPlaying (bool getRidOfArmingToo=true) |
|
void | reassessWhetherAnyClipsSoloing () |
|
float | getTimePerTimerTickFloat () |
|
uint32_t | getTimePerTimerTickRounded () |
|
int32_t | getNumOutputs () |
|
Clip * | getNextSessionClipWithOutput (int32_t offset, Output *output, Clip *prevClip) |
|
ParamManager * | getBackedUpParamManagerForExactClip (ModControllableAudio *modControllable, Clip *clip, ParamManager *stealInto=nullptr) |
|
ParamManager * | getBackedUpParamManagerPreferablyWithClip (ModControllableAudio *modControllable, Clip *clip, ParamManager *stealInto=nullptr) |
|
void | backUpParamManager (ModControllableAudio *modControllable, Clip *clip, ParamManagerForTimeline *paramManager, bool shouldStealExpressionParamsToo=false) |
|
void | moveInstrumentToHibernationList (Instrument *instrument) |
|
void | deleteOrHibernateOutputIfNoClips (Output *output) |
|
void | removeInstrumentFromHibernationList (Instrument *instrument) |
|
bool | doesOutputHaveActiveClipInSession (Output *output) |
|
bool | doesNonAudioSlotHaveActiveClipInSession (OutputType outputType, int32_t slot, int32_t subSlot=-1) |
|
bool | doesOutputHaveAnyClips (Output *output) |
|
void | deleteBackedUpParamManagersForClip (Clip *clip) |
|
void | deleteBackedUpParamManagersForModControllable (ModControllableAudio *modControllable) |
|
void | deleteHibernatingInstrumentWithSlot (OutputType outputType, char const *name) |
|
void | loadCrucialSamplesOnly () |
|
Clip * | getSessionClipWithOutput (Output *output, int32_t requireSection=-1, Clip *excludeClip=nullptr, int32_t *clipIndex=nullptr, bool excludePendingOverdubs=false) |
|
void | restoreClipStatesBeforeArrangementPlay () |
|
void | deleteOrAddToHibernationListOutput (Output *output) |
|
int32_t | getLowestSectionWithNoSessionClipForOutput (Output *output) |
|
void | assertActiveness (ModelStackWithTimelineCounter *modelStack, int32_t endInstanceAtTime=-1) |
|
bool | isClipActive (Clip const *clip) const |
|
void | sendAllMIDIPGMs () |
|
void | sortOutWhichClipsAreActiveWithoutSendingPGMs (ModelStack *modelStack, int32_t playbackWillStartInArrangerAtPos) |
|
void | deactivateAnyArrangementOnlyClips () |
|
Clip * | getLongestClip (bool includePlayDisabled, bool includeArrangementOnly) |
|
Clip * | getLongestActiveClipWithMultipleOrFactorLength (int32_t targetLength, bool revertToAnyActiveClipIfNone=true, Clip *excludeClip=nullptr) |
|
int32_t | getOutputIndex (Output *output) |
|
void | setHibernatingMIDIInstrument (MIDIInstrument *newInstrument) |
|
void | deleteHibernatingMIDIInstrument () |
|
MIDIInstrument * | grabHibernatingMIDIInstrument (int32_t newSlot, int32_t newSubSlot) |
|
NoteRow * | findNoteRowForDrum (Kit *kit, Drum *drum, Clip *stopTraversalAtClip=nullptr) |
|
bool | getAnyOutputsSoloingInArrangement () |
|
void | reassessWhetherAnyOutputsSoloingInArrangement () |
|
bool | isOutputActiveInArrangement (Output *output) |
|
Output * | getOutputFromIndex (int32_t index) |
|
void | ensureAllInstrumentsHaveAClipOrBackedUpParamManager (char const *errorMessageNormal, char const *errorMessageHibernating) |
|
Error | placeFirstInstancesOfActiveClips (int32_t pos) |
|
void | endInstancesOfActiveClips (int32_t pos, bool detachClipsToo=false) |
|
void | clearArrangementBeyondPos (int32_t pos, Action *action) |
|
void | deletingClipInstanceForClip (Output *output, Clip *clip, Action *action, bool shouldPickNewActiveClip) |
|
bool | arrangementHasAnyClipInstances () |
|
void | resumeClipsClonedForArrangementRecording () |
|
void | setParamsInAutomationMode (bool newState) |
|
bool | shouldOldOutputBeReplaced (Clip *clip, Availability *availabilityRequirement=nullptr) |
|
Output * | navigateThroughPresetsForInstrument (Output *output, int32_t offset) |
|
void | instrumentSwapped (Instrument *newInstrument) |
|
Instrument * | changeOutputType (Instrument *oldInstrument, OutputType newOutputType) |
|
AudioOutput * | getFirstAudioOutput () |
|
AudioOutput * | createNewAudioOutput (Output *replaceOutput=nullptr) |
|
void | getNoteLengthName (StringBuf &buffer, uint32_t noteLength, char const *notesString="-notes", bool clarifyPerColumn=false) const |
| buffer must have at least 5 characters on 7seg, or 30 for OLED
|
|
void | replaceOutputLowLevel (Output *newOutput, Output *oldOutput) |
|
void | removeSessionClip (Clip *clip, int32_t clipIndex, bool forceClipsAboveToMoveVertically=false) |
|
bool | deletePendingOverdubs (Output *onlyWithOutput=nullptr, int32_t *originalClipIndex=nullptr, bool createConsequencesForOtherLinearlyRecordingClips=false) |
|
Clip * | getPendingOverdubWithOutput (Output *output) |
|
Clip * | getClipWithOutputAboutToBeginLinearRecording (Output *output) |
|
Clip * | createPendingNextOverdubBelowClip (Clip *clip, int32_t clipIndex, OverDubType newOverdubNature) |
|
bool | hasAnyPendingNextOverdubs () |
|
Output * | getNextAudioOutput (int32_t offset, Output *oldOutput, Availability availabilityRequirement) |
|
void | deleteOutput (Output *output) |
|
void | cullAudioClipVoice () |
|
int32_t | getYScrollSongViewWithoutPendingOverdubs () |
|
int32_t | removeOutputFromMainList (Output *output, bool stopAnyAuditioningFirst=true) |
|
void | swapClips (Clip *newClip, Clip *oldClip, int32_t clipIndex) |
|
Clip * | replaceInstrumentClipWithAudioClip (Clip *oldClip, int32_t clipIndex) |
|
void | setDefaultVelocityForAllInstruments (uint8_t newDefaultVelocity) |
|
void | midiCableBendRangeUpdatedViaMessage (ModelStack *modelStack, MIDICable &cable, int32_t channelOrZone, int32_t whichBendRange, int32_t bendSemitones) |
|
Error | addInstrumentsToFileItems (OutputType outputType) |
|
uint32_t | getQuarterNoteLength () |
|
uint32_t | getBarLength () |
|
uint32_t | getSixteenthNoteLength () |
|
ModelStackWithThreeMainThings * | setupModelStackWithSongAsTimelineCounter (void *memory) |
|
ModelStackWithTimelineCounter * | setupModelStackWithCurrentClip (void *memory) |
|
ModelStackWithThreeMainThings * | addToModelStack (ModelStack *modelStack) |
|
ModelStackWithAutoParam * | getModelStackWithParam (ModelStackWithThreeMainThings *modelStack, int32_t paramID) |
|
int32_t | getLastProcessedPos () const override |
| Get the tick at which this timeline counter last did anything.
|
|
uint32_t | getLivePos () const override |
| Get the current tick of this timeline counter relative to the playback handler.
|
|
int32_t | getLoopLength () const override |
|
bool | isPlayingAutomationNow () const override |
|
bool | backtrackingCouldLoopBackToEnd () const override |
|
int32_t | getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack) const override |
|
void | getActiveModControllable (ModelStackWithTimelineCounter *modelStack) override |
|
void | expectEvent () override |
|
TimelineCounter * | getTimelineCounterToRecordTo () override |
|
void | transpose (int32_t interval) |
|
void | adjustMasterTransposeInterval (int32_t interval) |
|
void | displayMasterTransposeInterval () |
|
int32_t | countAudioClips () const |
|
void | clearTempoAutomation () |
|
void | updateBPMFromAutomation () |
|
float | calculateBPM () |
|
float | calculateBPM (float timePerTimerTick) |
|
void | changeThresholdRecordingMode (int8_t offset) |
|
void | displayThresholdRecordingMode () |
|
virtual bool | possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack) |
|
virtual void | instrumentBeenEdited () |
|