]> git.parisson.com Git - timeside.git/commitdiff
Fix many PyFlake warnings
authorThomas Fillon <thomas@parisson.com>
Wed, 14 May 2014 14:54:28 +0000 (16:54 +0200)
committerThomas Fillon <thomas@parisson.com>
Wed, 14 May 2014 14:54:28 +0000 (16:54 +0200)
27 files changed:
timeside/analyzer/__init__.py
timeside/analyzer/aubio/aubio_specdesc.py
timeside/analyzer/irit_speech_4hz.py
timeside/analyzer/odf.py
timeside/analyzer/waveform.py
timeside/analyzer/yaafe.py
timeside/decoder/array.py
timeside/decoder/core.py
timeside/decoder/file.py
timeside/decoder/live.py
timeside/encoder/audiosink.py
timeside/encoder/core.py
timeside/encoder/flac.py
timeside/encoder/m4a.py
timeside/encoder/ogg.py
timeside/encoder/wav.py
timeside/encoder/webm.py
timeside/grapher/core.py
timeside/grapher/render_analyzers.py
timeside/grapher/spectrogram_lin.py
timeside/grapher/spectrogram_log.py
timeside/grapher/utils.py
timeside/grapher/waveform_centroid.py
timeside/grapher/waveform_contour.py
timeside/grapher/waveform_simple.py
timeside/grapher/waveform_transparent.py
timeside/tools/__init__.py

index 7da90fd52b7c79246469b7da44159d3588d20424..062ee5c0b2be077d05096d4f81f08772a3372c05 100644 (file)
@@ -10,6 +10,7 @@ except ImportError:
     WITH_AUBIO = False
 else:
     del aubio
+
 # Yaafe
 try:
     WITH_YAAFE = True
@@ -18,6 +19,7 @@ except ImportError:
     WITH_YAAFE = False
 else:
     del yaafelib
+
 # Vamp Plugins
 try:
     from . vamp_plugin import VampSimpleHost
index 40fbb639b3148f5124306d3717ae1ad5102a8aee..e74ae7587f958dc370703a4366be6a44b8c02944 100644 (file)
@@ -19,7 +19,7 @@
 
 # Author: Paul Brossier <piem@piem.org>
 
-from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
+from timeside.core import implements, interfacedoc
 from timeside.analyzer.core import Analyzer
 from timeside.api import IAnalyzer
 from timeside.analyzer.preprocessors import downmix_to_mono, frames_adapter
index 916e55dc5b361e2074d98ff85385d11d7e480ea4..73579f96a22367267571a8b13d05dcb6592c0d34 100644 (file)
@@ -24,7 +24,7 @@ from timeside.analyzer.core import Analyzer
 from timeside.analyzer.utils import melFilterBank, computeModulation
 from timeside.analyzer.utils import segmentFromValues
 from timeside.api import IAnalyzer
-from numpy import array, hamming, dot, mean, float, isnan
+from numpy import array, hamming, dot, mean, float
 from numpy.fft import rfft
 from scipy.signal import firwin, lfilter
 
index 7320296b728665d15aa7a1d957a798186c44d45a..5b05309d3da0b0079a4cdc4ee6a23e072f93abd1 100644 (file)
@@ -78,10 +78,6 @@ class OnsetDetectionFunction(Analyzer):
         # Low-pass filtering of the spectrogram amplitude along the time axis
         S = signal.lfilter(signal.hann(15)[8:], 1, abs(spectrogram), axis=0)
 
-        import matplotlib.pyplot as plt
-#        plt.figure()
-#        plt.imshow(np.log10(abs(spectrogram)), origin='lower', aspect='auto', interpolation='nearest')
-
         # Clip small value to a minimal threshold
         np.maximum(S, 1e-9, out=S)
 
index bdd1a9b156eab242a8014694082ab1b9f59acc52..713fbf72d072f20428c140fdb206bf5598c548f8 100644 (file)
@@ -24,8 +24,6 @@ from timeside.analyzer.core import Analyzer
 from timeside.api import IAnalyzer
 import numpy as np
 
