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

#include <InstrumentClip.h>

Inheritance diagram for InstrumentClip:
Inheritance graph
Collaboration diagram for InstrumentClip:
Collaboration graph

Public Member Functions

 InstrumentClip (Song *song=NULL)
 
 ~InstrumentClip ()
 
void increaseLengthWithRepeats (ModelStackWithTimelineCounter *modelStack, int32_t newLength, int independentNoteRowInstruction, bool completelyRenderOutIterationDependence=false, Action *action=NULL)
 
void halveNoteRowsWithIndependentLength (ModelStackWithTimelineCounter *modelStack)
 
void repeatOrChopToExactLength (ModelStackWithTimelineCounter *modelStack, int32_t newLength)
 
void processCurrentPos (ModelStackWithTimelineCounter *modelStack, uint32_t posIncrement)
 
bool renderAsSingleRow (ModelStackWithTimelineCounter *modelStack, TimelineView *editorScreen, int32_t xScroll, uint32_t xZoom, uint8_t *image, uint8_t occupancyMask[], bool addUndefinedArea, int noteRowIndexStart=0, int noteRowIndexEnd=2147483647, int xStart=0, int xEnd=displayWidth, bool allowBlur=true, bool drawRepeats=false)
 
void toggleNoteRowMute (ModelStackWithNoteRow *modelStack)
 
void overviewMutePadPress (bool, bool)
 
void midiCommandMute (bool)
 
void getMainColourFromY (int yNote, int8_t, uint8_t[])
 
void stopAllNotesPlaying (ModelStackWithTimelineCounter *modelStack, bool actuallySoundChange=true)
 
void resumePlayback (ModelStackWithTimelineCounter *modelStack, bool mayMakeSound=true)
 
void setPos (ModelStackWithTimelineCounter *modelStack, int32_t newPos, bool useActualPosForParamManagers=true)
 
void musicalModeChanged (uint8_t, int, ModelStackWithTimelineCounter *modelStack)
 
void seeWhatNotesWithinOctaveArePresent (bool[], int, Song *song, bool deleteEmptyNoteRows=true)
 
void transpose (int, ModelStackWithTimelineCounter *modelStack)
 
void expectNoFurtherTicks (Song *song, bool actuallySoundChange=true)
 
int clone (ModelStackWithTimelineCounter *modelStack, bool shouldFlattenReversing=false)
 
NoteRowcreateNewNoteRowForYVisual (int, Song *song)
 
void changeNoteOffsetAndCounteract (int newNoteOffset)
 
int getYVisualFromYNote (int, Song *song)
 
int getYNoteFromYVisual (int, Song *song)
 
int getYNoteFromYDisplay (int yDisplay, Song *song)
 
int guessRootNote (Song *song, int previousRoot)
 
void aboutToEdit ()
 
int getNumNoteRows ()
 
void ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (ModelStackWithTimelineCounter *modelStack, Sound *sound)
 
bool deleteSoundsWhichWontSound (Song *song)
 
void setBackedUpParamManagerMIDI (ParamManagerForTimeline *newOne)
 
void restoreBackedUpParamManagerMIDI (ModelStackWithModControllable *modelStack)
 
int getNoteRowId (NoteRow *noteRow, int noteRowIndex)
 
NoteRowgetNoteRowFromId (int id)
 
void shiftHorizontally (ModelStackWithTimelineCounter *modelStack, int amount)
 
bool containsAnyNotes ()
 
ModelStackWithNoteRowgetNoteRowOnScreen (int yDisplay, ModelStackWithTimelineCounter *modelStack)
 
NoteRowgetNoteRowOnScreen (int yDisplay, Song *song, int *getIndex=NULL)
 
bool currentlyScrollableAndZoomable ()
 
void recordNoteOn (ModelStackWithNoteRow *modelStack, int velocity, bool forcePos0=false, int16_t const *mpeValuesOrNull=NULL, int fromMIDIChannel=MIDI_CHANNEL_NONE)
 
void recordNoteOff (ModelStackWithNoteRow *modelStack, int velocity=DEFAULT_LIFT_VALUE)
 
void copyBasicsFrom (Clip *otherClip)
 
void lengthChanged (ModelStackWithTimelineCounter *modelStack, int32_t oldLength, Action *action=NULL)
 
NoteRowcreateNewNoteRowForKit (ModelStackWithTimelineCounter *modelStack, bool atStart, int *getIndex=NULL)
 
int changeInstrument (ModelStackWithTimelineCounter *modelStack, Instrument *newInstrument, ParamManagerForTimeline *paramManager, int instrumentRemovalInstruction, InstrumentClip *favourClipForCloningParamManager=NULL, bool keepNoteRowsWithMIDIInput=true, bool giveMidiAssignmentsToNewInstrument=false)
 
void detachFromOutput (ModelStackWithTimelineCounter *modelStack, bool shouldRememberDrumName, bool shouldDeleteEmptyNoteRowsAtEndOfList=false, bool shouldRetainLinksToSounds=false, bool keepNoteRowsWithMIDIInput=true, bool shouldGrabMidiCommands=false, bool shouldBackUpExpressionParamsToo=true)
 
