Mercurial > libedl
view include/edl.h @ 9:21aad49ed2c9
Added tag v2.0 for changeset 0c98b46eaf73
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Fri, 22 Mar 2024 20:50:47 -0400 |
parents | 0c98b46eaf73 |
children | 0cc2555db371 |
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 } EDL_media_type_t; typedef enum { EDL_PARSE_ERROR_SUCCESS = 0, EDL_PARSE_ERROR_OUT_OF_MEMORY } EDL_parse_error_t; 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; EDL_media_type_t 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; size_t capacity; size_t size; } EDL; EDL_parse_error_t EDL_parse(EDL* edl, const char* text, size_t length); int EDL_reallocate(EDL* edl, size_t new_capacity); char* EDL_dump(const EDL* edl); void EDL_free(EDL* edl); #ifdef __cplusplus } #endif #endif