27class Arrangement final :
public PlaybackMode {
32 void setupPlayback()
override;
33 bool endPlayback()
override;
34 void doTickForward(int32_t posIncrement)
override;
35 void resetPlayPos(int32_t newPos,
bool doingComplete =
true, int32_t buttonPressLatency = 0)
override;
36 void resyncToSongTicks(
Song* song)
override;
37 void reversionDone()
override;
38 bool isOutputAvailable(
Output* output)
override;
39 void stopOutputRecordingAtLoopEnd()
override;
47 void resumeClipInstancePlayback(
ClipInstance* clipInstance,
bool doingComplete =
true,
48 bool mayActuallyResumeClip =
true);
49 void rowEdited(
Output* output, int32_t startPos, int32_t endPos,
Clip* clipRemoved,
51 Error doUniqueCloneOnClipInstance(
ClipInstance* clipInstance, int32_t newLength = -1,
52 bool shouldCloneRepeats =
false);
53 int32_t getLivePos(uint32_t* timeRemainder =
nullptr);
54 void endAnyLinearRecording();
56 int32_t lastProcessedPos;
57 int32_t playbackStartedAtPos;