aboutsummaryrefslogtreecommitdiff
path: root/timeline.ts
blob: 696d7afb7bb778a6d941eab2a0e47e453d982c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
export type keyframeTypes = 'default' | 'delay' | 'speedChange' | 'loop';

export interface slide {
	frame: number;
	clickThroughBehaviour: 'ImmediatelySkip' | 'PlayOut';
	type: keyframeTypes;
}

export interface delaySlide extends slide {
	delay: number;
}

export interface speedChangeSlide extends slide {
	newFramerate: number;
}

export interface loopSlide extends slide {
	beginFrame: number;
	playbackType: 'PingPong' | 'Normal';
}

type anySlide = slide | delaySlide | speedChangeSlide | loopSlide;

export default interface timeline {
	slides: Array<anySlide>;
	framecount: number;
	framerate: number;
}