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

#include <Clip.h>

Inheritance diagram for Clip:
Inheritance graph
Collaboration diagram for Clip:
Collaboration graph

Public Member Functions

 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

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

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

◆ Clip()

Clip::Clip ( int  newType)

◆ ~Clip()

Clip::~Clip ( )
virtual

Member Function Documentation

◆ abortRecording()

virtual void Clip::abortRecording ( )
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ appendClip()

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

Reimplemented in InstrumentClip.

◆ backtrackingCouldLoopBackToEnd()

bool Clip::backtrackingCouldLoopBackToEnd ( )
virtual

Implements TimelineCounter.

◆ beginInstance()

void Clip::beginInstance ( Song song,
int32_t  arrangementRecordPos 
)

◆ beginLinearRecording()

int Clip::beginLinearRecording ( ModelStackWithTimelineCounter modelStack,
int  buttonPressLatency 
)
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ cancelAnyArming()

bool Clip::cancelAnyArming ( )

◆ claimOutput()

virtual int Clip::claimOutput ( ModelStackWithTimelineCounter modelStack)
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ clear()

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

Reimplemented in AudioClip, and InstrumentClip.

◆ clone()

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

Implemented in AudioClip, and InstrumentClip.

◆ cloneAsNewOverdub()

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

Implemented in AudioClip, and InstrumentClip.

◆ cloneFrom()

void Clip::cloneFrom ( Clip other)

◆ cloneOutput()

virtual bool Clip::cloneOutput ( ModelStackWithTimelineCounter modelStack)
protectedpure virtual

Implemented in AudioClip, and InstrumentClip.

◆ copyBasicsFrom()

void Clip::copyBasicsFrom ( Clip otherClip)
virtual

Reimplemented in AudioClip, and InstrumentClip.

◆ currentlyScrollableAndZoomable()

virtual bool Clip::currentlyScrollableAndZoomable ( )
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ deleteSoundsWhichWontSound()

bool Clip::deleteSoundsWhichWontSound ( Song song)
virtual

Reimplemented in InstrumentClip.

◆ detachFromOutput()

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

Implemented in AudioClip, and InstrumentClip.

◆ drawUndefinedArea()

void Clip::drawUndefinedArea ( int32_t  localScroll,
uint32_t  xZoom,
int32_t  lengthToDisplay,
uint8_t *  image,
uint8_t  occupancyMask[],
int  imageWidth,
TimelineView editorScreen,
bool  tripletsOnHere 
)

◆ endInstance()

void Clip::endInstance ( int32_t  arrangementRecordPos,
bool  evenIfOtherClip = false 
)

◆ expectEvent()

void Clip::expectEvent ( )
virtual

Implements TimelineCounter.

Reimplemented in InstrumentClip.

◆ expectNoFurtherTicks()

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

Implemented in AudioClip, and InstrumentClip.

◆ finishLinearRecording()

virtual void Clip::finishLinearRecording ( ModelStackWithTimelineCounter modelStack,
Clip nextPendingLoop = NULL,
int  buttonLatencyForTempolessRecord = 0 
)
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ getActiveModControllable()

void Clip::getActiveModControllable ( ModelStackWithTimelineCounter modelStack)
virtual

Implements TimelineCounter.

Reimplemented in InstrumentClip.

◆ getActualCurrentPosAsIfPlayingInForwardDirection()

uint32_t Clip::getActualCurrentPosAsIfPlayingInForwardDirection ( )

◆ getClipBeingRecordedFrom()

Clip * Clip::getClipBeingRecordedFrom ( )

◆ getClipToRecordTo()

Clip * Clip::getClipToRecordTo ( )

◆ getCurrentlyRecordingLinearly()

virtual bool Clip::getCurrentlyRecordingLinearly ( )
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ getCurrentPosAsIfPlayingInForwardDirection()

int32_t Clip::getCurrentPosAsIfPlayingInForwardDirection ( )

◆ getLastProcessedPos()

int32_t Clip::getLastProcessedPos ( )
virtual

Implements TimelineCounter.

◆ getLivePos()

uint32_t Clip::getLivePos ( )
virtual

Implements TimelineCounter.

◆ getLoopLength()

int32_t Clip::getLoopLength ( )
virtual

Implements TimelineCounter.

◆ getMaxLength()

int32_t Clip::getMaxLength ( )
virtual

Reimplemented in InstrumentClip.

◆ getMaxZoom()

int Clip::getMaxZoom ( )

◆ getPosAtWhichPlaybackWillCut()

int32_t Clip::getPosAtWhichPlaybackWillCut ( ModelStackWithTimelineCounter const *  modelStack)
virtual

Implements TimelineCounter.

◆ getSuggestedParamManager()

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

Reimplemented in InstrumentClip.

◆ getTimelineCounterToRecordTo()

TimelineCounter * Clip::getTimelineCounterToRecordTo ( )
virtual

Implements TimelineCounter.

◆ getXMLTag()

virtual char const * Clip::getXMLTag ( )
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ increaseLengthWithRepeats()

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

Reimplemented in InstrumentClip.

◆ incrementPos()

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

Reimplemented in InstrumentClip.

◆ isAbandonedOverdub()

virtual bool Clip::isAbandonedOverdub ( )
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ isActiveOnOutput()

bool Clip::isActiveOnOutput ( )

◆ isArrangementOnlyClip()

bool Clip::isArrangementOnlyClip ( )

◆ isPlayingAutomationNow()

bool Clip::isPlayingAutomationNow ( )
virtual

Implements TimelineCounter.

◆ lengthChanged()

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

Reimplemented in InstrumentClip.