-from timeside.analyzer.preprocessors import downmix_to_mono, frames_adapter
-
 
 class Waveform(Analyzer):
 
index f16386f8e7c690e4bc979eff161a7fcb4a88cd02..5312766e386f2c900c31c991955e60f666c96a94 100644 (file)
@@ -28,7 +28,7 @@ from timeside.api import IAnalyzer
 #from timeside.analyzer import WITH_YAAFE
 WITH_YAAFE = True
 if WITH_YAAFE:
-    from yaafelib import *
+    import yaafelib
 import numpy
 from timeside.analyzer.preprocessors import downmix_to_mono
 
@@ -42,21 +42,21 @@ class Yaafe(Analyzer):
 
         # Check arguments
         if yaafeSpecification is None:
-            yaafeSpecification = FeaturePlan(sample_rate=32000)
+            yaafeSpecification = yaafelib.FeaturePlan(sample_rate=32000)
             # add feature definitions manually
             yaafeSpecification.addFeature(
                 'mfcc: MFCC blockSize=512 stepSize=256')
 
-        if isinstance(yaafeSpecification, DataFlow):
+        if isinstance(yaafeSpecification, yaafelib.DataFlow):
             self.dataFlow = yaafeSpecification
-        elif isinstance(yaafeSpecification, FeaturePlan):
+        elif isinstance(yaafeSpecification, yaafelib.FeaturePlan):
             self.featurePlan = yaafeSpecification
             self.dataFlow = self.featurePlan.getDataFlow()
         else:
             raise TypeError("'%s' Type must be either '%s' or '%s'" %
                             (str(yaafeSpecification),
-                             str(DataFlow),
-                             str(FeaturePlan)))
+                             str(yaafelib.DataFlow),
+                             str(yaafelib.FeaturePlan)))
         self.yaafe_engine = None
 
     @interfacedoc
@@ -64,7 +64,7 @@ class Yaafe(Analyzer):
               blocksize=None, totalframes=None):
         super(Yaafe, self).setup(channels, samplerate, blocksize, totalframes)
         # Configure a YAAFE engine
-        self.yaafe_engine = Engine()
+        self.yaafe_engine = yaafelib.Engine()
         self.yaafe_engine.load(self.dataFlow)
         self.yaafe_engine.reset()
         self.input_samplerate = samplerate
index f5559adcb08c2160c4b799c00622e0d9eb460352..cbe0d8f7cdaa453ecfe00e482a15c171788611b0 100644 (file)
@@ -26,8 +26,8 @@
 # Guillaume Pellerin <yomguy@parisson.com>
 # Thomas Fillon <thomas@parisson.com>
 
-
-from timeside.decoder.core import *
+from timeside.core import implements, interfacedoc
+from timeside.decoder.core import Decoder, IDecoder
 import numpy as np
 
 
index 9c2307fb12a32f2023927aaf1f4a394163d66825..ac9c5511016e4f1b46144f5ad7ed67b9223b80ed 100644 (file)
@@ -30,7 +30,6 @@ from __future__ import division
 
 from timeside.core import Processor, implements, interfacedoc, abstract
 from timeside.api import IDecoder
-from timeside.tools import *
 
 
 class Decoder(Processor):
@@ -101,6 +100,3 @@ class Decoder(Processor):
     @interfacedoc
     def resolution(self):
         return self.input_width
-
-    def stop(self):
-        self.src.send_event(gst.event_new_eos())
index 2da8f6dadea5e8e499178237c74fecf796e5210b..b1caa3f11d7defac0495bec8ef5d4c636d5b6393 100644 (file)
@@ -29,7 +29,8 @@
 from __future__ import division
 
 from timeside.decoder.core import Decoder, IDecoder, implements, interfacedoc
-from timeside.tools.gstutils import MainloopThread, gobject, gst_buffer_to_numpy_array
+from timeside.tools.gstutils import MainloopThread, gobject
+from timeside.tools.gstutils import gst_buffer_to_numpy_array
 import threading
 
 from timeside.decoder.utils import get_uri, get_media_uri_info, stack, get_sha1
