Allowed option input_sheet_v07t= to read multiple blocks from same file

This commit is contained in:
Thomas Schmitt 2013-05-20 11:01:57 +00:00
parent eb03488f52
commit 644feceb5c
3 changed files with 22 additions and 9 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 19, 2013" .TH CDRSKIN 1 "Version 1.3.1, May 20, 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:
@ -1157,7 +1157,15 @@ growisofs -dvd-compat is roughly equivalent to cdrskin without option -multi.
.BI input_sheet_v07t= path .BI input_sheet_v07t= path
Read CD-TEXT definitions from a Sony Input Sheet version 0.7T. Up to eight Read CD-TEXT definitions from a Sony Input Sheet version 0.7T. Up to eight
or seven such sheets can be read by multiple input_sheet_v07t= options. or seven such sheets can be read by multiple input_sheet_v07t= options.
Each will define a CD-TEXT language block. Each will define one CD-TEXT language block.
.br
The first line of a sheet file decides whether more than one sheet
may be defined by the file. If it is
.br
Input Sheet Version = 0.7T
.br
then each further line with that text switches to the next sheet for the next block.
If it is not, then all definitions apply to a single block.
.br .br
The information in such a sheet is given by text lines of the following form: The information in such a sheet is given by text lines of the following form:
.br .br

View File

@ -6950,7 +6950,7 @@ int Cdrskin_read_input_sheet_v07t(struct CdrskiN *skin, char *path, int block,
{ {
int ret= 0; int ret= 0;
ret= burn_session_input_sheet_v07t(session, path, block, 0); ret= burn_session_input_sheet_v07t(session, path, block, 1);
return(ret); return(ret);
} }
@ -7034,7 +7034,7 @@ int Cdrskin_burn(struct CdrskiN *skin, int flag)
int source_fd, is_from_stdin; int source_fd, is_from_stdin;
int text_flag= 4; /* Check CRCs and silently repair CRCs if all are 0 */ int text_flag= 4; /* Check CRCs and silently repair CRCs if all are 0 */
unsigned char *text_packs= NULL; unsigned char *text_packs= NULL;
int num_packs= 0, start_block; int num_packs= 0, start_block, block_no;
#ifndef Cdrskin_no_cdrfifO #ifndef Cdrskin_no_cdrfifO
double put_counter, get_counter, empty_counter, full_counter; double put_counter, get_counter, empty_counter, full_counter;
@ -7155,12 +7155,17 @@ burn_failed:;
if(i < 0x8f) if(i < 0x8f)
start_block= 1; start_block= 1;
} }
for(i= 0; i < skin->sheet_v07t_blocks && i < 8 - start_block; i++) { block_no = start_block;
ret= Cdrskin_read_input_sheet_v07t(skin, for(i= 0; i < skin->sheet_v07t_blocks && block_no < 8; i++) {
skin->sheet_v07t_paths[i], ret= Cdrskin_read_input_sheet_v07t(skin, skin->sheet_v07t_paths[i],
i + start_block, session, 0); block_no, session, 0);
if(ret <= 0) if(ret <= 0)
goto burn_failed; goto burn_failed;
block_no += ret;
}
if(i < skin->sheet_v07t_blocks) {
fprintf(stderr, "cdrskin: WARNING : Too many CD-TEXT blocks. input_sheet_v07t= files ignored: %d\n",
skin->sheet_v07t_blocks - i);
} }
} }
} }

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2013.05.20.104814" #define Cdrskin_timestamP "2013.05.20.110128"