annotate include/edl.h @ 3:bd99b6549eb4

*: expand in readme and rename src/main to src/edl
author Paper <mrpapersonic@gmail.com>
date Sun, 24 Dec 2023 20:22:54 -0500
parents d00bc412900e
children c2408abb258a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
1 #ifndef __edl__edl_h
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
2 #define __edl__edl_h
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
3
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
4 #ifdef __cplusplus
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
5 extern "C" {
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
6 #endif
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
7
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
8 #include <stdbool.h> /* C99 required */
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
9 #include <stddef.h>
0
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
10
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11 typedef enum {
2
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
12 MEDIATYPE_VIDEO,
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
13 MEDIATYPE_AUDIO
0
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
14 } MediaType;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
15
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
16 typedef struct {
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 int id;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18 int track;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19 double start_time;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
20 double length;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
21 double play_rate;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
22 bool locked;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23 bool normalized;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
24 int stretch_method;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
25 bool looped;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
26 bool on_ruler;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
27 MediaType media_type;
2
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
28 char* filename;
0
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
29 int stream;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
30 double stream_start;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
31 double stream_length;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
32 double fade_time_in;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
33 double fade_time_out;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
34 double sustain_gain;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
35 int curve_in;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
36 double gain_in;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
37 int curve_out;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
38 double gain_out;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
39 int layer;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
40 int color;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
41 int curve_in_r;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
42 int curve_out_r;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
43 double play_pitch;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
44 bool lock_pitch;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
45 int first_channel;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
46 int channels;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
47 } EDL_line;
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
48
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
49 typedef struct {
2
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
50 EDL_line* arr;
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
51 int capacity;
0
0ea1ec2da443 *: initial commit
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
52 int size;
2
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
53 } EDL_file;
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
54
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
55 EDL_file EDL_parse(const char* text, size_t length);
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
56 void EDL_free(EDL_file file);
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
57
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
58 #ifdef __cplusplus
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
59 }
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
60 #endif
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
61
d00bc412900e *: fix up lots of stuff and make the thing actually usable
Paper <mrpapersonic@gmail.com>
parents: 0
diff changeset
62 #endif