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

#include <Session.h>

Inheritance diagram for Session:
Inheritance graph
Collaboration diagram for Session:
Collaboration graph

Public Member Functions

 Session ()
 
void armAllClipsToStop (int afterNumRepeats)
 
void armNextSection (int oldSection, int numRepetitions=-1)
 
void doLaunch ()
 
void scheduleLaunchTiming (int64_t atTickCount, int numRepeatsUntil, int32_t armedLaunchLengthForOneRepeat)
 
void cancelAllLaunchScheduling ()
 
void launchSchedulingMightNeedCancelling ()
 
void reSyncClipToSongTicks (Clip *clip)
 
void reSyncClip (ModelStackWithTimelineCounter *modelStack, bool mustSetPosToSomething=false, bool mayResumeClip=true)
 
void userWantsToUnsoloClip (Clip *clip, bool forceLateStart, int buttonPressLatency)
 
void toggleClipStatus (Clip *clip, int *clipIndex, bool doInstant, int buttonPressLatency)
 
void soloClipAction (Clip *clip, int buttonPressLatency)
 
void armSection (uint8_t section, int buttonPressLatency)
 
void armingChanged ()
 
void userWantsToArmClipsToStartOrSolo (uint8_t section, Clip *clip, bool stopAllOtherClips, bool forceLateStart=false, bool allowLateStart=true, int numRepeatsTilLaunch=1, bool allowSubdividedQuantization=true, int armState=ARM_STATE_ON_NORMAL)
 
int investigateSyncedLaunch (Clip *waitForClip, uint32_t *currentPosWithinQuantization, uint32_t *quantization, uint32_t longestStartingClipLength, bool allowSubdividedQuantization)
 
bool armForSongSwap ()
 
bool armForSwitchToArrangement ()
 
void armClipsToStartOrSoloWithQuantization (uint32_t pos, uint32_t quantization, uint8_t section, bool stopAllOtherClips, Clip *clip, bool forceLateStart, bool allowLateStart, int numRepeatsTilLaunch, int armState=ARM_STATE_ON_NORMAL)
 
void armClipToStartOrSoloUsingQuantization (Clip *thisClip, bool doLateStart, uint32_t pos, int armState=ARM_STATE_ON_NORMAL, bool mustUnarmOtherClipsWithSameOutput=true)
 
void cancelAllArming ()
 
void armClipLowLevel (Clip *loopableToArm, int armState, bool mustUnarmOtherClipsWithSameOutput=true)
 
int userWantsToArmNextSection (int numRepetitions=-1)
 
int getCurrentSection ()
 
bool areAnyClipsArmed ()
 
void unsoloClip (Clip *clip)
 
void soloClipRightNow (ModelStackWithTimelineCounter *modelStack)
 
bool deletingClipWhichCouldBeAbandonedOverdub (Clip *clip)
 
void scheduleOverdubToStartRecording (Clip *overdub, Clip *clipAbove)
 
void justAbortedSomeLinearRecording ()
 
void setupPlayback ()
 
bool endPlayback ()
 
void doTickForward (int posIncrement)
 
void resetPlayPos (int32_t newPos, bool doingComplete=true, int buttonPressLatency=0)
 
void resyncToSongTicks (Song *song)
 
void reversionDone ()
 
bool isOutputAvailable (Output *output)
 
bool considerLaunchEvent (int32_t numTicksBeingIncremented)
 
void stopOutputRecordingAtLoopEnd ()
 
int32_t getPosAtWhichClipWillCut (ModelStackWithTimelineCounter const *modelStack)
 
bool willClipContinuePlayingAtEnd (ModelStackWithTimelineCounter const *modelStack)
 
bool willClipLoopAtSomePoint (ModelStackWithTimelineCounter const *modelStack)
 
bool wantsToDoTempolessRecord (int32_t newPos)
 
- Public Member Functions inherited from PlaybackMode
 PlaybackMode ()
 
virtual ~PlaybackMode ()
 
bool hasPlaybackActive ()
 
virtual void setupPlayback ()=0
 
virtual bool endPlayback ()=0
 
virtual void doTickForward (int posIncrement)=0
 
