comparison include/edl.h @ 2:d00bc412900e

*: fix up lots of stuff and make the thing actually usable
author Paper <mrpapersonic@gmail.com>
date Sun, 24 Dec 2023 20:01:30 -0500
parents 0ea1ec2da443
children c2408abb258a
comparison
equal deleted inserted replaced
1:db8b7e45ee55 2:d00bc412900e
1 #include <stdbool.h> 1 #ifndef __edl__edl_h
2 #define __edl__edl_h
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <stdbool.h> /* C99 required */
9 #include <stddef.h>
2 10
3 typedef enum { 11 typedef enum {
4 video, 12 MEDIATYPE_VIDEO,
5 audio 13 MEDIATYPE_AUDIO
6 } MediaType; 14 } MediaType;
7 15
8 typedef struct { 16 typedef struct {
9 int id; 17 int id;
10 int track; 18 int track;
15 bool normalized; 23 bool normalized;
16 int stretch_method; 24 int stretch_method;
17 bool looped; 25 bool looped;
18 bool on_ruler; 26 bool on_ruler;
19 MediaType media_type; 27 MediaType media_type;
20 char* file_name; 28 char* filename;
21 int stream; 29 int stream;
22 double stream_start; 30 double stream_start;
23 double stream_length; 31 double stream_length;
24 double fade_time_in; 32 double fade_time_in;
25 double fade_time_out; 33 double fade_time_out;
37 int first_channel; 45 int first_channel;
38 int channels; 46 int channels;
39 } EDL_line; 47 } EDL_line;
40 48
41 typedef struct { 49 typedef struct {
42 EDL_line* edl; 50 EDL_line* arr;
51 int capacity;
43 int size; 52 int size;
44 int current;
45 } EDL_file; 53 } EDL_file;
54
55 EDL_file EDL_parse(const char* text, size_t length);
56 void EDL_free(EDL_file file);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif