New option --pacifier_with_newline

This commit is contained in:
Thomas Schmitt 2013-07-08 15:19:45 +00:00
parent 870b71377d
commit f9793c54c2
3 changed files with 60 additions and 32 deletions

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH CDRSKIN 1 "Version 1.3.1, May 23, 2013" .TH CDRSKIN 1 "Version 1.3.1, Jul 08, 2013"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -1332,6 +1332,11 @@ which usually lack a motorized tray loader.
Only if used as first command line argument this option prevents reading and Only if used as first command line argument this option prevents reading and
interpretation of eventual startup files. See section FILES below. interpretation of eventual startup files. See section FILES below.
.TP .TP
.BI \--pacifier_with_newline
Adds a newline character to each pacifier line that would elsewise be
overwritten by the next pacifier line. Such lines are emitted during a
run of writing, formatting, or blanking if option -v is given.
.TP
.BI \--prodvd_cli_compatible .BI \--prodvd_cli_compatible
Activates behavior modifications with some DVD situations which bring cdrskin Activates behavior modifications with some DVD situations which bring cdrskin
nearer to the behavior of cdrecord-ProDVD: nearer to the behavior of cdrecord-ProDVD:

View File

@ -2899,6 +2899,8 @@ set_dev:;
printf(" --obs_pad pad DVD DAO to full 16 or 32 blocks\n"); printf(" --obs_pad pad DVD DAO to full 16 or 32 blocks\n");
printf(" --old_pseudo_scsi_adr use and report literal Bus,Target,Lun\n"); printf(" --old_pseudo_scsi_adr use and report literal Bus,Target,Lun\n");
printf(" rather than real SCSI and pseudo ATA.\n"); printf(" rather than real SCSI and pseudo ATA.\n");
printf(
" --pacifier_with_newline do not overwrite pacifier line by next one.\n");
printf(" --prodvd_cli_compatible react on some DVD types more like\n"); printf(" --prodvd_cli_compatible react on some DVD types more like\n");
printf(" cdrecord-ProDVD with blank= and -multi\n"); printf(" cdrecord-ProDVD with blank= and -multi\n");
printf(" sao_postgap=\"off\"|number\n"); printf(" sao_postgap=\"off\"|number\n");
@ -3355,6 +3357,7 @@ struct CdrskiN {
/** Job: what to do, plus some parameters. */ /** Job: what to do, plus some parameters. */
int verbosity; int verbosity;
int pacifier_with_newline;
double x_speed; double x_speed;
int adjust_speed_to_drive; int adjust_speed_to_drive;
int gracetime; int gracetime;
@ -3623,6 +3626,7 @@ int Cdrskin_new(struct CdrskiN **skin, struct CdrpreskiN *preskin, int flag)
return(-1); return(-1);
o->preskin= preskin; o->preskin= preskin;
o->verbosity= preskin->verbosity; o->verbosity= preskin->verbosity;
o->pacifier_with_newline= 0;
o->x_speed= -1.0; o->x_speed= -1.0;
o->adjust_speed_to_drive= 0; o->adjust_speed_to_drive= 0;
o->gracetime= 0; o->gracetime= 0;
@ -6346,8 +6350,10 @@ unsupported_format_type:;
if(p.sectors>0) /* i want a display of 1 to 99 percent */ if(p.sectors>0) /* i want a display of 1 to 99 percent */
percent= 1.0+((double) p.sector+1.0)/((double) p.sectors)*98.0; percent= 1.0+((double) p.sector+1.0)/((double) p.sectors)*98.0;
fprintf(stderr, fprintf(stderr,
"\rcdrskin: %s ( done %.1f%% , %lu seconds elapsed ) ", "%scdrskin: %s ( done %.1f%% , %lu seconds elapsed ) %s",
presperf,percent,(unsigned long) (Sfile_microtime(0)-start_time)); skin->pacifier_with_newline ? "" : "\r",
presperf,percent,(unsigned long) (Sfile_microtime(0)-start_time),
skin->pacifier_with_newline ? "\n" : "");
} }
sleep(1); sleep(1);
loop_counter++; loop_counter++;
@ -6356,8 +6362,8 @@ blanking_done:;
wrote_well = burn_drive_wrote_well(drive); wrote_well = burn_drive_wrote_well(drive);
if(wrote_well && skin->verbosity>=Cdrskin_verbose_progresS) { if(wrote_well && skin->verbosity>=Cdrskin_verbose_progresS) {
fprintf(stderr, fprintf(stderr,
"\rcdrskin: %s done \n", "%scdrskin: %s done \n",
presperf); skin->pacifier_with_newline ? "" : "\r", presperf);
printf("%s time: %.3fs\n", printf("%s time: %.3fs\n",
(do_format==1 || do_format==3 || do_format==4 ? (do_format==1 || do_format==3 || do_format==4 ?
"Formatting":"Blanking"), "Formatting":"Blanking"),
@ -6366,8 +6372,8 @@ blanking_done:;
fflush(stdout); fflush(stdout);
if(!wrote_well) if(!wrote_well)
fprintf(stderr, fprintf(stderr,
"\rcdrskin: %s failed \n", "%scdrskin: %s failed \n",
presperf); skin->pacifier_with_newline ? "" : "\r", presperf);
ret= !!(wrote_well); ret= !!(wrote_well);
ex:; ex:;
skin->drive_is_busy= 0; skin->drive_is_busy= 0;
@ -6472,8 +6478,10 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin, int start_tno,
if(skin->is_writing) if(skin->is_writing)
fprintf(stderr,"\n"); fprintf(stderr,"\n");
fprintf(stderr, fprintf(stderr,
"\rcdrskin: %s (burning since %.f seconds) ", "%scdrskin: %s (burning since %.f seconds)%s",
(formatting?"formatting":"working pre-track"), elapsed_total_time); skin->pacifier_with_newline ? "" : "\r",
(formatting?"formatting":"working pre-track"), elapsed_total_time,
skin->pacifier_with_newline ? "\n" : " ");
} }
skin->is_writing= 0; skin->is_writing= 0;
advance_interval= 1; advance_interval= 1;
@ -6488,11 +6496,12 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin, int start_tno,
{printf("\nFixating...\n"); fflush(stdout);} {printf("\nFixating...\n"); fflush(stdout);}
if(time_to_tell || skin->is_writing) { if(time_to_tell || skin->is_writing) {
if(skin->verbosity>=Cdrskin_verbose_progresS) { if(skin->verbosity>=Cdrskin_verbose_progresS) {
if(skin->is_writing) if(skin->is_writing && !skin->pacifier_with_newline)
fprintf(stderr,"\n"); fprintf(stderr,"\n");
fprintf(stderr, fprintf(stderr,
"\rcdrskin: working post-track (burning since %.f seconds) ", "%scdrskin: working post-track (burning since %.f seconds)%s",
elapsed_total_time); skin->pacifier_with_newline ? "" : "\r", elapsed_total_time,
skin->pacifier_with_newline ? "\n" : " ");
} }
skin->is_writing= 0; skin->is_writing= 0;
advance_interval= 1; advance_interval= 1;
@ -6529,16 +6538,19 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin, int start_tno,
thank_you_for_patience:; thank_you_for_patience:;
if(time_to_tell || (skin->is_writing && elapsed_total_time>=1.0)) { if(time_to_tell || (skin->is_writing && elapsed_total_time>=1.0)) {
if(skin->verbosity>=Cdrskin_verbose_progresS) { if(skin->verbosity>=Cdrskin_verbose_progresS) {
if(skin->is_writing) if(skin->is_writing) {
fprintf(stderr,"\n"); fprintf(stderr,"\n");
}
pending[0]= 0; pending[0]= 0;
/* /*
if(bytes_to_write > 0 && skin->verbosity >= Cdrskin_verbose_debuG) if(bytes_to_write > 0 && skin->verbosity >= Cdrskin_verbose_debuG)
sprintf(pending, " pnd %.f", bytes_to_write - written_total_bytes); sprintf(pending, " pnd %.f", bytes_to_write - written_total_bytes);
*/ */
fprintf(stderr, fprintf(stderr,
"\rcdrskin: thank you for being patient for %.f seconds%21.21s", "%scdrskin: thank you for being patient for %.f seconds%21.21s%s",
elapsed_total_time, pending); skin->pacifier_with_newline ? "" : "\r",
elapsed_total_time, pending,
skin->pacifier_with_newline ? "\n" : "");
} }
advance_interval= 1; advance_interval= 1;
} }
@ -6590,8 +6602,8 @@ thank_you_for_patience:;
skin->is_writing= 1; skin->is_writing= 1;
if(skin->supposed_track_idx<0) if(skin->supposed_track_idx<0)
skin->supposed_track_idx= 0; skin->supposed_track_idx= 0;
if(*last_count<=0.0) if(*last_count <= 0.0 && !skin->pacifier_with_newline)
printf("%-78.78s\r",""); printf("\r%-78.78s\r", ""); /* wipe output line */
if(skin->verbosity>=Cdrskin_verbose_progresS) { if(skin->verbosity>=Cdrskin_verbose_progresS) {
if(flag&1) { if(flag&1) {
printf("%.f/%.f (%2.1f%%) @%1.1f, remaining %.f:%2.2d\n", printf("%.f/%.f (%2.1f%%) @%1.1f, remaining %.f:%2.2d\n",
@ -6683,9 +6695,11 @@ thank_you_for_patience:;
if(buffer_fill<*min_buffer_fill) if(buffer_fill<*min_buffer_fill)
*min_buffer_fill= buffer_fill; *min_buffer_fill= buffer_fill;
printf("\r%sTrack %-2.2d: %s MB written %s[buf %3d%%] %4.1fx.", printf("%s%sTrack %-2.2d: %s MB written %s[buf %3d%%] %4.1fx.%s",
skin->pacifier_with_newline ? "" : "\r",
debug_mark, skin->supposed_track_idx + start_tno, mb_text, debug_mark, skin->supposed_track_idx + start_tno, mb_text,
fifo_text, buffer_fill,measured_speed/speed_factor); fifo_text, buffer_fill, measured_speed / speed_factor,
skin->pacifier_with_newline ? "\n" : "");
fflush(stdout); fflush(stdout);
} }
if(skin->is_writing==0) { if(skin->is_writing==0) {
@ -6704,16 +6718,18 @@ thank_you_for_patience:;
goto thank_you_for_patience; goto thank_you_for_patience;
skin->is_writing= 0; skin->is_writing= 0;
} else { } else {
if(!skin->is_writing) if((!skin->is_writing) && !skin->pacifier_with_newline)
printf("\n"); printf("\n");
skin->is_writing= 1; skin->is_writing= 1;
} }
printf("\rTrack %-2.2d: %3d MB written ", printf("%sTrack %-2.2d: %3d MB written %s",
skin->pacifier_with_newline ? "" : "\r",
skin->supposed_track_idx + start_tno, skin->supposed_track_idx + start_tno,
(int) (written_total_bytes/1024.0/1024.0)); (int) (written_total_bytes / 1024.0 / 1024.0),
fflush(stdout); skin->pacifier_with_newline ? "\n" : "");
if(skin->is_writing==0) if(skin->is_writing == 0 && !skin->pacifier_with_newline)
printf("\n"); printf("\n");
fflush(stdout);
#endif /* Cdrskin_extra_leaN */ #endif /* Cdrskin_extra_leaN */
@ -6989,9 +7005,13 @@ int Cdrskin_direct_write(struct CdrskiN *skin, int flag)
if(eof_sensed) if(eof_sensed)
break; break;
byte_address+= chunksize; byte_address+= chunksize;
fprintf(stderr,"\r%9.fk written ",((double) (i+chunksize))/1024.0); fprintf(stderr, "%s%9.fk written %s",
skin->pacifier_with_newline ? "" : "\r",
((double) (i+chunksize)) / 1024.0,
skin->pacifier_with_newline ? "\n" : "");
} }
fprintf(stderr,"\r%9.fk written \n",((double) i)/1024.0); fprintf(stderr, "%s%9.fk written \n",
skin->pacifier_with_newline ? "" : "\r", ((double) i) / 1024.0);
/* flush drive buffer */ /* flush drive buffer */
fprintf(stderr,"syncing cache ...\n"); fprintf(stderr,"syncing cache ...\n");
ret = burn_random_access_write(skin->grabbed_drive,byte_address,buf,0,1); ret = burn_random_access_write(skin->grabbed_drive,byte_address,buf,0,1);
@ -8875,6 +8895,9 @@ msifile_equals:;
} else if(strcmp(argv[i],"--old_pseudo_scsi_adr")==0) { } else if(strcmp(argv[i],"--old_pseudo_scsi_adr")==0) {
/* is handled in Cdrpreskin_setup() */; /* is handled in Cdrpreskin_setup() */;
} else if(strcmp(argv[i], "--pacifier_with_newline") == 0) {
skin->pacifier_with_newline= 1;
} else if(strcmp(argpt,"-pad")==0) { } else if(strcmp(argpt,"-pad")==0) {
skin->padding= 15*2048; skin->padding= 15*2048;
skin->set_by_padsize= 0; skin->set_by_padsize= 0;
@ -9263,14 +9286,14 @@ ignore_unknown:;
if(grab_and_wait_value>0) { if(grab_and_wait_value>0) {
Cdrskin_grab_drive(skin,16); Cdrskin_grab_drive(skin,16);
for(k= 0; k<grab_and_wait_value; k++) { for(k= 0; k<grab_and_wait_value; k++) {
fprintf(stderr, fprintf(stderr, "%scdrskin: holding drive grabbed since %d seconds%s",
"\rcdrskin: holding drive grabbed since %d seconds ", skin->pacifier_with_newline ? "" : "\r", k,
k); skin->pacifier_with_newline ? "\n" : " ");
usleep(1000000); usleep(1000000);
} }
fprintf(stderr, fprintf(stderr,
"\rcdrskin: held drive grabbed for %d seconds \n", "%scdrskin: held drive grabbed for %d seconds \n",
k); skin->pacifier_with_newline ? "" : "\r", k);
Cdrskin_release_drive(skin,0); Cdrskin_release_drive(skin,0);
} }

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2013.07.08.145600" #define Cdrskin_timestamP "2013.07.08.151826"