virtual void resetPlayPos (int32_t newPos, bool doingComplete=true, int buttonPressLatency=0)=0
 
virtual void resyncToSongTicks (Song *song)=0
 
virtual void reversionDone ()=0
 
virtual bool isOutputAvailable (Output *output)=0
 
virtual bool considerLaunchEvent (int32_t numTicksBeingIncremented)
 
virtual void stopOutputRecordingAtLoopEnd ()=0
 
virtual int32_t getPosAtWhichClipWillCut (ModelStackWithTimelineCounter const *modelStack)=0
 
virtual bool willClipContinuePlayingAtEnd (ModelStackWithTimelineCounter const *modelStack)=0
 
virtual bool willClipLoopAtSomePoint (ModelStackWithTimelineCounter const *modelStack)=0
 
virtual bool wantsToDoTempolessRecord (int32_t newPos)
 
virtual void reSyncClip (ModelStackWithTimelineCounter *modelStack, bool mustSetPosToSomething=false, bool mayResumeClip=true)=0
 

Public Attributes

uint8_t lastSectionArmed
 
uint32_t timeLastSectionPlayed
 
int64_t launchEventAtSwungTickCount
 
int16_t numRepeatsTilLaunch
 
int32_t currentArmedLaunchLengthForOneRepeat
 
bool switchToArrangementAtLaunchEvent
 

Constructor & Destructor Documentation

◆ Session()

Session::Session ( )

Member Function Documentation

◆ areAnyClipsArmed()

bool Session::areAnyClipsArmed ( )

◆ armAllClipsToStop()

void Session::armAllClipsToStop ( int  afterNumRepeats)

◆ armClipLowLevel()

void Session::armClipLowLevel ( Clip loopableToArm,
int  armState,
bool  mustUnarmOtherClipsWithSameOutput = true 
)

◆ armClipsToStartOrSoloWithQuantization()

void Session::armClipsToStartOrSoloWithQuantization ( uint32_t  pos,
uint32_t  quantization,
uint8_t  section,
bool  stopAllOtherClips,
Clip clip,
bool  forceLateStart,
bool  allowLateStart,
int  numRepeatsTilLaunch,
int  armState = ARM_STATE_ON_NORMAL 
)

◆ armClipToStartOrSoloUsingQuantization()

void Session::armClipToStartOrSoloUsingQuantization ( Clip thisClip,
bool  doLateStart,
uint32_t  pos,
int  armState = ARM_STATE_ON_NORMAL,
bool  mustUnarmOtherClipsWithSameOutput = true 
)

◆ armForSongSwap()

bool Session::armForSongSwap ( )

◆ armForSwitchToArrangement()

bool Session::armForSwitchToArrangement ( )

◆ armingChanged()

void Session::armingChanged ( )

◆ armNextSection()

void Session::armNextSection ( int  oldSection,
int  numRepetitions = -1 
)

◆ armSection()

void Session::armSection ( uint8_t  section,
int  buttonPressLatency 
)

◆ cancelAllArming()

void Session::cancelAllArming ( )

◆ cancelAllLaunchScheduling()

void Session::cancelAllLaunchScheduling ( )

◆ considerLaunchEvent()

bool Session::considerLaunchEvent ( int32_t  numTicksBeingIncremented)
virtual

Reimplemented from PlaybackMode.

◆ deletingClipWhichCouldBeAbandonedOverdub()

bool Session::deletingClipWhichCouldBeAbandonedOverdub ( Clip clip)

◆ doLaunch()

void Session::doLaunch ( )

◆ doTickForward()

void Session::doTickForward ( int  posIncrement)
virtual

Implements PlaybackMode.

◆ endPlayback()

bool Session::endPlayback ( )
virtual

Implements PlaybackMode.

◆ getCurrentSection()

int Session::getCurrentSection ( )

◆ getPosAtWhichClipWillCut()

int32_t Session::getPosAtWhichClipWillCut ( ModelStackWithTimelineCounter const *  modelStack)
virtual

Implements PlaybackMode.

◆ investigateSyncedLaunch()

int Session::investigateSyncedLaunch ( Clip waitForClip,
uint32_t *  currentPosWithinQuantization,
uint32_t *  quantization,
uint32_t  longestStartingClipLength,
bool  allowSubdividedQuantization 
)

