To make Fenrir easier to approach for new developer, start code migration to be pep8 compliant.
This commit is contained in:
@ -5,7 +5,8 @@
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
from fenrirscreenreader.core import debug
|
||||
import time, threading
|
||||
import time
|
||||
import threading
|
||||
from fenrirscreenreader.core.soundDriver import soundDriver
|
||||
|
||||
_gstreamerAvailable = False
|
||||
@ -19,19 +20,21 @@ except Exception as e:
|
||||
_gstreamerAvailable = False
|
||||
_availableError = str(e)
|
||||
|
||||
|
||||
class driver(soundDriver):
|
||||
def __init__(self):
|
||||
soundDriver.__init__(self)
|
||||
self._source = None
|
||||
self._sink = None
|
||||
|
||||
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
global _gstreamerAvailable
|
||||
self._initialized = _gstreamerAvailable
|
||||
if not self._initialized:
|
||||
global _availableError
|
||||
self.environment['runtime']['debug'].writeDebugOut('Gstreamer not available ' + _availableError,debug.debugLevel.ERROR)
|
||||
self.environment['runtime']['debug'].writeDebugOut(
|
||||
'Gstreamer not available ' + _availableError, debug.debugLevel.ERROR)
|
||||
return
|
||||
self._player = Gst.ElementFactory.make('playbin', 'player')
|
||||
bus = self._player.get_bus()
|
||||
@ -59,28 +62,33 @@ class driver(soundDriver):
|
||||
self.mainloop.quit()
|
||||
# Wait for the GLib MainLoop thread to finish to prevent shutdown races
|
||||
if hasattr(self, 'thread') and self.thread.is_alive():
|
||||
self.thread.join(timeout=2.0) # 2 second timeout to prevent hanging
|
||||
# 2 second timeout to prevent hanging
|
||||
self.thread.join(timeout=2.0)
|
||||
|
||||
def _onPlayerMessage(self, bus, message):
|
||||
if not self._initialized:
|
||||
return
|
||||
return
|
||||
if message.type == Gst.MessageType.EOS:
|
||||
self._player.set_state(Gst.State.NULL)
|
||||
elif message.type == Gst.MessageType.ERROR:
|
||||
self._player.set_state(Gst.State.NULL)
|
||||
error, info = message.parse_error()
|
||||
self.env['runtime']['debug'].writeDebugOut('GSTREAMER: _onPlayerMessage'+ str(error) + str(info),debug.debugLevel.WARNING)
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'GSTREAMER: _onPlayerMessage' + str(error) + str(info),
|
||||
debug.debugLevel.WARNING)
|
||||
|
||||
def _onPipelineMessage(self, bus, message):
|
||||
if not self._initialized:
|
||||
return
|
||||
return
|
||||
if message.type == Gst.MessageType.EOS:
|
||||
self._pipeline.set_state(Gst.State.NULL)
|
||||
elif message.type == Gst.MessageType.ERROR:
|
||||
self._pipeline.set_state(Gst.State.NULL)
|
||||
error, info = message.parse_error()
|
||||
self.env['runtime']['debug'].writeDebugOut('GSTREAMER: _onPipelineMessage'+ str(error) + str(info),debug.debugLevel.WARNING)
|
||||
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'GSTREAMER: _onPipelineMessage' + str(error) + str(info),
|
||||
debug.debugLevel.WARNING)
|
||||
|
||||
def _onTimeout(self, element):
|
||||
if not self._initialized:
|
||||
return
|
||||
@ -95,7 +103,12 @@ class driver(soundDriver):
|
||||
self._player.set_property('uri', 'file://%s' % fileName)
|
||||
self._player.set_state(Gst.State.PLAYING)
|
||||
|
||||
def playFrequence(self, frequence, duration, adjustVolume = 0.0, interrupt=True):
|
||||
def playFrequence(
|
||||
self,
|
||||
frequence,
|
||||
duration,
|
||||
adjustVolume=0.0,
|
||||
interrupt=True):
|
||||
if not self._initialized:
|
||||
return
|
||||
if interrupt:
|
||||
|
Reference in New Issue
Block a user