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 via email to