◆ isOutputAvailable()

bool Session::isOutputAvailable ( Output output)
virtual

Implements PlaybackMode.

◆ justAbortedSomeLinearRecording()

void Session::justAbortedSomeLinearRecording ( )

◆ launchSchedulingMightNeedCancelling()

void Session::launchSchedulingMightNeedCancelling ( )

◆ resetPlayPos()

void Session::resetPlayPos ( int32_t  newPos,
bool  doingComplete = true,
int  buttonPressLatency = 0 
)
virtual

Implements PlaybackMode.

◆ reSyncClip()

void Session::reSyncClip ( ModelStackWithTimelineCounter modelStack,
bool  mustSetPosToSomething = false,
bool  mayResumeClip = true 
)
virtual

Implements PlaybackMode.

◆ reSyncClipToSongTicks()

void Session::reSyncClipToSongTicks ( Clip clip)

◆ resyncToSongTicks()

void Session::resyncToSongTicks ( Song song)
virtual

Implements PlaybackMode.

◆ reversionDone()

void Session::reversionDone ( )
virtual

Implements PlaybackMode.

◆ scheduleLaunchTiming()

void Session::scheduleLaunchTiming ( int64_t  atTickCount,
int  numRepeatsUntil,
int32_t  armedLaunchLengthForOneRepeat 
)

◆ scheduleOverdubToStartRecording()

void Session::scheduleOverdubToStartRecording ( Clip overdub,
Clip clipAbove 
)

◆ setupPlayback()

void Session::setupPlayback ( )
virtual

Implements PlaybackMode.

◆ soloClipAction()

void Session::soloClipAction ( Clip clip,
int  buttonPressLatency 
)

◆ soloClipRightNow()

void Session::soloClipRightNow ( ModelStackWithTimelineCounter modelStack)

◆ stopOutputRecordingAtLoopEnd()

void Session::stopOutputRecordingAtLoopEnd ( )
virtual

Implements PlaybackMode.

◆ toggleClipStatus()

void Session::toggleClipStatus ( Clip clip,
int *  clipIndex,
bool  doInstant,
int  buttonPressLatency 
)

◆ unsoloClip()

void Session::unsoloClip ( Clip clip)

◆ userWantsToArmClipsToStartOrSolo()

void Session::userWantsToArmClipsToStartOrSolo ( uint8_t  section,
Clip clip,
bool  stopAllOtherClips,
bool  forceLateStart = false,
bool  allowLateStart = true,
int  numRepeatsTilLaunch = 1,
bool  allowSubdividedQuantization = true,
int  armState = ARM_STATE_ON_NORMAL 
)

◆ userWantsToArmNextSection()

int Session::userWantsToArmNextSection ( int  numRepetitions = -1)

◆ userWantsToUnsoloClip()

void Session::userWantsToUnsoloClip ( Clip clip,
bool  forceLateStart,
int  buttonPressLatency 
)

◆ wantsToDoTempolessRecord()

bool Session::wantsToDoTempolessRecord ( int32_t  newPos)
virtual

Reimplemented from PlaybackMode.

◆ willClipContinuePlayingAtEnd()

bool Session::willClipContinuePlayingAtEnd ( ModelStackWithTimelineCounter const *  modelStack)
virtual

Implements PlaybackMode.

◆ willClipLoopAtSomePoint()

bool Session::willClipLoopAtSomePoint ( ModelStackWithTimelineCounter const *  modelStack)
virtual

Implements PlaybackMode.

Member Data Documentation

◆ currentArmedLaunchLengthForOneRepeat

int32_t Session::currentArmedLaunchLengthForOneRepeat

◆ lastSectionArmed

uint8_t Session::lastSectionArmed

◆ launchEventAtSwungTickCount

int64_t Session::launchEventAtSwungTickCount

◆ numRepeatsTilLaunch

int16_t Session::numRepeatsTilLaunch

◆ switchToArrangementAtLaunchEvent

bool Session::switchToArrangementAtLaunchEvent

◆ timeLastSectionPlayed

uint32_t Session::timeLastSectionPlayed

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