From f751482f60b7ca00706ad16b7937662907d7da40 Mon Sep 17 00:00:00 2001 From: James Simmons Date: Sun, 24 Jan 2016 21:13:35 +0000 Subject: modified: ReadEtextsActivity.py modified: mybutton.py modified: speech.py modified: speech_gst.py Change speech code to use Gst instead of gst. --- diff --git a/ReadEtextsActivity.py b/ReadEtextsActivity.py index 45f3e86..c4ce4d8 100644 --- a/ReadEtextsActivity.py +++ b/ReadEtextsActivity.py @@ -26,7 +26,6 @@ from gi.repository import Gdk from sugar3.graphics import style from sugar3 import profile from sugar3.activity import activity -# from sugar3 import network from sugar3.datastore import datastore from sugar3.graphics.alert import NotifyAlert from sugar3.graphics.toolbarbox import ToolbarBox @@ -227,7 +226,7 @@ class ReadEtextsActivity(activity.Activity): self.scrolled.add(self.textview) self.textview.show() self.scrolled.show() - v_adjustment = self.scrolled.get_vadjustment() + # v_adjustment = self.scrolled.get_vadjustment() self.clipboard = Gtk.Clipboard() self.page = 0 self.textview.grab_focus() @@ -897,7 +896,7 @@ class ReadEtextsActivity(activity.Activity): label_text = label_text + '\n\n\n' textbuffer = self.textview.get_buffer() tag = textbuffer.create_tag() - tag.set_property('weight', pango.WEIGHT_BOLD) + tag.set_property('weight', Pango.WEIGHT_BOLD) tag.set_property( 'foreground', "white") tag.set_property( 'background', "black") textbuffer.set_text(label_text) diff --git a/mybutton.py b/mybutton.py index 38743ef..513ad1b 100644 --- a/mybutton.py +++ b/mybutton.py @@ -16,8 +16,8 @@ # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US -from gi.repository import Gtk -import gconf + +from gi.repository import GConf from sugar3.graphics.toolbarbox import ToolbarButton from sugar3.activity.widgets import ActivityToolbar @@ -29,7 +29,7 @@ def _create_activity_icon(metadata): if metadata.get('icon-color', ''): color = XoColor(metadata['icon-color']) else: - client = gconf.client_get_default() + client = GConf.client_get_default() color = XoColor(client.get_string('/desktop/sugar/user/color')) from sugar3.activity.activity import get_bundle_path diff --git a/speech.py b/speech.py index a1c1e5f..eef7eda 100644 --- a/speech.py +++ b/speech.py @@ -18,22 +18,21 @@ import logging _logger = logging.getLogger('read-etexts-activity') - +_logger.setLevel(logging.INFO) supported = True +import gi +gi.require_version('Gst', '1.0') + try: - import gst - gst.element_factory_make('espeak') + from gi.repository import Gst + Gst.init(None) + Gst.ElementFactory.make('espeak') from speech_gst import * _logger.info('use gst-plugins-espeak') except Exception, e: _logger.info('disable gst-plugins-espeak: %s' % e) - try: - from speech_dispatcher import * - _logger.info('use speech-dispatcher') - except Exception, e: - supported = False - _logger.info('disable speech: %s' % e) + supported = False voice = None pitch = 0 diff --git a/speech_gst.py b/speech_gst.py index ac57bf8..37b2341 100644 --- a/speech_gst.py +++ b/speech_gst.py @@ -14,30 +14,30 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -import gst -import logging +import gi +gi.require_version('Gst', '1.0') +from gi.repository import Gst +Gst.init(None) import speech -_logger = logging.getLogger('read-etexts-activity') - def _message_cb(bus, message, pipe): - if message.type in (gst.MESSAGE_EOS, gst.MESSAGE_ERROR): - pipe.set_state(gst.STATE_NULL) + if message.type in (Gst.MessageType.EOS, Gst.MessageType.ERROR): + pipe.set_state(Gst.State.NULL) if pipe is play_speaker[1]: speech.reset_cb() - elif message.type == gst.MESSAGE_ELEMENT and \ - message.structure.get_name() == 'espeak-mark': - mark = message.structure['mark'] + elif message.type == Gst.MessageType.ELEMENT and \ + message.get_structure().get_name() == 'espeak-mark': + mark = message.get_structure().get_value('mark') speech.highlight_cb(int(mark)) def _create_pipe(): - pipe = gst.Pipeline('pipeline') + pipe = Gst.Pipeline() - source = gst.element_factory_make('espeak', 'source') + source = Gst.ElementFactory.make('espeak', 'source') pipe.add(source) - sink = gst.element_factory_make('autoaudiosink', 'sink') + sink = Gst.ElementFactory.make('autoaudiosink', 'sink') pipe.add(sink) source.link(sink) @@ -52,8 +52,8 @@ def _speech(speaker, words): speaker[0].props.rate = speech.rate speaker[0].props.voice = speech.voice[1] speaker[0].props.text = words; - speaker[1].set_state(gst.STATE_NULL) - speaker[1].set_state(gst.STATE_PLAYING) + speaker[1].set_state(Gst.State.NULL) + speaker[1].set_state(Gst.State.PLAYING) info_speaker = _create_pipe() play_speaker = _create_pipe() @@ -69,10 +69,10 @@ def play(words): _speech(play_speaker, words) def is_stopped(): - for i in play_speaker[1].get_state(): - if isinstance(i, gst.State) and i == gst.STATE_NULL: + for i in play_speaker[1].get_state(Gst.CLOCK_TIME_NONE): + if isinstance(i, Gst.State) and i == Gst.State.NULL: return True return False def stop(): - play_speaker[1].set_state(gst.STATE_NULL) + play_speaker[1].set_state(Gst.State.NULL) -- cgit v0.9.1