void assignDrumsToNoteRows (ModelStackWithTimelineCounter *modelStack, bool shouldGiveMIDICommandsToDrums=false, int numNoteRowsPreviouslyDeletedFromBottom=0)
 
void unassignAllNoteRowsFromDrums (ModelStackWithTimelineCounter *modelStack, bool shouldRememberDrumNames, bool shouldRetainLinksToSounds, bool shouldGrabMidiCommands, bool shouldBackUpExpressionParamsToo)
 
int readFromFile (Song *song)
 
void writeDataToFile (Song *song)
 
void prepNoteRowsForExitingKitMode (Song *song)
 
void deleteNoteRow (ModelStackWithTimelineCounter *modelStack, int i)
 
int16_t getTopYNote ()
 
int16_t getBottomYNote ()
 
uint32_t getWrapEditLevel ()
 
ModelStackWithNoteRowgetNoteRowForYNote (int yNote, ModelStackWithTimelineCounter *modelStack)
 
NoteRowgetNoteRowForYNote (int, int *getIndex=NULL)
 
ModelStackWithNoteRowgetNoteRowForSelectedDrum (ModelStackWithTimelineCounter *modelStack)
 
ModelStackWithNoteRowgetNoteRowForDrum (ModelStackWithTimelineCounter *modelStack, Drum *drum)
 
NoteRowgetNoteRowForDrum (Drum *drum, int *getIndex=NULL)
 
NoteRowgetOrCreateNoteRowForYNote (int yNote, Song *song, Action *action=NULL, bool *scaleAltered=NULL, int *getNoteRowIndex=NULL)
 
ModelStackWithNoteRowgetOrCreateNoteRowForYNote (int yNote, ModelStackWithTimelineCounter *modelStack, Action *action=NULL, bool *scaleAltered=NULL)
 
bool hasSameInstrument (InstrumentClip *otherClip)
 
bool isScaleModeClip ()
 
bool allowNoteTails (ModelStackWithNoteRow *modelStack)
 
int setAudioInstrument (Instrument *newInstrument, Song *song, bool shouldNotifyInstrument, ParamManager *newParamManager, InstrumentClip *favourClipForCloningParamManager=NULL)
 
void expectEvent ()
 
int32_t getDistanceToNextNote (Note *givenNote, ModelStackWithNoteRow *modelStack)
 
void reGetParameterAutomation (ModelStackWithTimelineCounter *modelStack)
 
void stopAllNotesForMIDIOrCV (ModelStackWithTimelineCounter *modelStack)
 
void sendMIDIPGM ()
 
void noteRemovedFromMode (int yNoteWithinOctave, Song *song)
 
void clear (Action *action, ModelStackWithTimelineCounter *modelStack)
 
bool doesProbabilityExist (int32_t apartFromPos, int probability, int secondProbability=-1)
 
void clearArea (ModelStackWithTimelineCounter *modelStack, int32_t startPos, int32_t endPos, Action *action)
 
int getScaleType ()
 
void backupPresetSlot ()
 
void setPosForParamManagers (ModelStackWithTimelineCounter *modelStack, bool useActualPos=true)
 
ModelStackWithNoteRowgetNoteRowForDrumName (ModelStackWithTimelineCounter *modelStack, char const *name)
 
void compensateVolumeForResonance (ModelStackWithTimelineCounter *modelStack)
 
int undoDetachmentFromOutput (ModelStackWithTimelineCounter *modelStack)
 
int setNonAudioInstrument (Instrument *newInstrument, Song *song, ParamManager *newParamManager=NULL)
 
int setInstrument (Instrument *newInstrument, Song *song, ParamManager *newParamManager, InstrumentClip *favourClipForCloningParamManager=NULL)
 
void deleteOldDrumNames ()
 
void ensureScrollWithinKitBounds ()
 
bool isScrollWithinRange (int scrollAmount, int newYNote)
 
int appendClip (ModelStackWithTimelineCounter *thisModelStack, ModelStackWithTimelineCounter *otherModelStack)
 
void instrumentBeenEdited ()
 
InstrumentchangeInstrumentType (ModelStackWithTimelineCounter *modelStack, int newInstrumentType)
 
int transferVoicesToOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
void getSuggestedParamManager (Clip *newClip, ParamManagerForTimeline **suggestedParamManager, Sound *sound)
 
int claimOutput (ModelStackWithTimelineCounter *modelStack)
 
char const * getXMLTag ()
 
void finishLinearRecording (ModelStackWithTimelineCounter *modelStack, Clip *nextPendingLoop, int buttonLatencyForTempolessRecord)
 
int beginLinearRecording (ModelStackWithTimelineCounter *modelStack, int buttonPressLatency)
 
ClipcloneAsNewOverdub (ModelStackWithTimelineCounter *modelStack, int newOverdubNature)
 
bool isAbandonedOverdub ()
 
void quantizeLengthForArrangementRecording (ModelStackWithTimelineCounter *modelStack, int32_t lengthSoFar, uint32_t timeRemainder, int32_t suggestedLength, int32_t alternativeLongerLength)
 
void setupAsNewKitClipIfNecessary (ModelStackWithTimelineCounter *modelStack)
 
bool getCurrentlyRecordingLinearly ()
 
void abortRecording ()
 
void yDisplayNoLongerAuditioning (int yDisplay, Song *song)
 