@@ -351,6 +352,8 @@ class FileDecoder(Decoder):
         # TODO check
         return self.tags
 
+    def stop(self):
+        self.src.send_event(gst.event_new_eos())
 
 if __name__ == "__main__":
     import doctest
index 70cd99714faf0c08fa1aad5154e8e5f9731c67d8..6f422dd394f8b60ae2daaf3c80ba982d4404e561 100644 (file)
 
 from __future__ import division
 
-from timeside.decoder.core import *
-from timeside.tools.gstutils import MainloopThread
-
+from timeside.decoder.core import Decoder, IDecoder, interfacedoc, implements
+from timeside.tools.gstutils import MainloopThread, gobject
+from . file import FileDecoder
 import Queue
-from gst import _gst as gst
+import threading
 
+from gst import _gst as gst
 
 GST_APPSINK_MAX_BUFFERS = 10
 QUEUE_SIZE = 10
 
 
-class LiveDecoder(Decoder):
-
+class LiveDecoder(FileDecoder):
     """ gstreamer-based decoder from live source"""
     implements(IDecoder)
 
-    output_blocksize = 8 * 1024
-
-    pipeline = None
-    mainloopthread = None
+    # IProcessor methods
 
     @staticmethod
     @interfacedoc
@@ -101,7 +98,6 @@ class LiveDecoder(Decoder):
         self.last_buffer = None
 
         # a lock to wait wait for gstreamer thread to be ready
-        import threading
         self.discovered_cond = threading.Condition(threading.Lock())
         self.discovered = False
 
@@ -174,88 +170,6 @@ class LiveDecoder(Decoder):
             else:
                 raise IOError('no known audio stream found')
 
-    def _notify_caps_cb(self, pad, args):
-        self.discovered_cond.acquire()
-
-        caps = pad.get_negotiated_caps()
-        if not caps:
-            pad.info("no negotiated caps available")
-            self.discovered = True
-            self.discovered_cond.notify()
-            self.discovered_cond.release()
-            return
-        # the caps are fixed
-        # We now get the total length of that stream
-        q = gst.query_new_duration(gst.FORMAT_TIME)
-        pad.info("sending duration query")
-        if pad.get_peer().query(q):
-            format, length = q.parse_duration()
-            if format == gst.FORMAT_TIME:
-                pad.info("got duration (time) : %s" % (gst.TIME_ARGS(length),))
-            else:
-                pad.info("got duration : %d [format:%d]" % (length, format))
-        else:
-            length = -1
-            gst.warning("duration query failed")
-
-        # We store the caps and length in the proper location
-        if "audio" in caps.to_string():
-            self.input_samplerate = caps[0]["rate"]
-            if not self.output_samplerate:
-                self.output_samplerate = self.input_samplerate
-            self.input_channels = caps[0]["channels"]
-            if not self.output_channels:
-                self.output_channels = self.input_channels
-            self.input_duration = length / 1.e9
-
-            self.input_totalframes = int(
-                self.input_duration * self.input_samplerate)
-            if "x-raw-float" in caps.to_string():
-                self.input_width = caps[0]["width"]
-            else:
-                self.input_width = caps[0]["depth"]
-
-        self.discovered = True
-        self.discovered_cond.notify()
-        self.discovered_cond.release()
-
-    def _on_message_cb(self, bus, message):
-        t = message.type
-        if t == gst.MESSAGE_EOS:
-            self.queue.put(gst.MESSAGE_EOS)
-            self.pipeline.set_state(gst.STATE_NULL)
-            self.mainloop.quit()
-        elif t == gst.MESSAGE_ERROR:
-            self.pipeline.set_state(gst.STATE_NULL)
-            err, debug = message.parse_error()
-            self.discovered_cond.acquire()
-            self.discovered = True
-            self.mainloop.quit()
-            self.error_msg = "Error: %s" % err, debug
-            self.discovered_cond.notify()
-            self.discovered_cond.release()
-        elif t == gst.MESSAGE_TAG:
-            # TODO
-            # msg.parse_tags()
-            pass
-
-    def _on_new_buffer_cb(self, sink):
-        buf = sink.emit('pull-buffer')
-        new_array = gst_buffer_to_numpy_array(buf, self.output_channels)
-
-        # print 'processing new buffer', new_array.shape
-        if self.last_buffer is None:
-            self.last_buffer = new_array
-        else:
-            self.last_buffer = np.concatenate(
-                (self.last_buffer, new_array), axis=0)
-        while self.last_buffer.shape[0] >= self.output_blocksize:
-            new_block = self.last_buffer[:self.output_blocksize]
-            self.last_buffer = self.last_buffer[self.output_blocksize:]
-            # print 'queueing', new_block.shape, 'remaining',
-            # self.last_buffer.shape
-            self.queue.put([new_block, False])
-
     @interfacedoc
     def process(self):
         buf = self.queue.get()
