|
| | Song () |
| |
| | ~Song () |
| |
| bool | mayDoubleTempo () |
| |
| bool | ensureAtLeastOneSessionClip () |
| |
| void | transposeAllScaleModeClips (int offset) |
| |
| bool | anyScaleModeClips () |
| |
| void | setRootNote (int newRootNote, InstrumentClip *clipToAvoidAdjustingScrollFor=NULL) |
| |
| void | addModeNote (uint8_t modeNote) |
| |
| void | addMajorDependentModeNotes (uint8_t i, bool preferHigher, bool notesWithinOctavePresent[]) |
| |
| bool | yNoteIsYVisualWithinOctave (int yNote, int yVisualWithinOctave) |
| |
| uint8_t | getYNoteWithinOctaveFromYNote (int yNote) |
| |
| void | changeMusicalMode (uint8_t yVisualWithinOctave, int8_t change) |
| |
| int | getYVisualFromYNote (int yNote, bool inKeyMode) |
| |
| int | getYNoteFromYVisual (int yVisual, bool inKeyMode) |
| |
| bool | mayMoveModeNote (int16_t yVisualWithinOctave, int8_t newOffset) |
| |
| bool | modeContainsYNote (int yNote) |
| |
| ParamManagerForTimeline * | findParamManagerForDrum (Kit *kit, Drum *drum, Clip *stopTraversalAtClip=NULL) |
| |
| void | setupPatchingForAllParamManagersForDrum (SoundDrum *drum) |
| |
| void | setupPatchingForAllParamManagersForInstrument (SoundInstrument *sound) |
| |
| void | grabVelocityToLevelFromMIDIDeviceAndSetupPatchingForAllParamManagersForInstrument (MIDIDevice *device, SoundInstrument *instrument) |
| |
| void | grabVelocityToLevelFromMIDIDeviceAndSetupPatchingForAllParamManagersForDrum (MIDIDevice *device, SoundDrum *drum, Kit *kit) |
| |
| void | grabVelocityToLevelFromMIDIDeviceAndSetupPatchingForEverything (MIDIDevice *device) |
| |
| int | cycleThroughScales () |
| |
| int | getCurrentPresetScale () |
| |
| 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 | deleteClipObject (Clip *clip, bool songBeingDestroyedToo=false, int instrumentRemovalInstruction=INSTRUMENT_REMOVAL_DELETE_OR_HIBERNATE_IF_UNUSED) |
| |
| int | getMaxMIDIChannelSuffix (int channel) |
| |
| void | addOutput (Output *output, bool atStart=true) |
| |
| void | deleteOutputThatIsInMainList (Output *output, bool stopAnyAuditioningFirst=true) |
| |
| void | markAllInstrumentsAsEdited () |
| |
| Instrument * | getInstrumentFromPresetSlot (int instrumentType, int presetNumber, int 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) |
| |
| uint32_t | getLivePos () |
| |
| int32_t | getLoopLength () |
| |
| Instrument * | getNonAudioInstrumentToSwitchTo (int newInstrumentType, int availabilityRequirement, int16_t newSlot, int8_t newSubSlot, bool *instrumentWasAlreadyInSong) |
| |
| void | removeSessionClipLowLevel (Clip *clip, int clipIndex) |
| |
| void | changeSwingInterval (int newValue) |
| |
| int | convertSyncLevelFromFileValueToInternalValue (int fileValue) |
| |
| int | convertSyncLevelFromInternalValueToFileValue (int internalValue) |
| |
| bool | getAnyClipsSoloing () |
| |
| uint32_t | getInputTickScale () |
| |
| Clip * | getSyncScalingClip () |
| |
| void | setInputTickScaleClip (Clip *clip) |
| |
| void | setClipLength (Clip *clip, uint32_t newLength, Action *action, bool mayReSyncClip=true) |
| |
| void | doubleClipLength (InstrumentClip *clip, Action *action=NULL) |
| |
| Clip * | getClipWithOutput (Output *output, bool mustBeActive=false, Clip *excludeClip=NULL) |
| |
| int | readFromFile () |
| |
| void | writeToFile () |
| |
| void | loadAllSamples (bool mayActuallyReadFiles=true) |
| |
| bool | modeContainsYNoteWithinOctave (uint8_t yNoteWithinOctave) |
| |
| void | renderAudio (StereoSample *outputBuffer, int numSamples, int32_t *reverbBuffer, int32_t sideChainHitPending) |
| |
| bool | isYNoteAllowed (int yNote, bool inKeyMode) |
| |
| void | setTimePerTimerTick (uint64_t newTimeBig, bool shouldLogAction=false) |
| |
| bool | hasAnySwing () |
| |
| void | resyncLFOsAndArpeggiators () |
| |
| void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Sound *sound) |
| |
| bool | areAllClipsInSectionPlaying (int section) |
| |
| void | removeYNoteFromMode (int yNoteWithinOctave) |
| |
| void | turnSoloingIntoJustPlaying (bool getRidOfArmingToo=true) |
| |
| void | reassessWhetherAnyClipsSoloing () |
| |
| float | getTimePerTimerTickFloat () |
| |
| uint32_t | getTimePerTimerTickRounded () |
| |
| int | getNumOutputs () |
| |
| Clip * | getNextSessionClipWithOutput (int offset, Output *output, Clip *prevClip) |
| |
| ParamManager * | getBackedUpParamManagerForExactClip (ModControllableAudio *modControllable, Clip *clip, ParamManager *stealInto=NULL) |
| |
| ParamManager * | getBackedUpParamManagerPreferablyWithClip (ModControllableAudio *modControllable, Clip *clip, ParamManager *stealInto=NULL) |
| |
| 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 (int instrumentType, int slot, int subSlot=-1) |
| |
| bool | doesOutputHaveAnyClips (Output *output) |
| |
| void | deleteBackedUpParamManagersForClip (Clip *clip) |
| |
| void | deleteBackedUpParamManagersForModControllable (ModControllableAudio *modControllable) |
| |
| void | deleteHibernatingInstrumentWithSlot (int instrumentType, char const *name) |
| |
| void | loadCrucialSamplesOnly () |
| |
| Clip * | getSessionClipWithOutput (Output *output, int requireSection=-1, Clip *excludeClip=NULL, int *clipIndex=NULL, bool excludePendingOverdubs=false) |
| |
| void | restoreClipStatesBeforeArrangementPlay () |
| |
| void | deleteOrAddToHibernationListOutput (Output *output) |
| |
| int | getLowestSectionWithNoSessionClipForOutput (Output *output) |
| |
| void | assertActiveness (ModelStackWithTimelineCounter *modelStack, int32_t endInstanceAtTime=-1) |
| |
| bool | isClipActive (Clip *clip) |
| |
| void | sendAllMIDIPGMs () |
| |
| void | sortOutWhichClipsAreActiveWithoutSendingPGMs (ModelStack *modelStack, int playbackWillStartInArrangerAtPos) |
| |
| void | deactivateAnyArrangementOnlyClips () |
| |
| Clip * | getLongestClip (bool includePlayDisabled, bool includeArrangementOnly) |
| |
| Clip * | getLongestActiveClipWithMultipleOrFactorLength (int32_t targetLength, bool revertToAnyActiveClipIfNone=true, Clip *excludeClip=NULL) |
| |
| int | getOutputIndex (Output *output) |
| |
| void | setHibernatingMIDIInstrument (MIDIInstrument *newInstrument) |
| |
| void | deleteHibernatingMIDIInstrument () |
| |
| MIDIInstrument * | grabHibernatingMIDIInstrument (int newSlot, int newSubSlot) |
| |
| NoteRow * | findNoteRowForDrum (Kit *kit, Drum *drum, Clip *stopTraversalAtClip=NULL) |
| |
| bool | getAnyOutputsSoloingInArrangement () |
| |
| void | reassessWhetherAnyOutputsSoloingInArrangement () |
| |
| bool | isOutputActiveInArrangement (Output *output) |
| |
| Output * | getOutputFromIndex (int index) |
| |
| void | ensureAllInstrumentsHaveAClipOrBackedUpParamManager (char const *errorMessageNormal, char const *errorMessageHibernating) |
| |
| int | 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 () |
| |
| bool | isPlayingAutomationNow () |
| |
| bool | backtrackingCouldLoopBackToEnd () |
| |
| int32_t | getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack) |
| |
| void | getActiveModControllable (ModelStackWithTimelineCounter *modelStack) |
| |
| void | expectEvent () |
| |
| TimelineCounter * | getTimelineCounterToRecordTo () |
| |
| int32_t | getLastProcessedPos () |
| |
| void | setParamsInAutomationMode (bool newState) |
| |
| bool | canOldOutputBeReplaced (Clip *clip, int *availabilityRequirement=NULL) |
| |
| void | instrumentSwapped (Instrument *newInstrument) |
| |
| Instrument * | changeInstrumentType (Instrument *oldInstrument, int newInstrumentType) |
| |
| AudioOutput * | getFirstAudioOutput () |
| |
| AudioOutput * | createNewAudioOutput (Output *replaceOutput=NULL) |
| |
| void | getNoteLengthName (char *text, uint32_t noteLength, bool clarifyPerColumn=false) |
| |
| void | replaceOutputLowLevel (Output *newOutput, Output *oldOutput) |
| |
| void | removeSessionClip (Clip *clip, int clipIndex, bool forceClipsAboveToMoveVertically=false) |
| |
| bool | deletePendingOverdubs (Output *onlyWithOutput=NULL, int *originalClipIndex=NULL, bool createConsequencesForOtherLinearlyRecordingClips=false) |
| |
| Clip * | getPendingOverdubWithOutput (Output *output) |
| |
| Clip * | getClipWithOutputAboutToBeginLinearRecording (Output *output) |
| |
| Clip * | createPendingNextOverdubBelowClip (Clip *clip, int clipIndex, int newOverdubNature) |
| |
| bool | hasAnyPendingNextOverdubs () |
| |
| Output * | getNextAudioOutput (int offset, Output *oldOutput, int availabilityRequirement) |
| |
| void | deleteOutput (Output *output) |
| |
| void | cullAudioClipVoice () |
| |
| int | getYScrollSongViewWithoutPendingOverdubs () |
| |
| int | removeOutputFromMainList (Output *output, bool stopAnyAuditioningFirst=true) |
| |
| void | swapClips (Clip *newClip, Clip *oldClip, int clipIndex) |
| |
| Clip * | replaceInstrumentClipWithAudioClip (Clip *oldClip, int clipIndex) |
| |
| void | setDefaultVelocityForAllInstruments (uint8_t newDefaultVelocity) |
| |
| void | midiDeviceBendRangeUpdatedViaMessage (ModelStack *modelStack, MIDIDevice *device, int channelOrZone, int whichBendRange, int bendSemitones) |
| |
| int | addInstrumentsToFileItems (int instrumentType) |
| |
| uint32_t | getQuarterNoteLength () |
| |
| uint32_t | getBarLength () |
| |
| ModelStackWithThreeMainThings * | setupModelStackWithSongAsTimelineCounter (void *memory) |
| |
| ModelStackWithTimelineCounter * | setupModelStackWithCurrentClip (void *memory) |
| |
| ModelStackWithThreeMainThings * | addToModelStack (ModelStack *modelStack) |
| |
| | TimelineCounter () |
| |
| virtual | ~TimelineCounter () |
| |
| virtual int32_t | getLastProcessedPos ()=0 |
| |
| virtual uint32_t | getLivePos ()=0 |
| |
| virtual int32_t | getLoopLength ()=0 |
| |
| virtual bool | isPlayingAutomationNow ()=0 |
| |
| virtual bool | backtrackingCouldLoopBackToEnd ()=0 |
| |
| virtual int32_t | getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack)=0 |
| |
| virtual bool | possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack) |
| |
| virtual void | getActiveModControllable (ModelStackWithTimelineCounter *modelStack)=0 |
| |
| virtual void | expectEvent ()=0 |
| |
| virtual TimelineCounter * | getTimelineCounterToRecordTo ()=0 |
| |
| virtual void | instrumentBeenEdited () |
| |