From def1984b665624a7f6347fbb4e1595ec89740d02 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 28 Oct 2013 23:42:52 +0100 Subject: [PATCH] add tests for new graphers --- tests/test_graphing.py | 67 +++++++++++++------ timeside/grapher/__init__.py | 4 +- ...ectrogram_linear.py => spectrogram_lin.py} | 4 +- .../{spectrogram.py => spectrogram_log.py} | 8 +-- 4 files changed, 56 insertions(+), 27 deletions(-) rename timeside/grapher/{spectrogram_linear.py => spectrogram_lin.py} (95%) rename timeside/grapher/{spectrogram.py => spectrogram_log.py} (93%) diff --git a/tests/test_graphing.py b/tests/test_graphing.py index ecd628d..88676ba 100755 --- a/tests/test_graphing.py +++ b/tests/test_graphing.py @@ -158,34 +158,63 @@ class TestGraphing(TestCase): self.image = "/tmp/test_waveform_contour_wh_sweep_ogg.png" self.grapher = WaveformContourWhite(width=1024, height=256, bg_color=(255,255,255), color_scheme='default') - # SPECTROGRAMS + # LOG SPECTROGRAMS def testWav2Spectrogram(self): "Test WAV to Spectrogram" - from timeside.grapher.spectrogram import Spectrogram + from timeside.grapher.spectrogram_log import SpectrogramLog self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav") - self.image = "/tmp/test_spectrogram_sweep_wav.png" - self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + self.image = "/tmp/test_spectrogram_log_sweep_wav.png" + self.grapher = SpectrogramLog(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') - def testMp32Spectrogram(self): - "Test MP3 to Spectrogram" - from timeside.grapher.spectrogram import Spectrogram + def testMp32SpectrogramLog(self): + "Test MP3 to SpectrogramLog" + from timeside.grapher.spectrogram_log import SpectrogramLog self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.mp3") - self.image = "/tmp/test_spectrogram_sweep_mp3.png" - self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + self.image = "/tmp/test_spectrogram_log_sweep_mp3.png" + self.grapher = SpectrogramLog(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') - def testFlac2Spectrogram(self): - "Test FLAC to Spectrogram" - from timeside.grapher.spectrogram import Spectrogram + def testFlac2SpectrogramLog(self): + "Test FLAC to SpectrogramLog" + from timeside.grapher.spectrogram_log import SpectrogramLog self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac") - self.image = "/tmp/test_spectrogram_sweep_flac.png" - self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + self.image = "/tmp/test_spectrogram_log_sweep_flac.png" + self.grapher = SpectrogramLog(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') - def testOgg2Spectrogram(self): - "Test OGG to Spectrogram" - from timeside.grapher.spectrogram import Spectrogram + def testOgg2SpectrogramLog(self): + "Test OGG to SpectrogramLog" + from timeside.grapher.spectrogram_log import SpectrogramLog self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.ogg") - self.image = "/tmp/test_spectrogram_sweep_ogg.png" - self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + self.image = "/tmp/test_spectrogram_log_sweep_ogg.png" + self.grapher = SpectrogramLog(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + + # LIN SPECTROGRAMS + def testWav2Spectrogram(self): + "Test WAV to SpectrogramLinear" + from timeside.grapher.spectrogram_lin import SpectrogramLinear + self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav") + self.image = "/tmp/test_spectrogram_lin_sweep_wav.png" + self.grapher = SpectrogramLinear(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + + def testMp32SpectrogramLinear(self): + "Test MP3 to SpectrogramLinear" + from timeside.grapher.spectrogram_lin import SpectrogramLinear + self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.mp3") + self.image = "/tmp/test_spectrogram_lin_sweep_mp3.png" + self.grapher = SpectrogramLinear(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + + def testFlac2SpectrogramLinear(self): + "Test FLAC to SpectrogramLinear" + from timeside.grapher.spectrogram_lin import SpectrogramLinear + self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac") + self.image = "/tmp/test_spectrogram_lin_sweep_flac.png" + self.grapher = SpectrogramLinear(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') + + def testOgg2SpectrogramLinear(self): + "Test OGG to SpectrogramLinear" + from timeside.grapher.spectrogram_lin import SpectrogramLinear + self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.ogg") + self.image = "/tmp/test_spectrogram_lin_sweep_ogg.png" + self.grapher = SpectrogramLinear(width=1024, height=256, bg_color=(0,0,0), color_scheme='default') def tearDown(self): decoder = FileDecoder(self.source) diff --git a/timeside/grapher/__init__.py b/timeside/grapher/__init__.py index d49a41e..0d96038 100644 --- a/timeside/grapher/__init__.py +++ b/timeside/grapher/__init__.py @@ -5,5 +5,5 @@ from waveform_centroid import * from waveform_transparent import * from waveform_contour_black import * from waveform_contour_white import * -from spectrogram import * -from spectrogram_linear import * +from spectrogram_log import * +from spectrogram_lin import * diff --git a/timeside/grapher/spectrogram_linear.py b/timeside/grapher/spectrogram_lin.py similarity index 95% rename from timeside/grapher/spectrogram_linear.py rename to timeside/grapher/spectrogram_lin.py index 3ccdbc2..04df721 100644 --- a/timeside/grapher/spectrogram_linear.py +++ b/timeside/grapher/spectrogram_lin.py @@ -22,10 +22,10 @@ from timeside.core import implements, interfacedoc from timeside.api import IGrapher from timeside.grapher.core import * -from timeside.grapher.spectrogram import Spectrogram +from timeside.grapher.spectrogram_log import SpectrogramLog -class SpectrogramLinear(Spectrogram): +class SpectrogramLinear(SpectrogramLog): """ Builds a PIL image representing a spectrogram of the audio stream (level vs. frequency vs. time). Adds pixels iteratively thanks to the adapter providing fixed size frame buffers.""" diff --git a/timeside/grapher/spectrogram.py b/timeside/grapher/spectrogram_log.py similarity index 93% rename from timeside/grapher/spectrogram.py rename to timeside/grapher/spectrogram_log.py index 7d7f691..3f5349b 100644 --- a/timeside/grapher/spectrogram.py +++ b/timeside/grapher/spectrogram_log.py @@ -24,7 +24,7 @@ from timeside.api import IGrapher from timeside.grapher.core import * -class Spectrogram(Grapher): +class SpectrogramLog(Grapher): """ Builds a PIL image representing a spectrogram of the audio stream (level vs. frequency vs. time). Adds pixels iteratively thanks to the adapter providing fixed size frame buffers.""" @@ -32,7 +32,7 @@ class Spectrogram(Grapher): @interfacedoc def __init__(self, width=1024, height=256, bg_color=(0,0,0), color_scheme='default'): - super(Spectrogram, self).__init__(width, height, bg_color, color_scheme) + super(SpectrogramLog, self).__init__(width, height, bg_color, color_scheme) self.colors = default_color_schemes[color_scheme]['spectrogram'] self.pixels = [] self.y_to_bin = [] @@ -45,11 +45,11 @@ class Spectrogram(Grapher): @staticmethod @interfacedoc def name(): - return "Spectrogram" + return "SpectrogramLog" @interfacedoc def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None): - super(Spectrogram, self).setup(channels, samplerate, blocksize, totalframes) + super(SpectrogramLog, self).setup(channels, samplerate, blocksize, totalframes) self.image = Image.new("P", (self.image_height, self.image_width)) self.image.putpalette(interpolate_colors(self.colors, True)) self.set_scale() -- 2.39.5