From 7ef7ee6ad3b245ea3b13ecd56fd65df890d58b29 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 23 Dec 2006 10:21:44 +0000 Subject: [PATCH] New option write_start_address= --- libburn/trunk/cdrskin/cdrskin.c | 17 ++++++++++++++++- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin.c b/libburn/trunk/cdrskin/cdrskin.c index 200d6367..c4427405 100644 --- a/libburn/trunk/cdrskin/cdrskin.c +++ b/libburn/trunk/cdrskin/cdrskin.c @@ -166,7 +166,9 @@ or #define Cdrskin_libburn_versioN "0.2.7" #define Cdrskin_libburn_from_pykix_svN 1 #define Cdrskin_atip_speed_is_oK 1 +#define Cdrskin_no_aftergrab_loopS 1 #define Cdrskin_libburn_has_get_profilE 1 +#define Cdrskin_libburn_has_set_start_bytE 1 #endif /* Cdrskin_libburn_0_2_7 */ #ifndef Cdrskin_libburn_versioN @@ -202,7 +204,6 @@ or /* put macros under test caveat here */ #define Cdrskin_allow_sao_for_appendablE 1 -#define Cdrskin_no_aftergrab_loopS 1 #endif /* Cdrskin_new_api_tesT */ @@ -2035,6 +2036,8 @@ set_dev:; printf(" (set tao_to_sao_tsize=0 to disable it)\n"); #endif + printf( + " write_start_address= write to given byte address (DVD+RW)\n"); printf( "Preconfigured arguments are read from the following startup files\n"); printf( @@ -2376,6 +2379,8 @@ struct CdrskiN { int block_type; int multi; + double write_start_address; + int do_eject; char eject_device[Cdrskin_strleN]; @@ -2491,6 +2496,7 @@ int Cdrskin_new(struct CdrskiN **skin, struct CdrpreskiN *preskin, int flag) o->write_type= BURN_WRITE_SAO; o->block_type= BURN_BLOCK_SAO; o->multi= 0; + o->write_start_address= -1.0; o->burnfree= 0; o->do_eject= 0; o->eject_device[0]= 0; @@ -4508,6 +4514,10 @@ int Cdrskin_burn(struct CdrskiN *skin, int flag) burn_write_opts_set_multi(o,skin->multi); #endif +#ifdef Cdrskin_libburn_has_set_start_bytE + burn_write_opts_set_start_byte(o, skin->write_start_address); +#endif + burn_write_opts_set_write_type(o,skin->write_type,skin->block_type); if(skin->dummy_mode) { fprintf(stderr, @@ -5301,6 +5311,11 @@ track_too_large:; strcmp(argv[i],"-vvvv")==0) { /* is handled in Cdrpreskin_setup() */; + } else if(strncmp(argv[i],"write_start_address=",20)==0) { + skin->write_start_address= Scanf_io_size(argv[i]+20,0); + if(skin->verbosity>=Cdrskin_verbose_cmD) + printf("cdrskin: fixed track size : %.f\n",skin->fixed_size); + } else if( i==argc-1 || (skin->single_track==0 && strchr(argv[i],'=')==NULL && !(argv[i][0]=='-' && argv[i][1]!=0) ) || diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 7b30eedb..b89e7fa6 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2006.12.23.102056" +#define Cdrskin_timestamP "2006.12.23.102201"