Duckstation/dep/libcue/include/libcue/cd.h
Connor McLaughlin 52c16deba6 dep: Add libcue
2019-10-18 23:52:52 +10:00

65 lines
1.7 KiB
C

/*
* Copyright (c) 2004, 2005, 2006, 2007, Svend Sorensen
* Copyright (c) 2009, 2010 Jochen Keil
* For license terms, see the file COPYING in this distribution.
*/
/* references: MMC-3 draft revsion - 10g */
#ifndef CD_H
#define CD_H
#include "libcue.h"
#include "cdtext.h"
#include "rem.h"
#define MAXTRACK 99 /* Red Book track limit (from 01 to 99) */
#define MAXINDEX 99 /* Red Book index limit (from 00 to 99) */
#define PARSER_BUFFER 1024 /* Parser buffer size */
/* return pointer to CD structure */
Cd *cd_init(void);
Track *track_init(void);
void track_delete(struct Track* track);
void cd_dump(Cd *cd);
/*
* Cd functions
*/
void cd_set_mode(Cd *cd, int mode);
void cd_set_catalog(Cd *cd, char *catalog);
void cd_set_cdtextfile(Cd *cd, char *cdtextfile);
/*
* add a new track to cd, increment number of tracks
* and return pointer to new track
*/
Track *cd_add_track(Cd *cd);
/*
* Track functions
*/
/* filename of data file */
void track_set_filename(Track *track, char *filename);
/* track start is starting position in data file */
void track_set_start(Track *track, long start);
/* track length is length of data file to use */
void track_set_length(Track *track, long length);
/* see enum TrackMode */
void track_set_mode(Track *track, int mode);
/* see enum TrackSubMode */
void track_set_sub_mode(Track *track, int sub_mode);
/* see enum TrackFlag */
void track_set_flag(Track *track, int flag);
void track_clear_flag(Track *track, int flag);
void track_set_zero_pre(Track *track, long length);
void track_set_zero_post(Track *track, long length);
void track_set_isrc(Track *track, char *isrc);
void track_set_index(Track *track, int i, long index);
#endif