void shiftOnlyOneNoteRowHorizontally (ModelStackWithNoteRow *modelStack, int shiftAmount)
 
int32_t getMaxLength ()
 
bool hasAnyPitchExpressionAutomationOnNoteRows ()
 
ModelStackWithNoteRowduplicateModelStackForClipBeingRecordedFrom (ModelStackWithNoteRow *modelStack, char *otherModelStackMemory)
 
void incrementPos (ModelStackWithTimelineCounter *modelStack, int32_t numTicks)
 
void getActiveModControllable (ModelStackWithTimelineCounter *modelStack)
 
- Public Member Functions inherited from Clip
 Clip (int newType)
 
virtual ~Clip ()
 
bool cancelAnyArming ()
 
int getMaxZoom ()
 
virtual int32_t getMaxLength ()
 
virtual int clone (ModelStackWithTimelineCounter *modelStack, bool shouldFlattenReversing=false)=0
 
void cloneFrom (Clip *other)
 
void beginInstance (Song *song, int32_t arrangementRecordPos)
 
void endInstance (int32_t arrangementRecordPos, bool evenIfOtherClip=false)
 
virtual void setPos (ModelStackWithTimelineCounter *modelStack, int32_t newPos, bool useActualPosForParamManagers=true)
 
virtual void setPosForParamManagers (ModelStackWithTimelineCounter *modelStack, bool useActualPos=true)
 
virtual void expectNoFurtherTicks (Song *song, bool actuallySoundChange=true)=0
 
virtual void resumePlayback (ModelStackWithTimelineCounter *modelStack, bool mayMakeSound=true)=0
 
virtual void reGetParameterAutomation (ModelStackWithTimelineCounter *modelStack)
 
virtual void processCurrentPos (ModelStackWithTimelineCounter *modelStack, uint32_t ticksSinceLast)
 
void prepareForDestruction (ModelStackWithTimelineCounter *modelStack, int instrumentRemovalInstruction)
 
uint32_t getLivePos ()
 
uint32_t getActualCurrentPosAsIfPlayingInForwardDirection ()
 
int32_t getLastProcessedPos ()
 
int32_t getCurrentPosAsIfPlayingInForwardDirection ()
 
ClipgetClipBeingRecordedFrom ()
 
ClipgetClipToRecordTo ()
 
bool isArrangementOnlyClip ()
 
bool isActiveOnOutput ()
 
virtual bool deleteSoundsWhichWontSound (Song *song)
 
virtual int appendClip (ModelStackWithTimelineCounter *thisModelStack, ModelStackWithTimelineCounter *otherModelStack)
 
int resumeOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual int transferVoicesToOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual void increaseLengthWithRepeats (ModelStackWithTimelineCounter *modelStack, int32_t newLength, int independentNoteRowInstruction, bool completelyRenderOutIterationDependence=false, Action *action=NULL)
 
virtual void lengthChanged (ModelStackWithTimelineCounter *modelStack, int32_t oldLength, Action *action=NULL)
 
virtual void getSuggestedParamManager (Clip *newClip, ParamManagerForTimeline **suggestedParamManager, Sound *sound)
 
virtual void detachFromOutput (ModelStackWithTimelineCounter *modelStack, bool shouldRememberDrumName, bool shouldDeleteEmptyNoteRowsAtEndOfList=false, bool shouldRetainLinksToSounds=false, bool keepNoteRowsWithMIDIInput=true, bool shouldGrabMidiCommands=false, bool shouldBackUpExpressionParamsToo=true)=0
 
virtual int undoDetachmentFromOutput (ModelStackWithTimelineCounter *modelStack)
 
virtual bool renderAsSingleRow (ModelStackWithTimelineCounter *modelStack, TimelineView *editorScreen, int32_t xScroll, uint32_t xZoom, uint8_t *image, uint8_t occupancyMask[], bool addUndefinedArea=true, int noteRowIndexStart=0, int noteRowIndexEnd=2147483647, int xStart=0, int xEnd=displayWidth, bool allowBlur=true, bool drawRepeats=false)
 
virtual int claimOutput (ModelStackWithTimelineCounter *modelStack)=0
 
virtual void finishLinearRecording (ModelStackWithTimelineCounter *modelStack, Clip *nextPendingLoop=NULL, int buttonLatencyForTempolessRecord=0)=0
 
virtual int beginLinearRecording (ModelStackWithTimelineCounter *modelStack, int buttonPressLatency)=0
 
void drawUndefinedArea (int32_t localScroll, uint32_t, int32_t lengthToDisplay, uint8_t *image, uint8_t[], int imageWidth, TimelineView *editorScreen, bool tripletsOnHere)
 
bool opportunityToBeginSessionLinearRecording (ModelStackWithTimelineCounter *modelStack, bool *newOutputCreated, int buttonPressLatency)
 
virtual ClipcloneAsNewOverdub (ModelStackWithTimelineCounter *modelStack, int newOverdubNature)=0
 
virtual bool getCurrentlyRecordingLinearly ()=0
 
virtual bool currentlyScrollableAndZoomable ()=0
 
virtual void clear (Action *action, ModelStackWithTimelineCounter *modelStack)
 
void writeToFile (Song *song)
 
virtual void writeDataToFile (Song *song)
 
