From f67a1150e9f23c8b23e83b10cc97b2a43d59215f Mon Sep 17 00:00:00 2001 From: Antoine van Gelder Date: Tue, 30 Oct 2007 20:45:00 +0000 Subject: * Feature: If no sound set, play default sound: laugh_attack.au * Fixed: Activity icon now adopts users color scheme * Fixed: Temp directory now rooted off activity.get_activity_root() * Fixed: Moved locale/ dir back to po/ * Fixed: Temp filenames now created using more secure tempfile.mkstemp() * i18n: Changed pot files to utf-8 --- (limited to 'util') diff --git a/util/audioplayer.py b/util/audioplayer.py index 911fa42..dacf51f 100644 --- a/util/audioplayer.py +++ b/util/audioplayer.py @@ -23,19 +23,19 @@ from util.decorators import Property class AudioPlayer(object): - + def __init__(self): pass - - + + @Property def uri(): def get(self): return self.__uri def set(self, value): if value is None or not os.path.exists(value): - logging.error('AudioPlayer- Invalid URI: %r', value) - return - self.__uri = value + logging.error('AudioPlayer - Invalid URI: %r', value) + return + self.__uri = value size = os.path.getsize(self.__uri) self.pipeline.get_by_name('source').set_property('location', self.__uri) self.pipeline.get_by_name('source').set_property('mmapsize', size) @@ -45,28 +45,26 @@ class AudioPlayer(object): def raw(): def get(self): if self.uri is None: - logging.error('AudioPlayer - No data') - return None + logging.error('AudioPlayer - No data') + return None f = open(self.uri, 'r') raw = f.read() f.close() return raw def set(self, value): - temp = Globals.temporary_filename() - f = open(temp, 'w') + name = Globals.temporary_filename() + f = open(name, 'w') f.write(value) f.close() - #self.source.set_property('location', temp) - #self.source.set_property('mmapsize', len(value)) - self.uri = temp - logging.debug('AudioPlayer - set_raw wrote %d bytes to %s', len(value), temp) + self.uri = name + logging.debug('AudioPlayer - set_raw wrote %d bytes to %s', len(value), name) @Property def pipeline(): def get(self): if self.__pipeline is None: - self.__pipeline = self.__build_pipeline() + self.__pipeline = self.__build_pipeline() return self.__pipeline @@ -80,11 +78,11 @@ class AudioPlayer(object): def __build_pipeline(self): # pipeline pipeline = gst.Pipeline('pipeline') - + # add source source = gst.element_factory_make('filesrc', 'source') pipeline.add(source) - + # add decoder decoder = gst.element_factory_make('decodebin', 'decoder') decoder.connect("new-decoded-pad", self.__new_decoded_pad) #, converter) @@ -94,27 +92,27 @@ class AudioPlayer(object): # add converter converter = gst.element_factory_make("audioconvert", "converter") pipeline.add(converter) - + # add output sink = gst.element_factory_make('autoaudiosink', 'sink') pipeline.add(sink) converter.link(sink) - + bus = pipeline.get_bus() bus.add_signal_watch() bus.connect('message', self.__on_audio_message) - + return pipeline - - + + # callbacks ################################################################## - + def __new_decoded_pad(self, dbin, pad, islast): #, converter) converter = self.pipeline.get_by_name('converter') # TODO - pass by arg pad.link(converter.get_pad("sink")) - - + + def __on_audio_message(self, bus, message): t = message.type #logging.debug('message: %r' % t) -- cgit v0.9.1