|
|
|
@ -310,6 +310,15 @@ or
|
|
|
|
|
#define Cdrskin_all_tracks_with_sector_paD 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** ts A90901
|
|
|
|
|
The raw write modes of libburn depend in part on code borrowed from cdrdao.
|
|
|
|
|
Since this code is not understood by the current developers and since CDs
|
|
|
|
|
written with cdrskin -raw96r seem unreadable anyway, -raw96r is given up
|
|
|
|
|
for now.
|
|
|
|
|
*/
|
|
|
|
|
#define Cdrskin_disable_raw96R 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** A macro which is able to eat up a function call like printf() */
|
|
|
|
|
#ifdef Cdrskin_extra_leaN
|
|
|
|
|
#define ClN(x)
|
|
|
|
@ -2814,7 +2823,11 @@ see_cdrskin_eng_html:;
|
|
|
|
|
#endif
|
|
|
|
|
fprintf(stderr,"\t-dao\t\tWrite disk in SAO mode.\n");
|
|
|
|
|
fprintf(stderr,"\t-sao\t\tWrite disk in SAO mode.\n");
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
fprintf(stderr,"\t-raw96r\t\tWrite disk in RAW/RAW96R mode\n");
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
fprintf(stderr,"\ttsize=#\t\tannounces exact size of source data\n");
|
|
|
|
|
fprintf(stderr,"\tpadsize=#\tAmount of padding\n");
|
|
|
|
|
fprintf(stderr,"\t-audio\t\tSubsequent tracks are CD-DA audio tracks\n");
|
|
|
|
@ -2873,8 +2886,10 @@ see_cdrskin_eng_html:;
|
|
|
|
|
fprintf(stderr,
|
|
|
|
|
"cdrskin: NOTE : option --no_rc would only work as first argument.\n");
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
} else if(strcmp(argv[i],"-raw96r")==0) {
|
|
|
|
|
strcpy(o->write_mode_name,"RAW/RAW96R");
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
} else if(strcmp(argv[i],"-sao")==0 || strcmp(argv[i],"-dao")==0) {
|
|
|
|
|
strcpy(o->write_mode_name,"SAO");
|
|
|
|
@ -3203,7 +3218,7 @@ struct CdrskiN {
|
|
|
|
|
int do_burn;
|
|
|
|
|
int tell_media_space; /* actually do not burn but tell the available space */
|
|
|
|
|
int burnfree;
|
|
|
|
|
/** The write mode (like SAO or RAW96/R). See libburn.
|
|
|
|
|
/** The write mode (like SAO or TAO). See libburn.
|
|
|
|
|
Controled by preskin->write_mode_name */
|
|
|
|
|
enum burn_write_types write_type;
|
|
|
|
|
int block_type;
|
|
|
|
@ -4593,10 +4608,14 @@ int Cdrskin_checkdrive(struct CdrskiN *skin, char *profile_name, int flag)
|
|
|
|
|
printf(" TAO");
|
|
|
|
|
if(drive_info->sao_block_types & BURN_BLOCK_SAO)
|
|
|
|
|
printf(" SAO");
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
if((drive_info->raw_block_types & BURN_BLOCK_RAW96R) &&
|
|
|
|
|
strstr(profile_name,"DVD")!=profile_name &&
|
|
|
|
|
strstr(profile_name,"BD")!=profile_name)
|
|
|
|
|
printf(" RAW/RAW96R");
|
|
|
|
|
#endif /* ! Cdrskin_disable_raw96R */
|
|
|
|
|
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
|
|
|
|
#else
|
|
|
|
@ -5771,19 +5790,28 @@ int Cdrskin_activate_write_mode(struct CdrskiN *skin,
|
|
|
|
|
goto report_failure;
|
|
|
|
|
}
|
|
|
|
|
skin->write_type= wt;
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
if(wt==BURN_WRITE_RAW)
|
|
|
|
|
strcpy(skin->preskin->write_mode_name,"RAW/RAW96R");
|
|
|
|
|
else if(wt==BURN_WRITE_TAO)
|
|
|
|
|
else
|
|
|
|
|
#endif /* ! Cdrskin_disable_raw96R */
|
|
|
|
|
if(wt==BURN_WRITE_TAO)
|
|
|
|
|
strcpy(skin->preskin->write_mode_name,"TAO");
|
|
|
|
|
else if(wt==BURN_WRITE_SAO)
|
|
|
|
|
strcpy(skin->preskin->write_mode_name,"SAO");
|
|
|
|
|
else
|
|
|
|
|
sprintf(skin->preskin->write_mode_name,"LIBBURN/%d", (int) wt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
if(strcmp(skin->preskin->write_mode_name,"RAW/RAW96R")==0) {
|
|
|
|
|
skin->write_type= BURN_WRITE_RAW;
|
|
|
|
|
skin->block_type= BURN_BLOCK_RAW96R;
|
|
|
|
|
} else if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
|
|
|
|
|
} else
|
|
|
|
|
#endif /* ! Cdrskin_disable_raw96R */
|
|
|
|
|
|
|
|
|
|
if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
|
|
|
|
|
skin->write_type= BURN_WRITE_TAO;
|
|
|
|
|
skin->block_type= BURN_BLOCK_MODE1;
|
|
|
|
|
} else if(strncmp(skin->preskin->write_mode_name,"LIBBURN/",8)==0) {
|
|
|
|
@ -5907,9 +5935,12 @@ int Cdrskin_activate_write_mode(struct CdrskiN *skin, enum burn_disc_status s,
|
|
|
|
|
strcpy(skin->preskin->write_mode_name,"SAO");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
if(strcmp(skin->preskin->write_mode_name,"RAW/RAW96R")==0) {
|
|
|
|
|
skin->write_type= BURN_WRITE_RAW;
|
|
|
|
|
skin->block_type= BURN_BLOCK_RAW96R;
|
|
|
|
|
#endif /* ! Cdrskin_disable_raw96R */
|
|
|
|
|
|
|
|
|
|
#ifdef Cdrskin_allow_libburn_taO
|
|
|
|
|
} else if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
|
|
|
|
@ -5947,9 +5978,13 @@ check_with_drive:;
|
|
|
|
|
ok= 1;
|
|
|
|
|
if(skin->write_type==BURN_WRITE_TAO && might_do_tao)
|
|
|
|
|
ok= 1;
|
|
|
|
|
} else if(skin->write_type==BURN_WRITE_RAW)
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_disable_raw96R
|
|
|
|
|
} else if(skin->write_type==BURN_WRITE_RAW) {
|
|
|
|
|
ok= !!(drive_info->raw_block_types & BURN_BLOCK_RAW96R);
|
|
|
|
|
else if(skin->write_type==BURN_WRITE_SAO && !mixed_mode)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
} else if(skin->write_type==BURN_WRITE_SAO && !mixed_mode)
|
|
|
|
|
ok= !!(drive_info->sao_block_types & BURN_BLOCK_SAO);
|
|
|
|
|
else if(skin->write_type==BURN_WRITE_TAO) {
|
|
|
|
|
block_type_demand= 0;
|
|
|
|
@ -7057,7 +7092,7 @@ int Cdrskin_setup(struct CdrskiN *skin, int argc, char **argv, int flag)
|
|
|
|
|
"-d", "-Verbose", "-V", "-silent", "-s", "-setdropts", "-prcap",
|
|
|
|
|
"-reset", "-abort", "-overburn", "-ignsize", "-useinfo",
|
|
|
|
|
"-fix", "-nofix",
|
|
|
|
|
"-raw", "-raw96p", "-raw16",
|
|
|
|
|
"-raw", "-raw96p", "-raw16", "-raw96r",
|
|
|
|
|
"-clone", "-text", "-mode2", "-xa", "-xa1", "-xa2", "-xamix",
|
|
|
|
|
"-cdi", "-preemp", "-nopreemp", "-copy", "-nocopy",
|
|
|
|
|
"-scms", "-shorttrack", "-noshorttrack", "-packet", "-noclose",
|
|
|
|
@ -7733,8 +7768,10 @@ set_padsize:;
|
|
|
|
|
} else if(strcmp(argv[i],"--prodvd_cli_compatible")==0) {
|
|
|
|
|
skin->prodvd_cli_compatible= 1;
|
|
|
|
|
|
|
|
|
|
#ifdef NIX
|
|
|
|
|
} else if(strcmp(argv[i],"-raw96r")==0) {
|
|
|
|
|
/* is handled in Cdrpreskin_setup() */;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
} else if(strcmp(argv[i],"-sao")==0 || strcmp(argv[i],"-dao")==0) {
|
|
|
|
|
/* is handled in Cdrpreskin_setup() */;
|
|
|
|
|