virtual char const * getXMLTag ()=0
 
virtual int readFromFile (Song *song)=0
 
void readTagFromFile (char const *tagName, Song *song, int32_t *readAutomationUpToPos)
 
virtual void copyBasicsFrom (Clip *otherClip)
 
void setupForRecordingAsAutoOverdub (Clip *existingClip, Song *song, int newOverdubNature)
 
void outputChanged (ModelStackWithTimelineCounter *modelStack, Output *newOutput)
 
virtual bool isAbandonedOverdub ()=0
 
virtual bool wantsToBeginLinearRecording (Song *song)
 
virtual void quantizeLengthForArrangementRecording (ModelStackWithTimelineCounter *modelStack, int32_t lengthSoFar, uint32_t timeRemainder, int32_t suggestedLength, int32_t alternativeLongerLength)=0
 
virtual void abortRecording ()=0
 
virtual void stopAllNotesPlaying (Song *song, bool actuallySoundChange=true)
 
virtual bool willCloneOutputForOverdub ()
 
void setSequenceDirectionMode (ModelStackWithTimelineCounter *modelStack, int newSequenceDirection)
 
bool possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack)
 
virtual void incrementPos (ModelStackWithTimelineCounter *modelStack, int32_t numTicks)
 
int32_t getLoopLength ()
 
bool isPlayingAutomationNow ()
 
bool backtrackingCouldLoopBackToEnd ()
 
int32_t getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack)
 
TimelineCountergetTimelineCounterToRecordTo ()
 
void getActiveModControllable (ModelStackWithTimelineCounter *modelStack)
 
void expectEvent ()
 
- Public Member Functions inherited from TimelineCounter
 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 TimelineCountergetTimelineCounterToRecordTo ()=0
 
virtual void instrumentBeenEdited ()
 

Public Attributes

ArpeggiatorSettings arpSettings
 
int32_t arpeggiatorRate
 
int32_t arpeggiatorGate
 
ParamManagerForTimeline backedUpParamManagerMIDI
 
bool inScaleMode
 
int yScroll
 
int yScrollKeyboardScreen
 
int32_t ticksTilNextNoteRowEvent
 
int32_t noteRowsNumTicksBehindClip
 
LearnedMIDI soundMidiCommand
 
NoteRowVector noteRows
 
bool wrapEditing
 
uint32_t wrapEditLevel
 
int8_t backedUpInstrumentSlot [4]
 
int8_t backedUpInstrumentSubSlot [4]
 
String backedUpInstrumentName [2]
 
String backedUpInstrumentDirPath [2]
 
bool affectEntire
 
bool onKeyboardScreen
 
uint8_t midiBank
 
uint8_t midiSub
 
uint8_t midiPGM
 
uint8_t instrumentTypeWhileLoading
 
- Public Attributes inherited from Clip
Outputoutput
 
int16_t colourOffset
 
const uint8_t type
 
uint8_t section
 
bool soloingInSessionMode
 
uint8_t armState
 
bool activeIfNoSolo
 
bool wasActiveBefore
 
bool gotInstanceYet
 
bool isPendingOverdub
 
bool isUnfinishedAutoOverdub
 
bool armedForRecording
 
bool wasWantingToDoLinearRecordingBeforeCountIn
 
uint8_t overdubNature
 
LearnedMIDI muteMIDICommand
 
bool currentlyPlayingReversed
 
uint8_t sequenceDirectionMode
 
int32_t loopLength
 
int32_t originalLength
 
int32_t lastProcessedPos
 
ClipbeingRecordedFromClip
 
int32_t repeatCount
 
uint32_t indexForSaving
 
- Public Attributes inherited from TimelineCounter
ParamManagerForTimeline paramManager
 

Protected Member Functions

void posReachedEnd (ModelStackWithTimelineCounter *modelStack)
 
bool wantsToBeginLinearRecording (Song *song)
 
bool cloneOutput (ModelStackWithTimelineCounter *modelStack)
 
void pingpongOccurred (ModelStackWithTimelineCounter *modelStack)
 
- Protected Member Functions inherited from Clip
virtual void posReachedEnd (ModelStackWithTimelineCounter *modelStack)
 
virtual bool cloneOutput (ModelStackWithTimelineCounter *modelStack)=0
 
int solicitParamManager (Song *song, ParamManager *newParamManager=NULL, Clip *favourClipForCloningParamManager=NULL)
 
virtual void pingpongOccurred (ModelStackWithTimelineCounter *modelStack)
 

Constructor & Destructor Documentation

◆ InstrumentClip()

InstrumentClip::InstrumentClip ( Song song = NULL)

◆ ~InstrumentClip()

InstrumentClip::~InstrumentClip ( )

Member Function Documentation

◆ abortRecording()

void InstrumentClip::abortRecording ( )
virtual

Implements Clip.

◆ aboutToEdit()

void InstrumentClip::aboutToEdit ( )

◆ allowNoteTails()

bool InstrumentClip::allowNoteTails ( ModelStackWithNoteRow modelStack)

◆ appendClip()

int InstrumentClip::appendClip ( ModelStackWithTimelineCounter thisModelStack,
ModelStackWithTimelineCounter otherModelStack 
)
virtual

Reimplemented from Clip.

