Ticket #3694: 0001-Don-t-pause-audio-stream-when-playback-finishes-3694.patch

File 0001-Don-t-pause-audio-stream-when-playback-finishes-3694.patch, 1.6 KB (added by dsd, 11 years ago)

patch

  • speechtoolbar.py

    From b06b5f98ce92983db1a38f3ec6f13a9eed68f70b Mon Sep 17 00:00:00 2001
    From: Daniel Drake <dsd@laptop.org>
    Date: Mon, 13 May 2013 14:52:46 -0600
    Subject: [PATCH] Don't pause audio stream when playback finishes (#3694)
    
    reset_buttons_cb gets called when speech playback finishes.
    Changing the activity property of the play ToggleToolButton
    will invoke its 'toggled' signal, causing it to pause the audio
    stream, rather than letting it close completely.
    
    Block the signal handler from executing at this point to avoid
    this confusion.
    ---
     speechtoolbar.py | 4 +++-
     1 file changed, 3 insertions(+), 1 deletion(-)
    
    diff --git a/speechtoolbar.py b/speechtoolbar.py
    index b01a221..1c9c291 100644
    a b class SpeechToolbar(Gtk.Toolbar): 
    5353        # Play button
    5454        self.play_btn = ToggleToolButton('media-playback-start')
    5555        self.play_btn.show()
    56         self.play_btn.connect('toggled', self.play_cb)
     56        self.play_toggled_handler = self.play_btn.connect('toggled', self.play_cb)
    5757        self.insert(self.play_btn, -1)
    5858        self.play_btn.set_tooltip(_('Play / Pause'))
    5959
    class SpeechToolbar(Gtk.Toolbar): 
    158158        logging.error('reset buttons')
    159159        self.play_btn.set_icon_name('media-playback-start')
    160160        self.stop_btn.set_sensitive(False)
     161        self.play_btn.handler_block(self.play_toggled_handler)
    161162        self.play_btn.set_active(False)
     163        self.play_btn.handler_unblock(self.play_toggled_handler)
    162164        self.is_paused = False
    163165
    164166    def play_cb(self, widget):