]> git.parisson.com Git - timeside.git/commitdiff
Merge Dev into parameters_with_traits
authorThomas Fillon <thomas@parisson.com>
Thu, 17 Jul 2014 11:55:09 +0000 (13:55 +0200)
committerThomas Fillon <thomas@parisson.com>
Thu, 17 Jul 2014 11:55:09 +0000 (13:55 +0200)
1  2 
doc/source/tutorial/AnalyzerResult.rst
doc/source/tutorial/quick_start.rst
setup.py
timeside/analyzer/core.py
timeside/analyzer/limsi_sad.py
timeside/analyzer/spectrogram.py
timeside/core.py
timeside/grapher/render_analyzers.py

index 8f4d65cac97523897af6291497799c685dae673f,1a51b6842f6427729aacc9a3d5f75bc4fb4c121a..a9b6918b6722ff057bd85e8c201375cdf5089957
@@@ -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 : {}
  
  
index ae74997e2482045ee130c7d61f69b925a0fba6f6,d86fc3d8df8987b3603d436d579c53866fa46dd9..ad781430b96ed46b6eabbee567e8f76c588536e8
@@@ -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 setup.py
Simple merge
index 0ba94bb13530e69f9e7a839f26959ac530333910,8b5d31038fcc18d822c61f2facc0fe3d4a093d03..254ca19d5ac9c308968c3c409f79d47d47a792b9
@@@ -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()
      '''
  
Simple merge
Simple merge
Simple merge
index f9762071065cba36332355aded290c7c2e0f79a3,35fed4b832e3a59a6c3ee29a267581db50a7fc1a..50509bcdebab74b88d201bdb2edf560fc6f00067
@@@ -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):