/* prints cd in cue format */
void cue_print (FILE *fp, Cd *cd)
{
	Cdtext *cdtext = cd_get_cdtext(cd);
	int i; 	/* track */
	Track *track = NULL;

	/* print global information */
	if (NULL != cd_get_catalog(cd))
		fprintf(fp, "CATALOG %s\n", cd_get_catalog(cd));

	cue_print_cdtext(cdtext, fp, 0);

	/* print track information */
	for (i = 1; i <= cd_get_ntrack(cd); i++) {
		track = cd_get_track(cd, i);
		fprintf(fp, "\n");
		cue_print_track(fp, track, i);
	}
}
Exemple #2
0
void toc_print (FILE *fp, Cd *cd)
{
	Cdtext *cdtext = cd_get_cdtext(cd);
	int i; 	/* track */
	Track *track;

	switch(cd_get_mode(cd)) {
	case MODE_CD_DA:
		fprintf(fp, "CD_DA\n");
	       	break;
	case MODE_CD_ROM:
		fprintf(fp, "CD_ROM\n");
	       	break;
	case MODE_CD_ROM_XA:
		fprintf(fp, "CD_ROM_XA\n");
	       	break;
	}

	if (NULL != cd_get_catalog(cd)) {
		fprintf(fp, "CATALOG \"%s\"\n", cd_get_catalog(cd));
	}

	if(0 != cdtext_is_empty(cdtext)) {
		fprintf(fp, "CD_TEXT {\n");
		fprintf(fp, "\tLANGUAGE_MAP { 0:9 }\n");
		fprintf(fp, "\tLANGUAGE 0 {\n");
		toc_print_cdtext(cdtext, fp, 0);
		fprintf(fp, "\t}\n");
		fprintf(fp, "}\n");
	}

	for (i = 1; i <= cd_get_ntrack(cd); i++) {
		track = cd_get_track(cd, i);
		fprintf(fp, "\n");
		toc_print_track(fp, track);
	}
}