@@ -265,41 +179,11 @@ class LiveDecoder(Decoder):
         frames, eod = buf
         return frames, eod
 
-    @interfacedoc
-    def totalframes(self):
-        if self.input_samplerate == self.output_samplerate:
-            return self.input_totalframes
-        else:
-            ratio = self.output_samplerate / self.input_samplerate
-            return int(self.input_totalframes * ratio)
-
-    @interfacedoc
     def release(self):
-        if self.stack:
-            self.stack = False
-            self.from_stack = True
+        # TODO : check if stack support is needed here
+        #if self.stack:
+        #    self.stack = False
+        #    self.from_stack = True
         pass
 
     # IDecoder methods
-
-    @interfacedoc
-    def format(self):
-        # TODO check
-        if self.mimetype == 'application/x-id3':
-            self.mimetype = 'audio/mpeg'
-        return self.mimetype
-
-    @interfacedoc
-    def encoding(self):
-        # TODO check
-        return self.mimetype.split('/')[-1]
-
-    @interfacedoc
-    def resolution(self):
-        # TODO check: width or depth?
-        return self.input_width
-
-    @interfacedoc
-    def metadata(self):
-        # TODO check
-        return self.tags
index 542470098fdd618192968e5db01556a653019904..2bfc5c7f80e63168881b02ab80c02d17b5e5fc12 100644 (file)
@@ -23,7 +23,6 @@
 from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class AudioSink(GstEncoder):
index 72acbf2f4a98a3a79183d667fd9191e02596940f..c3e9a01dfe347efafb403e0473c00cbb2b06574c 100644 (file)
@@ -25,7 +25,7 @@
 from timeside.core import Processor, implements, interfacedoc
 from timeside.component import abstract
 from timeside.api import IEncoder
-from timeside.tools import numpy_array_to_gst_buffer, MainloopThread
+from timeside.tools.gstutils import numpy_array_to_gst_buffer, MainloopThread
 
 import pygst
 pygst.require('0.10')
index 542079bdc7232e4999ae8d174a1e8fc65ab80fd7..ac51143c04698c2b18b675348be1922e6a56b858 100644 (file)
 
 # Author: Guillaume Pellerin <yomguy@parisson.com>
 
-from timeside.core import Processor, implements, interfacedoc
+from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class FlacEncoder(GstEncoder):
index a036d21f40e094519cd333b7320eef4f88a82713..66c1ac9632ed3815e8245f77a65f391aa8bcb568 100644 (file)
@@ -22,7 +22,6 @@
 from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class AacEncoder(GstEncoder):
index cf1f249a0a6a58ed144e4c339d08b8a92d930571..da0aef03ccf82d15f458792515427cb9872013e8 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc
+from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class VorbisEncoder(GstEncoder):
index 99c9a4b1ba41f91131e8c5d63c5c2bcbd87ba1f5..03b77c5e2c5b201ae82b26f831ff63ae63133d54 100644 (file)
 
 # Author: Paul Brossier <piem@piem.org>
 