◆ assignDrumsToNoteRows()

void InstrumentClip::assignDrumsToNoteRows ( ModelStackWithTimelineCounter modelStack,
bool  shouldGiveMIDICommandsToDrums = false,
int  numNoteRowsPreviouslyDeletedFromBottom = 0 
)

◆ backupPresetSlot()

void InstrumentClip::backupPresetSlot ( )

◆ beginLinearRecording()

int InstrumentClip::beginLinearRecording ( ModelStackWithTimelineCounter modelStack,
int  buttonPressLatency 
)
virtual

Implements Clip.

◆ changeInstrument()

int InstrumentClip::changeInstrument ( ModelStackWithTimelineCounter modelStack,
Instrument newInstrument,
ParamManagerForTimeline paramManager,
int  instrumentRemovalInstruction,
InstrumentClip favourClipForCloningParamManager = NULL,
bool  keepNoteRowsWithMIDIInput = true,
bool  giveMidiAssignmentsToNewInstrument = false 
)

◆ changeInstrumentType()

Instrument * InstrumentClip::changeInstrumentType ( ModelStackWithTimelineCounter modelStack,
int  newInstrumentType 
)

◆ changeNoteOffsetAndCounteract()

void InstrumentClip::changeNoteOffsetAndCounteract ( int  newNoteOffset)

◆ claimOutput()

int InstrumentClip::claimOutput ( ModelStackWithTimelineCounter modelStack)
virtual

Implements Clip.

◆ clear()

void InstrumentClip::clear ( Action action,
ModelStackWithTimelineCounter modelStack 
)
virtual

Reimplemented from Clip.

◆ clearArea()

void InstrumentClip::clearArea ( ModelStackWithTimelineCounter modelStack,
int32_t  startPos,
int32_t  endPos,
Action action 
)

◆ clone()

int InstrumentClip::clone ( ModelStackWithTimelineCounter modelStack,
bool  shouldFlattenReversing = false 
)
virtual

Implements Clip.

◆ cloneAsNewOverdub()

Clip * InstrumentClip::cloneAsNewOverdub ( ModelStackWithTimelineCounter modelStack,
int  newOverdubNature 
)
virtual

Implements Clip.

◆ cloneOutput()

bool InstrumentClip::cloneOutput ( ModelStackWithTimelineCounter modelStack)
protectedvirtual

Implements Clip.

◆ compensateVolumeForResonance()

void InstrumentClip::compensateVolumeForResonance ( ModelStackWithTimelineCounter modelStack)

◆ containsAnyNotes()

bool InstrumentClip::containsAnyNotes ( )

◆ copyBasicsFrom()

void InstrumentClip::copyBasicsFrom ( Clip otherClip)
virtual

Reimplemented from Clip.

◆ createNewNoteRowForKit()

NoteRow * InstrumentClip::createNewNoteRowForKit ( ModelStackWithTimelineCounter modelStack,
bool  atStart,
int *  getIndex = NULL 
)

◆ createNewNoteRowForYVisual()

NoteRow * InstrumentClip::createNewNoteRowForYVisual ( int  yVisual,
Song song 
)

◆ currentlyScrollableAndZoomable()

bool InstrumentClip::currentlyScrollableAndZoomable ( )
virtual

Implements Clip.

◆ deleteNoteRow()

void InstrumentClip::deleteNoteRow ( ModelStackWithTimelineCounter modelStack,
int  i 
)

◆ deleteOldDrumNames()

void InstrumentClip::deleteOldDrumNames ( )

◆ deleteSoundsWhichWontSound()

bool InstrumentClip::deleteSoundsWhichWontSound ( Song song)
virtual

Reimplemented from Clip.

◆ detachFromOutput()

void InstrumentClip::detachFromOutput ( ModelStackWithTimelineCounter modelStack,
bool  shouldRememberDrumName,
bool  shouldDeleteEmptyNoteRowsAtEndOfList = false,
bool  shouldRetainLinksToSounds = false,
bool  keepNoteRowsWithMIDIInput = true,
bool  shouldGrabMidiCommands = false,
bool  shouldBackUpExpressionParamsToo = true 
)
virtual

Implements Clip.

◆ doesProbabilityExist()

bool InstrumentClip::doesProbabilityExist ( int32_t  apartFromPos,
int  probability,
int  secondProbability = -1 
)

◆ duplicateModelStackForClipBeingRecordedFrom()

ModelStackWithNoteRow * InstrumentClip::duplicateModelStackForClipBeingRecordedFrom ( ModelStackWithNoteRow modelStack,
char *  otherModelStackMemory 
)

◆ ensureInaccessibleParamPresetValuesWithoutKnobsAreZero()

void InstrumentClip::ensureInaccessibleParamPresetValuesWithoutKnobsAreZero ( ModelStackWithTimelineCounter modelStack,
Sound sound 
)

◆ ensureScrollWithinKitBounds()

void InstrumentClip::ensureScrollWithinKitBounds ( )

◆ expectEvent()

void InstrumentClip::expectEvent ( )
virtual

Reimplemented from Clip.

◆ expectNoFurtherTicks()

void InstrumentClip::expectNoFurtherTicks ( Song song,
bool  actuallySoundChange = true 
)
virtual

Implements Clip.

