diff --git a/cdrskin/cdrskin.1 b/cdrskin/cdrskin.1 index 8d813ca..5dfea77 100644 --- a/cdrskin/cdrskin.1 +++ b/cdrskin/cdrskin.1 @@ -2,7 +2,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH CDRSKIN 1 "Aug 30, 2009" +.TH CDRSKIN 1 "Sep 01, 2009" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -974,6 +974,10 @@ List all ignored cdrecord options. The "-" options cannot be used as addresses of track sources. No track source address may begin with a text equal to an option which ends by "=". The list is ended by an empty line. .TP +.BI \--long_toc +Like option -toc but marking each session start by a line "first: X last: Y" +and each session end by "track:lout ...". +.TP .BI \--no_rc Only if used as first command line argument this option prevents reading and interpretation of eventual startup files. See section FILES below. diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index 984c2fd..274c6d3 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -2690,6 +2690,7 @@ set_dev:; " --ignore_signals try to ignore any signals rather than to abort\n"); printf(" --list_formats list format descriptors for loaded media.\n"); printf(" --list_ignored_options list all ignored cdrecord options.\n"); + printf(" --long_toc print overview of media content\n"); #ifdef Cdrskin_libburn_has_set_waitinG printf(" modesty_on_drive= no writing into full drive buffer\n"); #endif @@ -4678,23 +4679,31 @@ int Cdrskin_toc(struct CdrskiN *skin, int flag) struct burn_session **sessions; struct burn_track **tracks; struct burn_toc_entry toc_entry; + enum burn_disc_status s; +#ifdef Cdrskin_libburn_has_get_profilE + char profile_name[80]; + int profile_number; +#endif drive= skin->drives[skin->driveno].drive; + s= burn_disc_get_status(drive); + if(s == BURN_DISC_EMPTY || s == BURN_DISC_BLANK) + goto summary; disc= burn_drive_get_disc(drive); if(disc==NULL) { if(skin->grow_overwriteable_iso>0) { ret= Cdrskin_overwriteable_iso_size(skin,&lba,0); if(ret>0) { printf( -"first: 1 last 1 (fabricated from ISO-9660 image on overwriteable media)\n"); +"first: 1 last: 1 (fabricated from ISO-9660 image on overwriteable media)\n"); printf( "track: 1 lba: 0 ( 0) 00:02:00 adr: 1 control: 4 mode: 1\n"); burn_lba_to_msf(lba, &pmin, &psec, &pframe); printf("track:lout lba: %9d (%9d) %2.2d:%2.2d:%2.2d", lba,4*lba,pmin,psec,pframe); printf(" adr: 1 control: 4 mode: -1\n"); - return(1); + goto summary; } } goto cannot_read; @@ -4712,7 +4721,7 @@ int Cdrskin_toc(struct CdrskiN *skin, int flag) if(tracks==NULL) continue; if(!(flag&1)) - printf("first: %d last %d\n",track_count+1,track_count+num_tracks); + printf("first: %d last: %d\n",track_count+1,track_count+num_tracks); for(track_no= 0; track_nodo_atip= 2; if(skin->verbosity>=Cdrskin_verbose_cmD) ClN(printf("cdrskin: will put out some -atip style lines plus -toc\n")); + } else if(strcmp(argv[i],"--long_toc")==0) { + skin->do_atip= 3; + if(skin->verbosity>=Cdrskin_verbose_cmD) + ClN(printf("cdrskin: will put out some -atip style lines plus -toc\n")); } else if(strncmp(argv[i],"-tsize=",7)==0) { value_pt= argv[i]+7; @@ -8248,7 +8284,7 @@ int Cdrskin_run(struct CdrskiN *skin, int *exit_value, int flag) if(skin->do_atip) { if(skin->n_drives<=0) {*exit_value= 7; goto no_drive;} - ret= Cdrskin_atip(skin,(skin->do_atip>1)); + ret= Cdrskin_atip(skin,(skin->do_atip>1) | (2 * (skin->do_atip > 2))); if(ret<=0) {*exit_value= 7; goto ex;} } diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 953470d..76b8312 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2009.09.01.113957" +#define Cdrskin_timestamP "2009.09.01.133520"