-from timeside.core import Processor, implements, interfacedoc
+from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class WavEncoder(GstEncoder):
index de01d48ca49e02d43eae39ce9235f26ee01f87ae..19523245bcf7ccb7c0f3d0a9212d96d38a434334 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc
+from timeside.core import implements, interfacedoc
 from timeside.encoder.core import GstEncoder
 from timeside.api import IEncoder
-from timeside.tools import *
 
 
 class WebMEncoder(GstEncoder):
index a77596e602a9a8602d8b7752d5fbe2281bf11a84..884ea80711c4e1ea3f908cdd4c76d10528fb6182 100644 (file)
 #   Guillaume Pellerin <yomguy@parisson.com>
 
 
-import optparse
 import math
-import sys
 import numpy
 
 try:
-    from PIL import ImageFilter, ImageChops, Image, ImageDraw, ImageColor, ImageEnhance
+    from PIL import Image, ImageDraw
 except ImportError:
-    import ImageFilter
-    import ImageChops
     import Image
     import ImageDraw
-    import ImageColor
-    import ImageEnhance
 
-from timeside.core import *
+from timeside.core import Processor, implements, interfacedoc, abstract
+from timeside.core import FixedSizeInputAdapter
 from timeside.api import IGrapher
-from timeside.grapher.color_schemes import default_color_schemes
-from utils import *
+from . utils import smooth, im_watermark, normalize
 
 
 class Spectrum(object):
 
     """ FFT based frequency analysis of audio frames."""
 
-    def __init__(self, fft_size, samplerate, blocksize, totalframes, lower, higher, window_function=None):
+    def __init__(self, fft_size, samplerate, blocksize,
+                 totalframes, lower, higher, window_function=None):
         self.fft_size = fft_size
         self.window = window_function(self.fft_size)
         self.window_function = window_function
@@ -70,7 +65,8 @@ class Spectrum(object):
             self.window = self.window_function(self.blocksize)
 
     def process(self, frames, eod, spec_range=120.0):
-        """ Returns a tuple containing the spectral centroid and the spectrum (dB scales) of the input audio frames.
+        """ Returns a tuple containing the spectral centroid and
+        the spectrum (dB scales) of the input audio frames.
         FFT window sizes are adatable to the input frame size."""
 
         samples = frames[:, 0]
@@ -108,8 +104,11 @@ class Spectrum(object):
                 (energy * (length - 1)) * \
                 self.samplerate * 0.5
             # clip > log10 > scale between 0 and 1
-            spectral_centroid = (math.log10(self.clip(spectral_centroid, self.lower, self.higher)) -
-                                 self.lower_log) / (self.higher_log - self.lower_log)
+            spectral_centroid = (math.log10(self.clip(spectral_centroid,
+                                                      self.lower,
+                                                      self.higher)) -
+                                 self.lower_log) / (self.higher_log -
+                                                    self.lower_log)
 
         return (spectral_centroid, db_spectrum)
 
index c16e9f3715312cdba3d204ec69c2c6e042f20208..8d438a9f1f5d68b0a33cdc1a8cff4e76b5694cbb 100644 (file)
@@ -22,7 +22,7 @@ from __future__ import division
 
 from timeside.core import implements, interfacedoc, abstract, get_processor
 from timeside.api import IGrapher
-from core import Grapher, Image
+from core import Grapher
 from .. import analyzer
 
 
index 6e51268081b7b163af26a0422a2381a20bf4124b..7e2e0ab617de9204fc7a27a35c97ffd647415d74 100644 (file)
@@ -21,7 +21,7 @@
 
 from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
+#from timeside.grapher.core import *
 from timeside.grapher.spectrogram_log import SpectrogramLog
 
 
index b3a8e96e08cf43f3bc51df065e416b2a094490d4..21be1d2c745e25850afda9f4533b3de241baa3bd 100644 (file)
 
 from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
+from timeside.grapher.core import Grapher, Image
+from timeside.grapher.color_schemes import default_color_schemes
+from . utils import interpolate_colors
+import math
 
 
 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."""