◆ finishLinearRecording()

void InstrumentClip::finishLinearRecording ( ModelStackWithTimelineCounter modelStack,
Clip nextPendingLoop,
int  buttonLatencyForTempolessRecord 
)
virtual

Implements Clip.

◆ getActiveModControllable()

void InstrumentClip::getActiveModControllable ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from Clip.

◆ getBottomYNote()

int16_t InstrumentClip::getBottomYNote ( )

◆ getCurrentlyRecordingLinearly()

bool InstrumentClip::getCurrentlyRecordingLinearly ( )
virtual

Implements Clip.

◆ getDistanceToNextNote()

int32_t InstrumentClip::getDistanceToNextNote ( Note givenNote,
ModelStackWithNoteRow modelStack 
)

◆ getMainColourFromY()

void InstrumentClip::getMainColourFromY ( int  yNote,
int8_t  noteRowColourOffset,
uint8_t  rgb[] 
)

◆ getMaxLength()

int32_t InstrumentClip::getMaxLength ( )
virtual

Reimplemented from Clip.

◆ getNoteRowForDrum() [1/2]

NoteRow * InstrumentClip::getNoteRowForDrum ( Drum drum,
int *  getIndex = NULL 
)

◆ getNoteRowForDrum() [2/2]

ModelStackWithNoteRow * InstrumentClip::getNoteRowForDrum ( ModelStackWithTimelineCounter modelStack,
Drum drum 
)

◆ getNoteRowForDrumName()

ModelStackWithNoteRow * InstrumentClip::getNoteRowForDrumName ( ModelStackWithTimelineCounter modelStack,
char const *  name 
)

◆ getNoteRowForSelectedDrum()

ModelStackWithNoteRow * InstrumentClip::getNoteRowForSelectedDrum ( ModelStackWithTimelineCounter modelStack)

◆ getNoteRowForYNote() [1/2]

ModelStackWithNoteRow * InstrumentClip::getNoteRowForYNote ( int  yNote,
ModelStackWithTimelineCounter modelStack 
)

◆ getNoteRowForYNote() [2/2]

NoteRow * InstrumentClip::getNoteRowForYNote ( int  yNote,
int *  getIndex = NULL 
)

◆ getNoteRowFromId()

NoteRow * InstrumentClip::getNoteRowFromId ( int  id)

◆ getNoteRowId()

int InstrumentClip::getNoteRowId ( NoteRow noteRow,
int  noteRowIndex 
)

◆ getNoteRowOnScreen() [1/2]

ModelStackWithNoteRow * InstrumentClip::getNoteRowOnScreen ( int  yDisplay,
ModelStackWithTimelineCounter modelStack 
)

◆ getNoteRowOnScreen() [2/2]

NoteRow * InstrumentClip::getNoteRowOnScreen ( int  yDisplay,
Song song,
int *  getIndex = NULL 
)

◆ getNumNoteRows()

int InstrumentClip::getNumNoteRows ( )

◆ getOrCreateNoteRowForYNote() [1/2]

ModelStackWithNoteRow * InstrumentClip::getOrCreateNoteRowForYNote ( int  yNote,
ModelStackWithTimelineCounter modelStack,
Action action = NULL,
bool *  scaleAltered = NULL 
)

◆ getOrCreateNoteRowForYNote() [2/2]

NoteRow * InstrumentClip::getOrCreateNoteRowForYNote ( int  yNote,
Song song,
Action action = NULL,
bool *  scaleAltered = NULL,
int *  getNoteRowIndex = NULL 
)

◆ getScaleType()

int InstrumentClip::getScaleType ( )

◆ getSuggestedParamManager()

void InstrumentClip::getSuggestedParamManager ( Clip newClip,
ParamManagerForTimeline **  suggestedParamManager,
Sound sound 
)
virtual

Reimplemented from Clip.

◆ getTopYNote()

int16_t InstrumentClip::getTopYNote ( )

◆ getWrapEditLevel()

uint32_t InstrumentClip::getWrapEditLevel ( )

◆ getXMLTag()

char const * InstrumentClip::getXMLTag ( )
inlinevirtual

Implements Clip.

◆ getYNoteFromYDisplay()

int InstrumentClip::getYNoteFromYDisplay ( int  yDisplay,
Song song 
)

◆ getYNoteFromYVisual()

int InstrumentClip::getYNoteFromYVisual ( int  yVisual,
Song song 
)

◆ getYVisualFromYNote()

int InstrumentClip::getYVisualFromYNote ( int  yNote,
Song song 
)

◆ guessRootNote()

int InstrumentClip::guessRootNote ( Song song,
int  previousRoot 
)

◆ halveNoteRowsWithIndependentLength()

void InstrumentClip::halveNoteRowsWithIndependentLength ( ModelStackWithTimelineCounter modelStack)

◆ hasAnyPitchExpressionAutomationOnNoteRows()

bool InstrumentClip::hasAnyPitchExpressionAutomationOnNoteRows ( )

◆ hasSameInstrument()

bool InstrumentClip::hasSameInstrument ( InstrumentClip otherClip)

◆ increaseLengthWithRepeats()

void InstrumentClip::increaseLengthWithRepeats ( ModelStackWithTimelineCounter modelStack,
int32_t  newLength,
int  independentNoteRowInstruction,
bool  completelyRenderOutIterationDependence = false,
Action action = NULL 
)
virtual

Reimplemented from Clip.

◆ incrementPos()

void InstrumentClip::incrementPos ( ModelStackWithTimelineCounter modelStack,
int32_t  numTicks 
)
virtual

Reimplemented from Clip.

◆ instrumentBeenEdited()

void InstrumentClip::instrumentBeenEdited ( )
virtual

Reimplemented from TimelineCounter.

◆ isAbandonedOverdub()

bool InstrumentClip::isAbandonedOverdub ( )
virtual

Implements Clip.

◆ isScaleModeClip()

bool InstrumentClip::isScaleModeClip ( )

◆ isScrollWithinRange()

bool InstrumentClip::isScrollWithinRange ( int  scrollAmount,
int  newYNote 
)

◆ lengthChanged()

void InstrumentClip::lengthChanged ( ModelStackWithTimelineCounter modelStack,
int32_t  oldLength,
Action action = NULL 
)
virtual

Reimplemented from Clip.

◆ midiCommandMute()

void InstrumentClip::midiCommandMute ( bool  )

◆ musicalModeChanged()

void InstrumentClip::musicalModeChanged ( uint8_t  yVisualWithinOctave,
int  change,
ModelStackWithTimelineCounter modelStack 
)

◆ noteRemovedFromMode()

void InstrumentClip::noteRemovedFromMode ( int  yNoteWithinOctave,
Song song 
)

◆ overviewMutePadPress()

void InstrumentClip::overviewMutePadPress ( bool  ,
bool   
)

◆ pingpongOccurred()

void InstrumentClip::pingpongOccurred ( ModelStackWithTimelineCounter modelStack)
protectedvirtual

Reimplemented from Clip.

◆ posReachedEnd()

void InstrumentClip::posReachedEnd ( ModelStackWithTimelineCounter modelStack)
protectedvirtual

Reimplemented from Clip.

◆ prepNoteRowsForExitingKitMode()

void InstrumentClip::prepNoteRowsForExitingKitMode ( Song song)

◆ processCurrentPos()

void InstrumentClip::processCurrentPos ( ModelStackWithTimelineCounter modelStack,
uint32_t  posIncrement 
)
virtual

Reimplemented from Clip.

◆ quantizeLengthForArrangementRecording()

void InstrumentClip::quantizeLengthForArrangementRecording ( ModelStackWithTimelineCounter modelStack,
int32_t  lengthSoFar,
uint32_t  timeRemainder,
int32_t  suggestedLength,
int32_t  alternativeLongerLength 
)
virtual

Implements Clip.

◆ readFromFile()

int InstrumentClip::readFromFile ( Song song)
virtual

Implements Clip.

◆ recordNoteOff()

void InstrumentClip::recordNoteOff ( ModelStackWithNoteRow modelStack,
int  velocity = DEFAULT_LIFT_VALUE 
)

◆ recordNoteOn()

void InstrumentClip::recordNoteOn ( ModelStackWithNoteRow modelStack,
int  velocity,
bool  forcePos0 = false,
int16_t const *  mpeValuesOrNull = NULL,
int  fromMIDIChannel = MIDI_CHANNEL_NONE 
)

◆ reGetParameterAutomation()

void InstrumentClip::reGetParameterAutomation ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from Clip.

◆ renderAsSingleRow()

bool InstrumentClip::renderAsSingleRow ( ModelStackWithTimelineCounter modelStack,
TimelineView editorScreen,
int32_t  xScroll,
uint32_t  xZoom,
uint8_t *  image,
uint8_t  occupancyMask[],
bool  addUndefinedArea,
int  noteRowIndexStart = 0,
int  noteRowIndexEnd = 2147483647,
int  xStart = 0,
int  xEnd = displayWidth,
bool  allowBlur = true,
bool  drawRepeats = false 
)
virtual

Reimplemented from Clip.

◆ repeatOrChopToExactLength()

void InstrumentClip::repeatOrChopToExactLength ( ModelStackWithTimelineCounter modelStack,
int32_t  newLength 
)

◆ restoreBackedUpParamManagerMIDI()

void InstrumentClip::restoreBackedUpParamManagerMIDI ( ModelStackWithModControllable modelStack)

◆ resumePlayback()

void InstrumentClip::resumePlayback ( ModelStackWithTimelineCounter modelStack,
bool  mayMakeSound = true 
)
virtual

Implements Clip.

◆ seeWhatNotesWithinOctaveArePresent()

void InstrumentClip::seeWhatNotesWithinOctaveArePresent ( bool  notesWithinOctavePresent[],
int  newRootNote,
Song song,
bool  deleteEmptyNoteRows = true 
)

◆ sendMIDIPGM()

void InstrumentClip::sendMIDIPGM ( )

◆ setAudioInstrument()

int InstrumentClip::setAudioInstrument ( Instrument newInstrument,
Song song,
bool  shouldNotifyInstrument,
ParamManager newParamManager,
InstrumentClip favourClipForCloningParamManager = NULL 
)

◆ setBackedUpParamManagerMIDI()

void InstrumentClip::setBackedUpParamManagerMIDI ( ParamManagerForTimeline newOne)

