X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fir.h;h=096c7602e308c4bbbf9a2f652bd3ef8f854485b0;hp=590710e607c12b4ef204ae73bfe264f2dbca97f6;hb=db01318a8e246249ceea23255a6512ea8a5c00c2;hpb=6035780f8e8c7ba47ae517ad6cf7e47515e847fd diff --git a/src/ir.h b/src/ir.h index 590710e..096c760 100644 --- a/src/ir.h +++ b/src/ir.h @@ -27,9 +27,6 @@ typedef struct ir_set_t* ir_set; typedef struct ir_class_t* ir_class; typedef struct ir_setld_t* ir_setld; typedef struct ir_classld_t* ir_classld; - -enum dtype { FSDAT, MSDAT, ADAT, LDAT, FBDAT }; -enum ltype { OLINK, MLINK, VLINK, ALINK }; /* Classes and Sets Classes are rooted at a special root class, representing the current working directory at scan-time, named ".". The root class can always be identified @@ -48,9 +45,10 @@ enum ltype { OLINK, MLINK, VLINK, ALINK }; specified set. */ ir_class ir_class_root(void); -ir_class ir_class_addchild(ir_class, uint8_t*); -ir_set ir_class_addset(ir_class,uint8_t*); -ir_set ir_set_addchild(ir_set,uint8_t*); +ir_class ir_class_addchild(ir_class,const uint8_t*); +uint8_t* ir_class_name(ir_class); +ir_set ir_class_addset(ir_class,const uint8_t*); +ir_set ir_set_addchild(ir_set,const uint8_t*); /* Set Data Each set can contain up to FACING_MAX each of framesheets and mapsheets, one sheet for each facing, per label. Each set can contain any number of audio @@ -65,17 +63,14 @@ ir_set ir_set_addchild(ir_set,uint8_t*); data of an associated file at that path and no path is provided, the data will be entered null. */ +enum ltype { OLINK, MLINK, VLINK, ALINK }; void ir_set_assign_data(ir_set,ir_setdata); -void ir_set_assign_ref(ir_set,long long); -void ir_data_assign_path(ir_setdata,uint8_t*); -ir_setdata ir_framesheet(uint8_t*, apc_facing, int,int); -ir_setdata ir_mapsheet(uint8_t*, apc_facing, int,int); -ir_setdata ir_audio(uint8_t*); -ir_setdata ir_link(enum ltype, ir_setld, uint8_t*); -ir_setdata ir_link_odat(ir_setld); -ir_setdata ir_link_vdat(ir_setld,uint8_t*); -ir_setdata ir_link_mdat(ir_setld,uint8_t*); -ir_setdata ir_link_adat(ir_setld,uint8_t*); +void ir_set_assign_ref(ir_set,uint32_t); +void ir_data_assign_path(ir_setdata,const uint8_t*); +ir_setdata ir_framesheet(const uint8_t*, apc_facing, int,int); +ir_setdata ir_mapsheet(const uint8_t*, apc_facing, int,int); +ir_setdata ir_audio(const uint8_t*); +ir_setdata ir_link(enum ltype,ir_setld,const uint8_t*); /* Reference Linking Data Create linking data to sets or classes that will be resolved at a later stage. Class references can be created from an ir_class object, if @@ -86,8 +81,35 @@ ir_setdata ir_link_adat(ir_setld,uint8_t*); */ ir_classld ir_classld_from_class(ir_class); ir_classld ir_classld_from_root(void); -ir_classld ir_classld_addchild(ir_classld,uint8_t*); -ir_setld ir_setld_from_ref(long long); -ir_setld ir_setld_from_classld(ir_classld,uint8_t*); -ir_setld ir_setld_addchild(ir_setld,uint8_t*); +ir_classld ir_classld_addchild(ir_classld,const uint8_t*); +ir_setld ir_setld_from_ref(uint32_t); +ir_setld ir_setld_from_classld(ir_classld,const uint8_t*); +ir_setld ir_setld_addchild(ir_setld,const uint8_t*); #endif //_IR_H_ + +int get_class_sibcount(ir_class); +int get_set_sibcount(ir_set); +int get_set_variants(ir_set); +ir_set get_class_root_set(ir_class); +ir_set get_set_nextsib(ir_set); +ir_set get_set_nextchild(ir_set); +ir_setdata get_set_frameboxes(ir_set); +ir_setdata get_set_links(ir_set); +uint8_t* get_set_name(ir_set); +long get_set_filepos(ir_set); +void set_set_filepos(ir_set, long); +ir_set get_set_from_ref(uint32_t); +ir_class get_class_nextchild(ir_class); +ir_class get_class_nextsib(ir_class); +uint8_t* get_class_name(ir_class); +uint8_t* get_link_name(ir_setdata); +ir_setdata get_link_nextsib(ir_setdata); +uint32_t get_link_ref(ir_setdata); +enum ltype get_link_type(ir_setdata); +ir_setdata get_framebox_nextsib(ir_setdata); +uint8_t* get_framebox_name(ir_setdata); +ir_setdata get_framebox_facing_framedata(ir_setdata, apc_facing); +ir_setdata get_framebox_facing_mapdata(ir_setdata, apc_facing); +int get_framedata_height(ir_setdata); +int get_framedata_width(ir_setdata); +uint8_t* get_framedata_name(ir_setdata);