Mercurial > libedl
view include/edl.h @ 6:7137fbac0b85
edl: expose EDL_reallocate() API to allow resizing the array
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Thu, 28 Dec 2023 16:47:24 -0500 |
parents | c2408abb258a |
children | fee08fa622e1 |
line wrap: on
line source
#ifndef __edl__edl_h #define __edl__edl_h #ifdef __cplusplus extern "C" { #endif #include <stdbool.h> /* C99 required */ #include <stddef.h> typedef enum { MEDIATYPE_VIDEO, MEDIATYPE_AUDIO, MEDIATYPE_UNKNOWN } MediaType; typedef struct { int id; int track; double start_time; double length; double play_rate; bool locked; bool normalized; int stretch_method; bool looped; bool on_ruler; MediaType media_type; char* filename; int stream; double stream_start; double stream_length; double fade_time_in; double fade_time_out; double sustain_gain; int curve_in; double gain_in; int curve_out; double gain_out; int layer; int color; int curve_in_r; int curve_out_r; double play_pitch; bool lock_pitch; int first_channel; int channels; } EDL_line; typedef struct { EDL_line* arr; int capacity; int size; } EDL; EDL EDL_parse(const char* text, size_t length); int EDL_reallocate(EDL* edl, size_t new_capacity); char* EDL_dump(EDL edl); void EDL_free(EDL edl); #ifdef __cplusplus } #endif #endif