◆ opportunityToBeginSessionLinearRecording()

bool Clip::opportunityToBeginSessionLinearRecording ( ModelStackWithTimelineCounter modelStack,
bool *  newOutputCreated,
int  buttonPressLatency 
)

◆ outputChanged()

void Clip::outputChanged ( ModelStackWithTimelineCounter modelStack,
Output newOutput 
)

◆ pingpongOccurred()

virtual void Clip::pingpongOccurred ( ModelStackWithTimelineCounter modelStack)
inlineprotectedvirtual

Reimplemented in InstrumentClip.

◆ posReachedEnd()

void Clip::posReachedEnd ( ModelStackWithTimelineCounter modelStack)
protectedvirtual

Reimplemented in AudioClip, and InstrumentClip.

◆ possiblyCloneForArrangementRecording()

bool Clip::possiblyCloneForArrangementRecording ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from TimelineCounter.

◆ prepareForDestruction()

void Clip::prepareForDestruction ( ModelStackWithTimelineCounter modelStack,
int  instrumentRemovalInstruction 
)

◆ processCurrentPos()

void Clip::processCurrentPos ( ModelStackWithTimelineCounter modelStack,
uint32_t  ticksSinceLast 
)
virtual

Reimplemented in InstrumentClip, and AudioClip.

◆ quantizeLengthForArrangementRecording()

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

Implemented in AudioClip, and InstrumentClip.

◆ readFromFile()

virtual int Clip::readFromFile ( Song song)
pure virtual

Implemented in AudioClip, and InstrumentClip.

◆ readTagFromFile()

void Clip::readTagFromFile ( char const *  tagName,
Song song,
int32_t *  readAutomationUpToPos 
)

◆ reGetParameterAutomation()

void Clip::reGetParameterAutomation ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented in InstrumentClip.

◆ renderAsSingleRow()

bool Clip::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

Reimplemented in AudioClip, and InstrumentClip.

◆ resumeOriginalClipFromThisClone()

int Clip::resumeOriginalClipFromThisClone ( ModelStackWithTimelineCounter modelStackOriginal,
ModelStackWithTimelineCounter modelStackClone 
)

◆ resumePlayback()

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

Implemented in AudioClip, and InstrumentClip.

◆ setPos()

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

Reimplemented in AudioClip, and InstrumentClip.

◆ setPosForParamManagers()

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

Reimplemented in InstrumentClip.

◆ setSequenceDirectionMode()

void Clip::setSequenceDirectionMode ( ModelStackWithTimelineCounter modelStack,
int  newSequenceDirection 
)

◆ setupForRecordingAsAutoOverdub()

void Clip::setupForRecordingAsAutoOverdub ( Clip existingClip,
Song song,
int  newOverdubNature 
)

◆ solicitParamManager()

int Clip::solicitParamManager ( Song song,
ParamManager newParamManager = NULL,
Clip favourClipForCloningParamManager = NULL 
)
protected

◆ stopAllNotesPlaying()

virtual void Clip::stopAllNotesPlaying ( Song song,
bool  actuallySoundChange = true 
)
inlinevirtual

◆ transferVoicesToOriginalClipFromThisClone()

virtual int Clip::transferVoicesToOriginalClipFromThisClone ( ModelStackWithTimelineCounter modelStackOriginal,
ModelStackWithTimelineCounter modelStackClone 
)
inlinevirtual

Reimplemented in InstrumentClip.

◆ undoDetachmentFromOutput()

int Clip::undoDetachmentFromOutput ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented in InstrumentClip.

◆ wantsToBeginLinearRecording()

bool Clip::wantsToBeginLinearRecording ( Song song)
virtual

Reimplemented in AudioClip, and InstrumentClip.

◆ willCloneOutputForOverdub()

virtual bool Clip::willCloneOutputForOverdub ( )
inlinevirtual

Reimplemented in AudioClip.

◆ writeDataToFile()

void Clip::writeDataToFile ( Song song)
virtual

Reimplemented in AudioClip, and InstrumentClip.

◆ writeToFile()

void Clip::writeToFile ( Song song)

Member Data Documentation

◆ activeIfNoSolo

bool Clip::activeIfNoSolo

◆ armedForRecording

bool Clip::armedForRecording

◆ armState

uint8_t Clip::armState

◆ beingRecordedFromClip

Clip* Clip::beingRecordedFromClip

◆ colourOffset

int16_t Clip::colourOffset

◆ currentlyPlayingReversed

bool Clip::currentlyPlayingReversed

◆ gotInstanceYet

bool Clip::gotInstanceYet

◆ indexForSaving

uint32_t Clip::indexForSaving

◆ isPendingOverdub

bool Clip::isPendingOverdub

◆ isUnfinishedAutoOverdub

bool Clip::isUnfinishedAutoOverdub

◆ lastProcessedPos

int32_t Clip::lastProcessedPos

◆ loopLength

int32_t Clip::loopLength

◆ muteMIDICommand

LearnedMIDI Clip::muteMIDICommand

◆ originalLength

int32_t Clip::originalLength

◆ output

Output* Clip::output

◆ overdubNature

uint8_t Clip::overdubNature

◆ repeatCount

int32_t Clip::repeatCount

◆ section

uint8_t Clip::section

◆ sequenceDirectionMode

uint8_t Clip::sequenceDirectionMode

◆ soloingInSessionMode

bool Clip::soloingInSessionMode

◆ type

const uint8_t Clip::type

◆ wasActiveBefore

bool Clip::wasActiveBefore

◆ wasWantingToDoLinearRecordingBeforeCountIn

bool Clip::wasWantingToDoLinearRecordingBeforeCountIn

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