◆ setInstrument()

int InstrumentClip::setInstrument ( Instrument newInstrument,
Song song,
ParamManager newParamManager,
InstrumentClip favourClipForCloningParamManager = NULL 
)

◆ setNonAudioInstrument()

int InstrumentClip::setNonAudioInstrument ( Instrument newInstrument,
Song song,
ParamManager newParamManager = NULL 
)

◆ setPos()

void InstrumentClip::setPos ( ModelStackWithTimelineCounter modelStack,
int32_t  newPos,
bool  useActualPosForParamManagers = true 
)
virtual

Reimplemented from Clip.

◆ setPosForParamManagers()

void InstrumentClip::setPosForParamManagers ( ModelStackWithTimelineCounter modelStack,
bool  useActualPos = true 
)
virtual

Reimplemented from Clip.

◆ setupAsNewKitClipIfNecessary()

void InstrumentClip::setupAsNewKitClipIfNecessary ( ModelStackWithTimelineCounter modelStack)

◆ shiftHorizontally()

void InstrumentClip::shiftHorizontally ( ModelStackWithTimelineCounter modelStack,
int  amount 
)

◆ shiftOnlyOneNoteRowHorizontally()

void InstrumentClip::shiftOnlyOneNoteRowHorizontally ( ModelStackWithNoteRow modelStack,
int  shiftAmount 
)

◆ stopAllNotesForMIDIOrCV()

void InstrumentClip::stopAllNotesForMIDIOrCV ( ModelStackWithTimelineCounter modelStack)

◆ stopAllNotesPlaying()

void InstrumentClip::stopAllNotesPlaying ( ModelStackWithTimelineCounter modelStack,
bool  actuallySoundChange = true 
)

◆ toggleNoteRowMute()

void InstrumentClip::toggleNoteRowMute ( ModelStackWithNoteRow modelStack)

◆ transferVoicesToOriginalClipFromThisClone()

int InstrumentClip::transferVoicesToOriginalClipFromThisClone ( ModelStackWithTimelineCounter modelStackOriginal,
ModelStackWithTimelineCounter modelStackClone 
)
virtual

Reimplemented from Clip.

◆ transpose()

void InstrumentClip::transpose ( int  change,
ModelStackWithTimelineCounter modelStack 
)

◆ unassignAllNoteRowsFromDrums()

void InstrumentClip::unassignAllNoteRowsFromDrums ( ModelStackWithTimelineCounter modelStack,
bool  shouldRememberDrumNames,
bool  shouldRetainLinksToSounds,
bool  shouldGrabMidiCommands,
bool  shouldBackUpExpressionParamsToo 
)

◆ undoDetachmentFromOutput()

int InstrumentClip::undoDetachmentFromOutput ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from Clip.

◆ wantsToBeginLinearRecording()

bool InstrumentClip::wantsToBeginLinearRecording ( Song song)
protectedvirtual

Reimplemented from Clip.

◆ writeDataToFile()

void InstrumentClip::writeDataToFile ( Song song)
virtual

Reimplemented from Clip.

◆ yDisplayNoLongerAuditioning()

void InstrumentClip::yDisplayNoLongerAuditioning ( int  yDisplay,
Song song 
)

Member Data Documentation

◆ affectEntire

bool InstrumentClip::affectEntire

◆ arpeggiatorGate

int32_t InstrumentClip::arpeggiatorGate

◆ arpeggiatorRate

int32_t InstrumentClip::arpeggiatorRate

◆ arpSettings

ArpeggiatorSettings InstrumentClip::arpSettings

◆ backedUpInstrumentDirPath

String InstrumentClip::backedUpInstrumentDirPath[2]

◆ backedUpInstrumentName

String InstrumentClip::backedUpInstrumentName[2]

◆ backedUpInstrumentSlot

int8_t InstrumentClip::backedUpInstrumentSlot[4]

◆ backedUpInstrumentSubSlot

int8_t InstrumentClip::backedUpInstrumentSubSlot[4]

◆ backedUpParamManagerMIDI

ParamManagerForTimeline InstrumentClip::backedUpParamManagerMIDI

◆ inScaleMode

bool InstrumentClip::inScaleMode

◆ instrumentTypeWhileLoading

uint8_t InstrumentClip::instrumentTypeWhileLoading

◆ midiBank

uint8_t InstrumentClip::midiBank

◆ midiPGM

uint8_t InstrumentClip::midiPGM

◆ midiSub

uint8_t InstrumentClip::midiSub

◆ noteRows

NoteRowVector InstrumentClip::noteRows

◆ noteRowsNumTicksBehindClip

int32_t InstrumentClip::noteRowsNumTicksBehindClip

◆ onKeyboardScreen

bool InstrumentClip::onKeyboardScreen

◆ soundMidiCommand

LearnedMIDI InstrumentClip::soundMidiCommand

◆ ticksTilNextNoteRowEvent

int32_t InstrumentClip::ticksTilNextNoteRowEvent

◆ wrapEditing

bool InstrumentClip::wrapEditing

◆ wrapEditLevel

uint32_t InstrumentClip::wrapEditLevel

◆ yScroll

int InstrumentClip::yScroll

◆ yScrollKeyboardScreen

int InstrumentClip::yScrollKeyboardScreen

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