#ifndef GDRDAO_TOCDATA_H__ #define GDRDAO_TOCDATA_H__ #include #include enum gdrdao_tocedit_cdtypes___ { CDDA=1, CDROM, CDROMXA }; enum gdrdao_tocedit_tracktypes___ { TCDDA=6, /* to avoid crash with CDDA in gdrdao_tocedit_cdtypes___ */ MODE1=7, MODE1RAW, MODE2, MODE2FORM2, MODE2FORMMIX, MODE2RAW }; enum gdrdao_tocedit_lmaps___ { NA=0, EN=9, }; struct gdrdao_track_cdtext { gchar title[1024], performer[1024], songwriter[1024], composer[1024], arranger[1024], message[1024], disc_id[64], genre[1024], toc_info1[1024], toc_info2[1024], upc_ean[1024], isrc[32], size_info[1024]; }; struct gdrdao_track_cdtext_lmap { gint map[8]; }; struct gdrdao_trackentry { gint number; gchar* trackfile; gchar comment[256]; gint type; gint premin, presec, prefrm; /* pregap */ gint silmin, silsec, silfrm; /* silence */ gint strmin, strsec, strfrm; /* start */ gint endmin, endsec, endfrm; /* end */ gint lmin, lsec, lfrm; /* length */ gint flenmin, flensec, flenfrm; /* non-changeable length of file, * NOT length of track! */ gchar preemph, copy; gchar isrc[13]; /* string, so 12+1 */ struct gdrdao_track_cdtext cdtext[8]; struct gdrdao_trackentry *next, *prev; struct gdrdao_toceditor* pregap; /* points to a pregap toceditor */ }; struct gdrdao_toceditor { gint disktype; glong tracks; gchar catalog[14]; /* 13+1 */ gint lmin, lsec, lfrm; gint pmin, psec, pfrm; gint usetext; struct gdrdao_track_cdtext cdtext[8]; struct gdrdao_track_cdtext_lmap lmap; struct gdrdao_trackentry *track; }; gint gdrdao_tocedit_init(struct gdrdao_toceditor*); gint gdrdao_tocedit_clear(struct gdrdao_toceditor*); gint gdrdao_tocedit_addtrack(struct gdrdao_toceditor*, gint, struct gdrdao_trackentry*); gint gdrdao_tocedit_deltrack(struct gdrdao_toceditor*, gint); gint gdrdao_tocedit_trackup(struct gdrdao_toceditor*, gint); gint gdrdao_tocedit_trackdown(struct gdrdao_toceditor*, gint); struct gdrdao_trackentry* gdrdao_tocedit_gettrack(struct gdrdao_toceditor*, gint); struct gdrdao_trackentry* gdrdao_tocedit_getlastinchain( struct gdrdao_toceditor*); gint gdrdao_tocedit_sorttracks(struct gdrdao_toceditor*); gint gdrdao_tocedit_dump__(struct gdrdao_toceditor*); gint gdrdao_trackentry_init(struct gdrdao_trackentry*); gint gdrdao_trackentry_clear(struct gdrdao_trackentry*); gint gdrdao_trackentry_setfile(struct gdrdao_trackentry*, gchar*); gchar* gdrdao_trackentry_getfile(struct gdrdao_trackentry*); gint gdrdao_trackentry_copy(struct gdrdao_trackentry*, struct gdrdao_trackentry*); gint gdrdao_cdtext_init(struct gdrdao_track_cdtext*); gint gdrdao_cdtext_clear(struct gdrdao_track_cdtext*); gint gdrdao_lmap_init(struct gdrdao_track_cdtext_lmap*); gint gdrdao_lmap_clear(struct gdrdao_track_cdtext_lmap*); #endif