prepare for remake input handling, prepare other stuff

This commit is contained in:
chrys
2016-09-02 21:37:36 +02:00
parent 1998ca15e8
commit 7227f52ac7
81 changed files with 705 additions and 314 deletions

View File

@@ -18,8 +18,32 @@ class sound:
self.volume = 1
if not _gstreamerAvailable:
return
self.init()
def initialize(self, environment):
if self._initialized:
return environment
if not _gstreamerAvailable:
return environment
self._player = Gst.ElementFactory.make('playbin', 'player')
bus = self._player.get_bus()
bus.add_signal_watch()
bus.connect("message", self._onPlayerMessage)
self._pipeline = Gst.Pipeline(name='fenrir-pipeline')
bus = self._pipeline.get_bus()
bus.add_signal_watch()
bus.connect("message", self._onPipelineMessage)
self._source = Gst.ElementFactory.make('audiotestsrc', 'src')
self._sink = Gst.ElementFactory.make('autoaudiosink', 'output')
self._pipeline.add(self._source)
self._pipeline.add(self._sink)
self._source.link(self._sink)
self._initialized = True
return environment
def shutdown(self, environment):
return environment
def _onPlayerMessage(self, bus, message):
if message.type == Gst.MessageType.EOS:
@@ -58,30 +82,6 @@ class sound:
duration = int(1000 * tone.duration)
GLib.timeout_add(duration, self._onTimeout, self._pipeline)
def init(self):
if self._initialized:
return
if not _gstreamerAvailable:
return
self._player = Gst.ElementFactory.make('playbin', 'player')
bus = self._player.get_bus()
bus.add_signal_watch()
bus.connect("message", self._onPlayerMessage)
self._pipeline = Gst.Pipeline(name='fenrir-pipeline')
bus = self._pipeline.get_bus()
bus.add_signal_watch()
bus.connect("message", self._onPipelineMessage)
self._source = Gst.ElementFactory.make('audiotestsrc', 'src')
self._sink = Gst.ElementFactory.make('autoaudiosink', 'output')
self._pipeline.add(self._source)
self._pipeline.add(self._sink)
self._source.link(self._sink)
self._initialized = True
def cancel(self, element=None):
if not _gstreamerAvailable:
return

View File

@@ -4,6 +4,10 @@ import subprocess
class sound():
def __init__(self):
self.volume = 1.0;
def initialize(self, environment):
return environment
def shutdown(self, environment):
return environment
def playFrequence(self, frequence, duration, adjustVolume):
pass
def playSoundFile(self, filePath, interrupt = True):