aboutsummaryrefslogtreecommitdiff
path: root/timeline.ts
blob: 3a51ed3a4842c528edafad7da1e992f7810e55c5 (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
29
30
31
32
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';
}

export interface presentationSettings {
	controlType: 'FullScreen';
}

export default interface timeline {
	slides: Array<slide | delaySlide | speedChangeSlide | loopSlide>;
	framecount: number;
	framerate: number;
	name: string;
	settings: presentationSettings;
}