Bug#301136: Bug#301139: Acknowledgement (option to reduce "last chance to quit" delay before burning)
I am finally getting around to sending in this patch which adds the
enhancement I suggested. It will also fix bug#301136.
Lorenzo
--
The mind is its own place, and in itself
Can make a Heav'n of Hell, a Hell of Heav'n.
-- John Milton
diff -uprN burn-0.4.3/burn burn-0.4.3-patched/burn
--- burn-0.4.3/burn 2005-03-21 17:07:32.000000000 -0500
+++ burn-0.4.3-patched/burn 2006-08-15 13:02:02.000000000 -0400
@@ -404,6 +404,8 @@ class CDROM:
driver = config.get('CD-writer','driver')
source_driver = config.get('CD-reader','driver')
burnfree = config.get('CD-writer','burnfree')
+ sao = config.get('CD-writer','sao')
+ gracetime = config.get('CD-writer','gracetime')
def compute_media_size(self):
if config.get('Media','media-check') == 'yes':
@@ -479,6 +481,14 @@ class CDROM:
#for the ones who have buffer underrun protection
if self.burnfree:
self.cdrecord_line_append('driveropts=burnfree ')
+ #set write mode: TAO (track at once) or SAO (session at once)
+ if self.sao:
+ self.cdrecord_line_append('-sao ')
+ else:
+ self.cdrecord_line_append('-tao ')
+ #the amount of time cdrecord waits before burning
+ if self.gracetime:
+ self.cdrecord_line_append('gracetime=' + self.gracetime + ' ')
#enable multisession
if options.multisession:
self.cdrecord_line_append('-multi ')
diff -uprN burn-0.4.3/burn-configure burn-0.4.3-patched/burn-configure
--- burn-0.4.3/burn-configure 2004-12-13 13:51:08.000000000 -0500
+++ burn-0.4.3-patched/burn-configure 2006-08-15 13:32:17.000000000 -0400
@@ -279,6 +279,34 @@ if 'CD-writer' in cs:
if brnfr in no:
config.set(section, 'burnfree', brnfr)
break
+ if 'sao' in options:
+ print
+ current = config.get(section, 'sao')
+ print _('Do you want cdrecord to burn in session-at-once mode (sao)?')
+ print _('\tThis allows gapless recording of audio tracks and works around the readahead')
+ print _('\tbug on GNU/Linux systems.')
+ while 1:
+ sssntnc = ask_value('yes/no', current)
+ if sssntnc == '':
+ break
+ if sssntnc in yes:
+ config.set(section, 'sao', sssntnc)
+ break
+ if sssntnc in no:
+ config.set(section, 'sao', sssntnc)
+ break
+ if 'gracetime' in options:
+ print
+ current = config.get(section, 'gracetime')
+ print _('How long should cdrecord wait before burning?')
+ print _('\tNote that cdrecord always waits at least 2 to 3 seconds.')
+ while 1:
+ grctm = ask_value('gracetime', current)
+ if grctm == '':
+ break
+ else:
+ config.set(section, 'gracetime', grctm)
+ break
if 'CD-reader' in cs:
section = 'CD-reader'
print
diff -uprN burn-0.4.3/burn.conf burn-0.4.3-patched/burn.conf
--- burn-0.4.3/burn.conf 2005-03-16 14:39:07.000000000 -0500
+++ burn-0.4.3-patched/burn.conf 2006-08-15 13:40:01.000000000 -0400
@@ -42,6 +42,10 @@ driver: generic-mmc
#Buffer Underrun Free writing support (yes/no)
#If your unit supports Buffer Underrun Free writing support say yes.
burnfree: yes
+# Enable this if you want to burn in session-at-once (also called disc-at-once) mode
+sao: yes
+# the amount of time in seconds cdrecord should display the `last chance to quit' message
+gracetime: 3
[CD-reader]
# this device should have the same CD-writer value if you only have one CD unit.
diff -uprN burn-0.4.3/burn.conf-dist burn-0.4.3-patched/burn.conf-dist
--- burn-0.4.3/burn.conf-dist 2004-04-26 17:08:38.000000000 -0400
+++ burn-0.4.3-patched/burn.conf-dist 2006-08-15 13:56:50.000000000 -0400
@@ -42,6 +42,10 @@ driver: generic-mmc
#Buffer Underrun Free writing support (yes/no)
#If your unit supports Buffer Underrun Free writing support say yes.
burnfree: yes
+# Enable this if you want cdrecord to burn in session-at-once (also called disc-at-once) mode
+sao: no
+# The amount of time in seconds cdrecord should display the `last chance to quit' message
+gracetime: 10
[CD-reader]
# this device should have the same CD-writer value if you only have one CD unit.
Reply to: