From: Thomas Fillon Date: Thu, 17 Jul 2014 11:55:09 +0000 (+0200) Subject: Merge Dev into parameters_with_traits X-Git-Tag: 0.6~4^2~51^2~1 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=1d25a3dfebeb5697b50e3fb3606bd1f7664662ad;p=timeside.git Merge Dev into parameters_with_traits --- 1d25a3dfebeb5697b50e3fb3606bd1f7664662ad diff --cc doc/source/tutorial/AnalyzerResult.rst index 8f4d65c,1a51b68..a9b6918 --- a/doc/source/tutorial/AnalyzerResult.rst +++ b/doc/source/tutorial/AnalyzerResult.rst @@@ -40,10 -40,9 +40,9 @@@ Create a new analyzer result without de >>> for key,value in res.items(): ... print '%s : %s' % (key, value) ... - id_metadata : {'description': '', 'author': '', 'uuid': '', 'version': '', 'date': '', 'id': '', 'unit': '', 'name': ''} + id_metadata : {'description': '', 'author': '', 'res_uuid': '', 'version': '', 'date': '', 'proc_uuid': '', 'id': '', 'unit': '', 'name': ''} - data_object : {'value': array([], dtype=float64)} + data_object : {'y_value': array([], dtype=float64), 'value': array([], dtype=float64), 'frame_metadata': {'blocksize': None, 'samplerate': None, 'stepsize': None}} audio_metadata : {'sha1': '', 'is_segment': None, 'uri': '', 'channels': None, 'start': 0, 'channelsManagement': '', 'duration': None} - frame_metadata : {'blocksize': None, 'samplerate': None, 'stepsize': None} parameters : {} diff --cc doc/source/tutorial/quick_start.rst index ae74997,d86fc3d..ad78143 --- a/doc/source/tutorial/quick_start.rst +++ b/doc/source/tutorial/quick_start.rst @@@ -62,4 -62,4 +62,5 @@@ analysis and encoding >>> encoders = get_processor('gst_mp3_enc')('sweep.mp3') | get_processor('gst_flac_enc')('sweep.flac') >>> (decoder | levels | encoders).run() >>> print levels.results - {'...': GlobalValueResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=DataObject(value=array([-6.021])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), '...': GlobalValueResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=DataObject(value=array([-9.856])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})} - {'level.max': AnalyzerResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=GlobalValueObject(value=array([-6.021]), y_value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), 'level.rms': AnalyzerResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid=...'), data_object=GlobalValueObject(value=array([-9.856]), y_value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})} ++ {'...': GlobalValueResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=DataObject(value=array([-6.021])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), '...': GlobalValueResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=GlobalValueObject(value=array([-9.856]), y_value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})} ++ diff --cc timeside/analyzer/core.py index 0ba94bb,8b5d310..254ca19 --- a/timeside/analyzer/core.py +++ b/timeside/analyzer/core.py @@@ -876,7 -911,7 +913,7 @@@ class AnalyzerResultContainer(dict) >>> a = Analyzer() >>> (d|a).run() >>> a.new_result() #doctest: +ELLIPSIS - FrameValueResult(id_metadata=IdMetadata(id='analyzer', name='Generic analyzer', unit='', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=DataObject(value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='...', start=0.0, duration=8.0..., is_segment=False, sha1='...', channels=2, channelsManagement=''), frame_metadata=FrameMetadata(samplerate=44100, blocksize=8192, stepsize=8192), parameters={}) - AnalyzerResult(id_metadata=IdMetadata(id='analyzer', name='Generic analyzer', unit='', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=44100, blocksize=8192, stepsize=8192)), audio_metadata=AudioMetadata(uri='...', start=0.0, duration=8.0..., is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}) ++ FrameValueResult(id_metadata=IdMetadata(id='analyzer', name='Generic analyzer', unit='', description='', date='...', version='...', author='TimeSide', proc_uuid='...', res_uuid='...'), data_object=FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), audio_metadata=AudioMetadata(uri='...', start=0.0, duration=8.0..., is_segment=False, sha1='...', channels=2, channelsManagement=''), frame_metadata=FrameMetadata(samplerate=44100, blocksize=8192, stepsize=8192), parameters={}) >>> resContainer = timeside.analyzer.core.AnalyzerResultContainer() ''' diff --cc timeside/grapher/render_analyzers.py index f976207,35fed4b..50509bc --- a/timeside/grapher/render_analyzers.py +++ b/timeside/grapher/render_analyzers.py @@@ -53,14 -53,28 +53,28 @@@ class DisplayAnalyzer(Grapher) @interfacedoc def post_process(self): - - parent_result = self.process_pipe.results[self._result_id] + pipe_result = self.process_pipe.results + parent_result = pipe_result.get_result_by_id(self._result_id) - self.image = parent_result._render_PIL((self.image_width, - self.image_height), self.dpi) + fg_image = parent_result._render_PIL((self.image_width, + self.image_height), self.dpi) + if self._background: + bg_result = self.process_pipe.results[self._bg_id] + bg_image = bg_result._render_PIL((self.image_width, + self.image_height), self.dpi) + # convert image to grayscale + bg_image = bg_image.convert('LA').convert('RGBA') + + # Merge background and foreground images + from PIL.Image import blend + fg_image = blend(fg_image, bg_image, 0.25) + + self.image = fg_image @classmethod - def create(cls, analyzer, result_id, grapher_id, grapher_name): + def create(cls, analyzer, analyzer_parameters={}, result_id=None, + grapher_id=None, grapher_name=None, + background=None): class NewGrapher(cls):