diff --git a/src/fenrir-package/sound/gstreamer.py b/src/fenrir-package/sound/gstreamer.py index 42e1af03..f773ef90 100644 --- a/src/fenrir-package/sound/gstreamer.py +++ b/src/fenrir-package/sound/gstreamer.py @@ -9,9 +9,6 @@ except: else: _gstreamerAvailable, args = Gst.init_check(None) -from . import debug -from .sound_generator import Icon, Tone - class sound: """Plays Icons and Tones.""" @@ -19,12 +16,8 @@ class sound: self._initialized = False self._source = None self._sink = None - if not _gstreamerAvailable: - msg = 'SOUND ERROR: Gstreamer is not available' - debug.println(debug.LEVEL_INFO, msg, True) return - self.init() def _onPlayerMessage(self, bus, message): @@ -33,8 +26,6 @@ class sound: elif message.type == Gst.MessageType.ERROR: self._player.set_state(Gst.State.NULL) error, info = message.parse_error() - msg = 'SOUND ERROR: %s' % error - debug.println(debug.LEVEL_INFO, msg, True) def _onPipelineMessage(self, bus, message): if message.type == Gst.MessageType.EOS: @@ -42,28 +33,20 @@ class sound: elif message.type == Gst.MessageType.ERROR: self._pipeline.set_state(Gst.State.NULL) error, info = message.parse_error() - msg = 'SOUND ERROR: %s' % error - debug.println(debug.LEVEL_INFO, msg, True) def _onTimeout(self, element): element.set_state(Gst.State.NULL) return False - def _playIcon(self, icon, interrupt=True): - """Plays a sound icon, interrupting the current play first unless specified.""" - + def playSoundFile(self, fileName, interrupt=True): if interrupt: - self._player.set_state(Gst.State.NULL) - - self._player.set_property('uri', 'file://%s' % icon.path) + self.stop() + self._player.set_property('uri', 'file://%s' % fileName) self._player.set_state(Gst.State.PLAYING) - def _playTone(self, tone, interrupt=True): - """Plays a tone, interrupting the current play first unless specified.""" - + def playFrequence(self, frequence, duration, adjustVolume, interrupt=True): if interrupt: - self._pipeline.set_state(Gst.State.NULL) - + self.stop() self._source.set_property('volume', tone.volume) self._source.set_property('freq', tone.frequency) self._source.set_property('wave', tone.wave) @@ -73,10 +56,8 @@ class sound: def init(self): """(Re)Initializes the Player.""" - if self._initialized: return - if not _gstreamerAvailable: return @@ -85,7 +66,7 @@ class sound: bus.add_signal_watch() bus.connect("message", self._onPlayerMessage) - self._pipeline = Gst.Pipeline(name='orca-pipeline') + self._pipeline = Gst.Pipeline(name='fenrir-pipeline') bus = self._pipeline.get_bus() bus.add_signal_watch() bus.connect("message", self._onPipelineMessage) @@ -98,37 +79,19 @@ class sound: self._initialized = True - def play(self, item, interrupt=True): - """Plays a sound, interrupting the current play first unless specified.""" - - if isinstance(item, Icon): - self._playIcon(item, interrupt) - elif isinstance(item, Tone): - self._playTone(item, interrupt) - else: - msg = 'SOUND ERROR: %s is not an Icon or Tone' % item - debug.println(debug.LEVEL_INFO, msg, True) - def stop(self, element=None): - """Stops play.""" - if not _gstreamerAvailable: return - if element: element.set_state(Gst.State.NULL) return - self._player.set_state(Gst.State.NULL) self._pipeline.set_state(Gst.State.NULL) def shutdown(self): - """Shuts down the sound utilities.""" - global _gstreamerAvailable if not _gstreamerAvailable: return - self.stop() self._initialized = False _gstreamerAvailable = False