+    """ 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."""
 
     implements(IGrapher)
 
     @interfacedoc
-    def __init__(self, width=1024, height=256, bg_color=(0, 0, 0), color_scheme='default'):
+    def __init__(self, width=1024, height=256, bg_color=(0, 0, 0),
+                 color_scheme='default'):
         super(SpectrogramLog, self).__init__(
             width, height, bg_color, color_scheme)
         self.lower_freq = 100
@@ -51,7 +57,8 @@ class SpectrogramLog(Grapher):
         return "Spectrogram Log"
 
     @interfacedoc
-    def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None):
+    def setup(self, channels=None, samplerate=None, blocksize=None,
+              totalframes=None):
         super(SpectrogramLog, self).setup(
             channels, samplerate, blocksize, totalframes)
         self.image = self.image.convert("P")
index 7adbf3c616c4f6280d5d6ba53dd6bfcc37973b59..e6b190dad248547969fddd73f490ef16e268d464 100644 (file)
 #   Guillaume Pellerin <yomguy@parisson.com>
 
 try:
-    from PIL import ImageFilter, ImageChops, Image, ImageDraw, ImageColor, ImageEnhance
+    from PIL import Image, ImageDraw, ImageColor, ImageEnhance
 except ImportError:
-    import ImageFilter
-    import ImageChops
     import Image
     import ImageDraw
     import ImageColor
index dca091a642e12167e7313b9888d2837d07058c40..d0ef61ad1dc2a3c2e0b9339e0ad4245dc159c0fc 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
+from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
+from . utils import peaks, interpolate_colors
 from timeside.grapher.waveform_simple import Waveform
+from timeside.grapher.color_schemes import default_color_schemes
 
 
 class WaveformCentroid(Waveform):
index 1237dde5e2ade981c7aaed260f3fbcf63cde2bec..337c41268c1bb9cf76d6cff5df68ed427df10648 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
+from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
-from timeside.grapher.waveform_simple import Waveform
+#from timeside.grapher.core import *
+from . waveform_simple import Waveform
+from . utils import peaks
+
+import numpy
 
 
 class WaveformContourBlack(Waveform):
index c918f8b3e73dbe9d18bb6b9e96a42d463542d52a..43b9dda18ef8839c2040203fa88676a69676f4f6 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
+from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
+from timeside.grapher.core import Grapher
+from . utils import peaks
 
 
 class Waveform(Grapher):
index 1c4e9a580f5aa4289c3952153db462d25da3a405..7dfd1192820ae6c6f20577834db767859871a90c 100644 (file)
 # along with TimeSide.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
+from timeside.core import implements, interfacedoc
 from timeside.api import IGrapher
-from timeside.grapher.core import *
+#from timeside.grapher.core import *
 from timeside.grapher.waveform_simple import Waveform
+from . utils import peaks
 
 
 class WaveformTransparent(Waveform):
 
-    """ Builds a PIL image representing a transparent waveform of the audio stream.
+    """ Builds a PIL image representing a transparent waveform
+    of the audio stream.
     """
 
     implements(IGrapher)
 
     @interfacedoc
-    def __init__(self, width=1024, height=256, bg_color=None, color_scheme='default'):
+    def __init__(self, width=1024, height=256, bg_color=None,
+                 color_scheme='default'):
         super(WaveformTransparent, self).__init__(
             width, height, bg_color, color_scheme)
         self.line_color = (255, 255, 255)
@@ -49,7 +52,8 @@ class WaveformTransparent(Waveform):
         return "Waveform transparent"
 
     @interfacedoc
-    def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None):
+    def setup(self, channels=None, samplerate=None, blocksize=None,
+              totalframes=None):
         super(WaveformTransparent, self).setup(
             channels, samplerate, blocksize, totalframes)
 
index beb42d1bb1eef204cc067fcd66f2fcc2a9932802..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,3 +0,0 @@
-from cache import Cache
-from logger import Logger
-from gstutils import *