--- /dev/null
+timeside timeside-module.html
+timeside.analyze timeside.analyze-module.html
+timeside.analyze.channels timeside.analyze.channels-module.html
+timeside.analyze.core timeside.analyze.core-module.html
+timeside.analyze.dc timeside.analyze.dc-module.html
+timeside.analyze.duration timeside.analyze.duration-module.html
+timeside.analyze.encoding timeside.analyze.encoding-module.html
+timeside.analyze.format timeside.analyze.format-module.html
+timeside.analyze.max_level timeside.analyze.max_level-module.html
+timeside.analyze.mean_level timeside.analyze.mean_level-module.html
+timeside.analyze.resolution timeside.analyze.resolution-module.html
+timeside.analyze.samplerate timeside.analyze.samplerate-module.html
+timeside.analyze.vamp timeside.analyze.vamp-module.html
+timeside.analyze.vamp.core timeside.analyze.vamp.core-module.html
+timeside.api timeside.api-module.html
+timeside.component timeside.component-module.html
+timeside.component.implements timeside.component-module.html#implements
+timeside.component.extend_unique timeside.component-module.html#extend_unique
+timeside.component.find_implementations timeside.component-module.html#find_implementations
+timeside.component.abstract timeside.component-module.html#abstract
+timeside.component.implementations timeside.component-module.html#implementations
+timeside.component.interfacedoc timeside.component-module.html#interfacedoc
+timeside.core timeside.core-module.html
+timeside.core.implements timeside.core-module.html#implements
+timeside.core.get_processor timeside.core-module.html#get_processor
+timeside.core.processors timeside.core-module.html#processors
+timeside.core._processors timeside.core-module.html#_processors
+timeside.core.abstract timeside.core-module.html#abstract
+timeside.core.interfacedoc timeside.core-module.html#interfacedoc
+timeside.decode timeside.decode-module.html
+timeside.decode.core timeside.decode.core-module.html
+timeside.decode.flac timeside.decode.flac-module.html
+timeside.decode.mp3 timeside.decode.mp3-module.html
+timeside.decode.ogg timeside.decode.ogg-module.html
+timeside.decode.wav timeside.decode.wav-module.html
+timeside.encode timeside.encode-module.html
+timeside.encode.core timeside.encode.core-module.html
+timeside.encode.flac timeside.encode.flac-module.html
+timeside.encode.mp3 timeside.encode.mp3-module.html
+timeside.encode.ogg timeside.encode.ogg-module.html
+timeside.encode.wav timeside.encode.wav-module.html
+timeside.exceptions timeside.exceptions-module.html
+timeside.grapher timeside.grapher-module.html
+timeside.grapher.color_schemes timeside.grapher-module.html#color_schemes
+timeside.grapher.core timeside.grapher.core-module.html
+timeside.grapher.core.color_schemes timeside.grapher.core-module.html#color_schemes
+timeside.grapher.core.interpolate_colors timeside.grapher.core-module.html#interpolate_colors
+timeside.grapher.spectrogram_audiolab timeside.grapher.spectrogram_audiolab-module.html
+timeside.grapher.spectrogram_audiolab.color_schemes timeside.grapher.spectrogram_audiolab-module.html#color_schemes
+timeside.grapher.waveform_audiolab timeside.grapher.waveform_audiolab-module.html
+timeside.grapher.waveform_audiolab.color_schemes timeside.grapher.waveform_audiolab-module.html#color_schemes
+timeside.metadata timeside.metadata-module.html
+timeside.tests timeside.tests-module.html
+timeside.tests.alltests timeside.tests.alltests-module.html
+timeside.tests.api timeside.tests.api-module.html
+timeside.tests.api.examples timeside.tests.api.examples-module.html
+timeside.tests.api.examples.color_schemes timeside.tests.api.examples-module.html#color_schemes
+timeside.tests.api.examples.implements timeside.component-module.html#implements
+timeside.tests.api.examples.interfacedoc timeside.component-module.html#interfacedoc
+timeside.tests.api.gstreamer timeside.tests.api.gstreamer-module.html
+timeside.tests.api.gstreamer.implements timeside.component-module.html#implements
+timeside.tests.api.gstreamer.interfacedoc timeside.component-module.html#interfacedoc
+timeside.tests.api.test_lolevel timeside.tests.api.test_lolevel-module.html
+timeside.tests.api.test_lolevel.nframes timeside.tests.api.test_lolevel-module.html#nframes
+timeside.tests.api.test_lolevel.destination timeside.tests.api.test_lolevel-module.html#destination
+timeside.tests.api.test_lolevel.use_gst timeside.tests.api.test_lolevel-module.html#use_gst
+timeside.tests.api.test_lolevel.nchannels timeside.tests.api.test_lolevel-module.html#nchannels
+timeside.tests.api.test_lolevel.eod timeside.tests.api.test_lolevel-module.html#eod
+timeside.tests.api.test_lolevel.max_level timeside.tests.api.test_lolevel-module.html#max_level
+timeside.tests.api.test_lolevel.effect timeside.tests.api.test_lolevel-module.html#effect
+timeside.tests.api.test_lolevel.analyzer timeside.tests.api.test_lolevel-module.html#analyzer
+timeside.tests.api.test_lolevel.source timeside.tests.api.test_lolevel-module.html#source
+timeside.tests.api.test_lolevel.decoder timeside.tests.api.test_lolevel-module.html#decoder
+timeside.tests.api.test_lolevel.frames timeside.tests.api.test_lolevel-module.html#frames
+timeside.tests.api.test_lolevel.samplerate timeside.tests.api.test_lolevel-module.html#samplerate
+timeside.tests.api.test_lolevel.encoder timeside.tests.api.test_lolevel-module.html#encoder
+timeside.tests.api.test_lolevel.gain timeside.tests.api.test_lolevel-module.html#gain
+timeside.tests.api.test_pipe timeside.tests.api.test_pipe-module.html
+timeside.tests.api.test_pipe.duration timeside.tests.api.test_pipe-module.html#duration
+timeside.tests.api.test_pipe.source timeside.tests.api.test_pipe-module.html#source
+timeside.tests.api.test_pipe.encoder timeside.tests.api.test_pipe-module.html#encoder
+timeside.tests.api.test_pipe.gain timeside.tests.api.test_pipe-module.html#gain
+timeside.tests.api.test_pipe.decoder timeside.tests.api.test_pipe-module.html#decoder
+timeside.tests.api.test_pipe.maxlevel timeside.tests.api.test_pipe-module.html#maxlevel
+timeside.tests.api.test_pipe.use_gst timeside.tests.api.test_pipe-module.html#use_gst
+timeside.tests.api.test_pipe.fixed timeside.tests.api.test_pipe-module.html#fixed
+timeside.tests.api.test_pipe.subpipe timeside.tests.api.test_pipe-module.html#subpipe
+timeside.tests.api.test_pipe_spectrogram timeside.tests.api.test_pipe_spectrogram-module.html
+timeside.tests.api.test_pipe_spectrogram.spectrogram timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram
+timeside.tests.api.test_pipe_spectrogram.source timeside.tests.api.test_pipe_spectrogram-module.html#source
+timeside.tests.api.test_pipe_spectrogram.image_file timeside.tests.api.test_pipe_spectrogram-module.html#image_file
+timeside.tests.api.test_pipe_spectrogram.decoder timeside.tests.api.test_pipe_spectrogram-module.html#decoder
+timeside.tests.api.test_pipe_spectrogram.use_gst timeside.tests.api.test_pipe_spectrogram-module.html#use_gst
+timeside.tests.api.test_pipe_waveform timeside.tests.api.test_pipe_waveform-module.html
+timeside.tests.api.test_pipe_waveform.waveform timeside.tests.api.test_pipe_waveform-module.html#waveform
+timeside.tests.api.test_pipe_waveform.source timeside.tests.api.test_pipe_waveform-module.html#source
+timeside.tests.api.test_pipe_waveform.image_file timeside.tests.api.test_pipe_waveform-module.html#image_file
+timeside.tests.api.test_pipe_waveform.decoder timeside.tests.api.test_pipe_waveform-module.html#decoder
+timeside.tests.api.test_pipe_waveform.use_gst timeside.tests.api.test_pipe_waveform-module.html#use_gst
+timeside.tests.listprocessors timeside.tests.listprocessors-module.html
+timeside.tests.listprocessors.list_processors timeside.tests.listprocessors-module.html#list_processors
+timeside.tests.test timeside.tests.test-module.html
+timeside.tests.test.mimetype timeside.tests.test-module.html#mimetype
+timeside.tests.testcomponent timeside.tests.testcomponent-module.html
+timeside.tests.testinputadapter timeside.tests.testinputadapter-module.html
+exceptions.AssertionError exceptions.AssertionError-class.html
+exceptions.AssertionError.__init__ exceptions.AssertionError-class.html#__init__
+exceptions.AssertionError.__new__ exceptions.AssertionError-class.html#__new__
+timeside.analyze.channels.ChannelAnalyser timeside.analyze.channels.ChannelAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.channels.ChannelAnalyser.render timeside.analyze.channels.ChannelAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.analyze.channels.ChannelAnalyser.unit timeside.analyze.channels.ChannelAnalyser-class.html#unit
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.channels.ChannelAnalyser.id timeside.analyze.channels.ChannelAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.channels.ChannelAnalyser.name timeside.analyze.channels.ChannelAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.core.AudioProcessor timeside.analyze.core.AudioProcessor-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.dc.MeanDCShiftAnalyser timeside.analyze.dc.MeanDCShiftAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.dc.MeanDCShiftAnalyser.render timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.dc.MeanDCShiftAnalyser.id timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.dc.MeanDCShiftAnalyser.unit timeside.analyze.dc.MeanDCShiftAnalyser-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.dc.MeanDCShiftAnalyser.name timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.duration.DurationAnalyzer timeside.analyze.duration.DurationAnalyzer-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.duration.DurationAnalyzer.render timeside.analyze.duration.DurationAnalyzer-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.duration.DurationAnalyzer.id timeside.analyze.duration.DurationAnalyzer-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.duration.DurationAnalyzer.unit timeside.analyze.duration.DurationAnalyzer-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.duration.DurationAnalyzer.name timeside.analyze.duration.DurationAnalyzer-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.encoding.EncodingAnalyser timeside.analyze.encoding.EncodingAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.encoding.EncodingAnalyser.render timeside.analyze.encoding.EncodingAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.encoding.EncodingAnalyser.id timeside.analyze.encoding.EncodingAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.encoding.EncodingAnalyser.unit timeside.analyze.encoding.EncodingAnalyser-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.encoding.EncodingAnalyser.name timeside.analyze.encoding.EncodingAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.format.FormatAnalyser timeside.analyze.format.FormatAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.format.FormatAnalyser.render timeside.analyze.format.FormatAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.format.FormatAnalyser.id timeside.analyze.format.FormatAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.format.FormatAnalyser.unit timeside.analyze.format.FormatAnalyser-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.format.FormatAnalyser.name timeside.analyze.format.FormatAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.max_level.MaxLevelAnalyzer timeside.analyze.max_level.MaxLevelAnalyzer-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.max_level.MaxLevelAnalyzer.render timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.max_level.MaxLevelAnalyzer.id timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.max_level.MaxLevelAnalyzer.unit timeside.analyze.max_level.MaxLevelAnalyzer-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.max_level.MaxLevelAnalyzer.name timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.mean_level.MeanLevelAnalyser timeside.analyze.mean_level.MeanLevelAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.mean_level.MeanLevelAnalyser.render timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.mean_level.MeanLevelAnalyser.id timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.mean_level.MeanLevelAnalyser.unit timeside.analyze.mean_level.MeanLevelAnalyser-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.mean_level.MeanLevelAnalyser.name timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.resolution.ResolutionAnalyser timeside.analyze.resolution.ResolutionAnalyser-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.resolution.ResolutionAnalyser.render timeside.analyze.resolution.ResolutionAnalyser-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.resolution.ResolutionAnalyser.id timeside.analyze.resolution.ResolutionAnalyser-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.resolution.ResolutionAnalyser.unit timeside.analyze.resolution.ResolutionAnalyser-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.resolution.ResolutionAnalyser.name timeside.analyze.resolution.ResolutionAnalyser-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.samplerate.SampleRateAnalyzer timeside.analyze.samplerate.SampleRateAnalyzer-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.analyze.samplerate.SampleRateAnalyzer.render timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.analyze.samplerate.SampleRateAnalyzer.id timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id
+timeside.analyze.core.AudioProcessor.pre_process timeside.analyze.core.AudioProcessor-class.html#pre_process
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.analyze.samplerate.SampleRateAnalyzer.unit timeside.analyze.samplerate.SampleRateAnalyzer-class.html#unit
+timeside.analyze.core.AudioProcessor.spectral_centroid timeside.analyze.core.AudioProcessor-class.html#spectral_centroid
+timeside.analyze.core.AudioProcessor.peaks timeside.analyze.core.AudioProcessor-class.html#peaks
+timeside.analyze.core.AudioProcessor.read timeside.analyze.core.AudioProcessor-class.html#read
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.analyze.core.AudioProcessor.get_mono_samples timeside.analyze.core.AudioProcessor-class.html#get_mono_samples
+timeside.analyze.core.AudioProcessor.get_samples timeside.analyze.core.AudioProcessor-class.html#get_samples
+timeside.analyze.samplerate.SampleRateAnalyzer.name timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.analyze.core.AudioProcessor.__init__ timeside.analyze.core.AudioProcessor-class.html#__init__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.analyze.vamp.core.VampCoreAnalyzer timeside.analyze.vamp.core.VampCoreAnalyzer-class.html
+timeside.analyze.vamp.core.VampCoreAnalyzer.name timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name
+timeside.analyze.vamp.core.VampCoreAnalyzer.render timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render
+timeside.analyze.vamp.core.VampCoreAnalyzer.get_wav_path timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_wav_path
+timeside.analyze.vamp.core.VampCoreAnalyzer.get_plugins_list timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_plugins_list
+timeside.analyze.vamp.core.VampCoreAnalyzer.core_process timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process
+timeside.analyze.vamp.core.VampCoreAnalyzer.unit timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#unit
+timeside.analyze.vamp.core.VampCoreAnalyzer.id timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id
+timeside.analyze.vamp.core.VampCoreAnalyzer.__init__ timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#__init__
+timeside.api.IAnalyzer timeside.api.IAnalyzer-class.html
+timeside.api.IAnalyzer.name timeside.api.IAnalyzer-class.html#name
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IAnalyzer.__init__ timeside.api.IAnalyzer-class.html#__init__
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IAnalyzer.unit timeside.api.IAnalyzer-class.html#unit
+timeside.api.IDecoder timeside.api.IDecoder-class.html
+timeside.api.IDecoder.encoding timeside.api.IDecoder-class.html#encoding
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IDecoder.__init__ timeside.api.IDecoder-class.html#__init__
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IDecoder.metadata timeside.api.IDecoder-class.html#metadata
+timeside.api.IDecoder.format timeside.api.IDecoder-class.html#format
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IDecoder.resolution timeside.api.IDecoder-class.html#resolution
+timeside.api.IEffect timeside.api.IEffect-class.html
+timeside.api.IEffect.name timeside.api.IEffect-class.html#name
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IEffect.__init__ timeside.api.IEffect-class.html#__init__
+timeside.api.IEncoder timeside.api.IEncoder-class.html
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IEncoder.file_extension timeside.api.IEncoder-class.html#file_extension
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IEncoder.__init__ timeside.api.IEncoder-class.html#__init__
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IEncoder.set_metadata timeside.api.IEncoder-class.html#set_metadata
+timeside.api.IEncoder.mime_type timeside.api.IEncoder-class.html#mime_type
+timeside.api.IEncoder.description timeside.api.IEncoder-class.html#description
+timeside.api.IEncoder.format timeside.api.IEncoder-class.html#format
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IGrapher timeside.api.IGrapher-class.html
+timeside.api.IGrapher.name timeside.api.IGrapher-class.html#name
+timeside.api.IGrapher.render timeside.api.IGrapher-class.html#render
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IGrapher.set_colors timeside.api.IGrapher-class.html#set_colors
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IGrapher.__init__ timeside.api.IGrapher-class.html#__init__
+timeside.api.IProcessor timeside.api.IProcessor-class.html
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IValueAnalyzer timeside.api.IValueAnalyzer-class.html
+timeside.api.IAnalyzer.name timeside.api.IAnalyzer-class.html#name
+timeside.api.IProcessor.process timeside.api.IProcessor-class.html#process
+timeside.api.IValueAnalyzer.__str__ timeside.api.IValueAnalyzer-class.html#__str__
+timeside.api.IProcessor.nframes timeside.api.IProcessor-class.html#nframes
+timeside.api.IProcessor.channels timeside.api.IProcessor-class.html#channels
+timeside.api.IProcessor.id timeside.api.IProcessor-class.html#id
+timeside.api.IValueAnalyzer.result timeside.api.IValueAnalyzer-class.html#result
+timeside.api.IAnalyzer.__init__ timeside.api.IAnalyzer-class.html#__init__
+timeside.api.IProcessor.release timeside.api.IProcessor-class.html#release
+timeside.api.IProcessor.samplerate timeside.api.IProcessor-class.html#samplerate
+timeside.api.IProcessor.setup timeside.api.IProcessor-class.html#setup
+timeside.api.IAnalyzer.unit timeside.api.IAnalyzer-class.html#unit
+timeside.component.Component timeside.component.Component-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.component.ComponentError timeside.component.ComponentError-class.html
+timeside.component.Interface timeside.component.Interface-class.html
+timeside.component.MetaComponent timeside.component.MetaComponent-class.html
+timeside.component.MetaComponent.abstract timeside.component.MetaComponent-class.html#abstract
+timeside.component.MetaComponent.implementations timeside.component.MetaComponent-class.html#implementations
+timeside.component.MetaComponent.__new__ timeside.component.MetaComponent-class.html#__new__
+timeside.component.MetaComponent.implements timeside.component.MetaComponent-class.html#implements
+timeside.core.FixedSizeInputAdapter timeside.core.FixedSizeInputAdapter-class.html
+timeside.core.FixedSizeInputAdapter.process timeside.core.FixedSizeInputAdapter-class.html#process
+timeside.core.FixedSizeInputAdapter.nframes timeside.core.FixedSizeInputAdapter-class.html#nframes
+timeside.core.FixedSizeInputAdapter.__init__ timeside.core.FixedSizeInputAdapter-class.html#__init__
+timeside.core.MetaProcessor timeside.core.MetaProcessor-class.html
+timeside.component.MetaComponent.abstract timeside.component.MetaComponent-class.html#abstract
+timeside.component.MetaComponent.implementations timeside.component.MetaComponent-class.html#implementations
+timeside.core.MetaProcessor.__new__ timeside.core.MetaProcessor-class.html#__new__
+timeside.component.MetaComponent.implements timeside.component.MetaComponent-class.html#implements
+timeside.core.MetaProcessor.valid_id timeside.core.MetaProcessor-class.html#valid_id
+timeside.core.ProcessPipe timeside.core.ProcessPipe-class.html
+timeside.core.ProcessPipe.run timeside.core.ProcessPipe-class.html#run
+timeside.core.ProcessPipe.__ior__ timeside.core.ProcessPipe-class.html#__ior__
+timeside.core.ProcessPipe.__or__ timeside.core.ProcessPipe-class.html#__or__
+timeside.core.ProcessPipe.__init__ timeside.core.ProcessPipe-class.html#__init__
+timeside.core.Processor timeside.core.Processor-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.core.DecoderCore timeside.decode.core.DecoderCore-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.decode.core.DecoderCore.process timeside.decode.core.DecoderCore-class.html#process
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.core.DecoderCore.__init__ timeside.decode.core.DecoderCore-class.html#__init__
+timeside.decode.core.SubProcessPipe timeside.decode.core.SubProcessPipe-class.html
+timeside.decode.core.SubProcessPipe.__init__ timeside.decode.core.SubProcessPipe-class.html#__init__
+timeside.decode.flac.FlacDecoder timeside.decode.flac.FlacDecoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.decode.core.DecoderCore.process timeside.decode.core.DecoderCore-class.html#process
+timeside.decode.flac.FlacDecoder.file_extension timeside.decode.flac.FlacDecoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.flac.FlacDecoder.id timeside.decode.flac.FlacDecoder-class.html#id
+timeside.decode.core.DecoderCore.__init__ timeside.decode.core.DecoderCore-class.html#__init__
+timeside.decode.flac.FlacDecoder.get_file_info timeside.decode.flac.FlacDecoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.decode.flac.FlacDecoder.mime_type timeside.decode.flac.FlacDecoder-class.html#mime_type
+timeside.decode.flac.FlacDecoder.description timeside.decode.flac.FlacDecoder-class.html#description
+timeside.decode.flac.FlacDecoder.format timeside.decode.flac.FlacDecoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.decode.mp3.Mp3Decoder timeside.decode.mp3.Mp3Decoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.decode.core.DecoderCore.process timeside.decode.core.DecoderCore-class.html#process
+timeside.decode.mp3.Mp3Decoder.file_extension timeside.decode.mp3.Mp3Decoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.mp3.Mp3Decoder.id timeside.decode.mp3.Mp3Decoder-class.html#id
+timeside.decode.mp3.Mp3Decoder.__init__ timeside.decode.mp3.Mp3Decoder-class.html#__init__
+timeside.decode.mp3.Mp3Decoder.get_file_info timeside.decode.mp3.Mp3Decoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.decode.mp3.Mp3Decoder.mime_type timeside.decode.mp3.Mp3Decoder-class.html#mime_type
+timeside.decode.mp3.Mp3Decoder.description timeside.decode.mp3.Mp3Decoder-class.html#description
+timeside.decode.mp3.Mp3Decoder.format timeside.decode.mp3.Mp3Decoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.decode.ogg.OggDecoder timeside.decode.ogg.OggDecoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.decode.core.DecoderCore.process timeside.decode.core.DecoderCore-class.html#process
+timeside.decode.ogg.OggDecoder.file_extension timeside.decode.ogg.OggDecoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.ogg.OggDecoder.id timeside.decode.ogg.OggDecoder-class.html#id
+timeside.decode.core.DecoderCore.__init__ timeside.decode.core.DecoderCore-class.html#__init__
+timeside.decode.ogg.OggDecoder.get_file_info timeside.decode.ogg.OggDecoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.decode.ogg.OggDecoder.mime_type timeside.decode.ogg.OggDecoder-class.html#mime_type
+timeside.decode.ogg.OggDecoder.description timeside.decode.ogg.OggDecoder-class.html#description
+timeside.decode.ogg.OggDecoder.format timeside.decode.ogg.OggDecoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.decode.wav.WavDecoder timeside.decode.wav.WavDecoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.decode.core.DecoderCore.process timeside.decode.core.DecoderCore-class.html#process
+timeside.decode.wav.WavDecoder.file_extension timeside.decode.wav.WavDecoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.decode.wav.WavDecoder.id timeside.decode.wav.WavDecoder-class.html#id
+timeside.decode.core.DecoderCore.__init__ timeside.decode.core.DecoderCore-class.html#__init__
+timeside.decode.wav.WavDecoder.get_file_info timeside.decode.wav.WavDecoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.decode.wav.WavDecoder.mime_type timeside.decode.wav.WavDecoder-class.html#mime_type
+timeside.decode.wav.WavDecoder.description timeside.decode.wav.WavDecoder-class.html#description
+timeside.decode.wav.WavDecoder.format timeside.decode.wav.WavDecoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.encode.core.EncoderCore timeside.encode.core.EncoderCore-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.encode.core.EncoderCore.core_process timeside.encode.core.EncoderCore-class.html#core_process
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.encode.core.SubProcessPipe timeside.encode.core.SubProcessPipe-class.html
+timeside.encode.core.SubProcessPipe.__init__ timeside.encode.core.SubProcessPipe-class.html#__init__
+timeside.encode.flac.FlacEncoder timeside.encode.flac.FlacEncoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.encode.flac.FlacEncoder.process timeside.encode.flac.FlacEncoder-class.html#process
+timeside.encode.flac.FlacEncoder.file_extension timeside.encode.flac.FlacEncoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.encode.flac.FlacEncoder.id timeside.encode.flac.FlacEncoder-class.html#id
+timeside.encode.flac.FlacEncoder.__init__ timeside.encode.flac.FlacEncoder-class.html#__init__
+timeside.encode.flac.FlacEncoder.get_file_info timeside.encode.flac.FlacEncoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.encode.core.EncoderCore.core_process timeside.encode.core.EncoderCore-class.html#core_process
+timeside.encode.flac.FlacEncoder.mime_type timeside.encode.flac.FlacEncoder-class.html#mime_type
+timeside.encode.flac.FlacEncoder.description timeside.encode.flac.FlacEncoder-class.html#description
+timeside.encode.flac.FlacEncoder.format timeside.encode.flac.FlacEncoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.encode.flac.FlacEncoder.write_tags timeside.encode.flac.FlacEncoder-class.html#write_tags
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.encode.flac.FlacEncoder.get_args timeside.encode.flac.FlacEncoder-class.html#get_args
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.encode.mp3.Mp3Encoder timeside.encode.mp3.Mp3Encoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.encode.mp3.Mp3Encoder.process timeside.encode.mp3.Mp3Encoder-class.html#process
+timeside.encode.mp3.Mp3Encoder.file_extension timeside.encode.mp3.Mp3Encoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.encode.mp3.Mp3Encoder.id timeside.encode.mp3.Mp3Encoder-class.html#id
+timeside.encode.mp3.Mp3Encoder.__init__ timeside.encode.mp3.Mp3Encoder-class.html#__init__
+timeside.encode.mp3.Mp3Encoder.get_file_info timeside.encode.mp3.Mp3Encoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.encode.core.EncoderCore.core_process timeside.encode.core.EncoderCore-class.html#core_process
+timeside.encode.mp3.Mp3Encoder.mime_type timeside.encode.mp3.Mp3Encoder-class.html#mime_type
+timeside.encode.mp3.Mp3Encoder.description timeside.encode.mp3.Mp3Encoder-class.html#description
+timeside.encode.mp3.Mp3Encoder.format timeside.encode.mp3.Mp3Encoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.encode.mp3.Mp3Encoder.write_tags timeside.encode.mp3.Mp3Encoder-class.html#write_tags
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.encode.mp3.Mp3Encoder.get_args timeside.encode.mp3.Mp3Encoder-class.html#get_args
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.encode.ogg.OggVorbisEncoder timeside.encode.ogg.OggVorbisEncoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.encode.ogg.OggVorbisEncoder.process timeside.encode.ogg.OggVorbisEncoder-class.html#process
+timeside.encode.ogg.OggVorbisEncoder.file_extension timeside.encode.ogg.OggVorbisEncoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.encode.ogg.OggVorbisEncoder.id timeside.encode.ogg.OggVorbisEncoder-class.html#id
+timeside.encode.ogg.OggVorbisEncoder.__init__ timeside.encode.ogg.OggVorbisEncoder-class.html#__init__
+timeside.encode.ogg.OggVorbisEncoder.get_file_info timeside.encode.ogg.OggVorbisEncoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.encode.core.EncoderCore.core_process timeside.encode.core.EncoderCore-class.html#core_process
+timeside.encode.ogg.OggVorbisEncoder.mime_type timeside.encode.ogg.OggVorbisEncoder-class.html#mime_type
+timeside.encode.ogg.OggVorbisEncoder.description timeside.encode.ogg.OggVorbisEncoder-class.html#description
+timeside.encode.ogg.OggVorbisEncoder.format timeside.encode.ogg.OggVorbisEncoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.encode.ogg.OggVorbisEncoder.write_tags timeside.encode.ogg.OggVorbisEncoder-class.html#write_tags
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.encode.ogg.OggVorbisEncoder.get_args timeside.encode.ogg.OggVorbisEncoder-class.html#get_args
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.encode.wav.WavEncoder timeside.encode.wav.WavEncoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.encode.wav.WavEncoder.process timeside.encode.wav.WavEncoder-class.html#process
+timeside.encode.wav.WavEncoder.file_extension timeside.encode.wav.WavEncoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.encode.wav.WavEncoder.id timeside.encode.wav.WavEncoder-class.html#id
+timeside.encode.wav.WavEncoder.__init__ timeside.encode.wav.WavEncoder-class.html#__init__
+timeside.encode.wav.WavEncoder.get_file_info timeside.encode.wav.WavEncoder-class.html#get_file_info
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.encode.core.EncoderCore.core_process timeside.encode.core.EncoderCore-class.html#core_process
+timeside.encode.wav.WavEncoder.mime_type timeside.encode.wav.WavEncoder-class.html#mime_type
+timeside.encode.wav.WavEncoder.description timeside.encode.wav.WavEncoder-class.html#description
+timeside.encode.wav.WavEncoder.format timeside.encode.wav.WavEncoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.exceptions.ApiError timeside.exceptions.ApiError-class.html
+timeside.exceptions.Error timeside.exceptions.Error-class.html
+timeside.exceptions.SubProcessError timeside.exceptions.SubProcessError-class.html
+timeside.exceptions.SubProcessError.__str__ timeside.exceptions.SubProcessError-class.html#__str__
+timeside.exceptions.SubProcessError.__init__ timeside.exceptions.SubProcessError-class.html#__init__
+timeside.grapher.core.Noise timeside.grapher.core.Noise-class.html
+timeside.grapher.core.Noise.read_frames timeside.grapher.core.Noise-class.html#read_frames
+timeside.grapher.core.Noise.get_samplerate timeside.grapher.core.Noise-class.html#get_samplerate
+timeside.grapher.core.Noise.get_nframes timeside.grapher.core.Noise-class.html#get_nframes
+timeside.grapher.core.Noise.seek timeside.grapher.core.Noise-class.html#seek
+timeside.grapher.core.Noise.__init__ timeside.grapher.core.Noise-class.html#__init__
+timeside.grapher.core.Noise.get_channels timeside.grapher.core.Noise-class.html#get_channels
+timeside.grapher.core.SpectralCentroid timeside.grapher.core.SpectralCentroid-class.html
+timeside.grapher.core.SpectralCentroid.process timeside.grapher.core.SpectralCentroid-class.html#process
+timeside.grapher.core.SpectralCentroid.__init__ timeside.grapher.core.SpectralCentroid-class.html#__init__
+timeside.grapher.core.SpectrogramImage timeside.grapher.core.SpectrogramImage-class.html
+timeside.grapher.core.SpectrogramImage.process timeside.grapher.core.SpectrogramImage-class.html#process
+timeside.grapher.core.SpectrogramImage.save timeside.grapher.core.SpectrogramImage-class.html#save
+timeside.grapher.core.SpectrogramImage.draw_spectrum timeside.grapher.core.SpectrogramImage-class.html#draw_spectrum
+timeside.grapher.core.SpectrogramImage.__init__ timeside.grapher.core.SpectrogramImage-class.html#__init__
+timeside.grapher.core.WaveformImage timeside.grapher.core.WaveformImage-class.html
+timeside.grapher.core.WaveformImage.draw_peaks timeside.grapher.core.WaveformImage-class.html#draw_peaks
+timeside.grapher.core.WaveformImage.peaks timeside.grapher.core.WaveformImage-class.html#peaks
+timeside.grapher.core.WaveformImage.process timeside.grapher.core.WaveformImage-class.html#process
+timeside.grapher.core.WaveformImage.__init__ timeside.grapher.core.WaveformImage-class.html#__init__
+timeside.grapher.core.WaveformImage.save timeside.grapher.core.WaveformImage-class.html#save
+timeside.grapher.core.WaveformImage.draw_anti_aliased_pixels timeside.grapher.core.WaveformImage-class.html#draw_anti_aliased_pixels
+timeside.grapher.core.WaveformImage.color_from_value timeside.grapher.core.WaveformImage-class.html#color_from_value
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.set_colors timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#set_colors
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.set_colors timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#set_colors
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.metadata.Metadata timeside.metadata.Metadata-class.html
+timeside.tests.TestCase timeside.tests.TestCase-class.html
+unittest.TestCase.failureException exceptions.AssertionError-class.html
+timeside.tests.TestCase.assertSameList timeside.tests.TestCase-class.html#assertSameList
+timeside.tests.TestRunner timeside.tests.TestRunner-class.html
+timeside.tests.TestRunner._makeResult timeside.tests.TestRunner-class.html#_makeResult
+timeside.tests.TestRunner.run timeside.tests.TestRunner-class.html#run
+timeside.tests.TestRunner.__init__ timeside.tests.TestRunner-class.html#__init__
+timeside.tests._TextTestResult timeside.tests._TextTestResult-class.html
+timeside.tests._TextTestResult.separator1 timeside.tests._TextTestResult-class.html#separator1
+timeside.tests._TextTestResult.separator2 timeside.tests._TextTestResult-class.html#separator2
+timeside.tests._TextTestResult.__init__ timeside.tests._TextTestResult-class.html#__init__
+timeside.tests._TextTestResult.printErrorList timeside.tests._TextTestResult-class.html#printErrorList
+timeside.tests._TextTestResult.addSuccess timeside.tests._TextTestResult-class.html#addSuccess
+timeside.tests._TextTestResult.getDescription timeside.tests._TextTestResult-class.html#getDescription
+timeside.tests._TextTestResult.addFailure timeside.tests._TextTestResult-class.html#addFailure
+timeside.tests._TextTestResult.addError timeside.tests._TextTestResult-class.html#addError
+timeside.tests._TextTestResult.startTest timeside.tests._TextTestResult-class.html#startTest
+timeside.tests._TextTestResult.printErrors timeside.tests._TextTestResult-class.html#printErrors
+timeside.tests._WritelnDecorator timeside.tests._WritelnDecorator-class.html
+timeside.tests._WritelnDecorator.writeln timeside.tests._WritelnDecorator-class.html#writeln
+timeside.tests._WritelnDecorator.__getattr__ timeside.tests._WritelnDecorator-class.html#__getattr__
+timeside.tests._WritelnDecorator.__init__ timeside.tests._WritelnDecorator-class.html#__init__
+timeside.tests.api.examples.Duration timeside.tests.api.examples.Duration-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.core.Processor.process timeside.core.Processor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.tests.api.examples.Duration.result timeside.tests.api.examples.Duration-class.html#result
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.Duration.id timeside.tests.api.examples.Duration-class.html#id
+timeside.tests.api.examples.Duration.unit timeside.tests.api.examples.Duration-class.html#unit
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.Duration.name timeside.tests.api.examples.Duration-class.html#name
+timeside.tests.api.examples.Duration.setup timeside.tests.api.examples.Duration-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.api.examples.FileDecoder timeside.tests.api.examples.FileDecoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.FileDecoder.encoding timeside.tests.api.examples.FileDecoder-class.html#encoding
+timeside.tests.api.examples.FileDecoder.process timeside.tests.api.examples.FileDecoder-class.html#process
+timeside.tests.api.examples.FileDecoder.channels timeside.tests.api.examples.FileDecoder-class.html#channels
+timeside.tests.api.examples.FileDecoder.samplerate timeside.tests.api.examples.FileDecoder-class.html#samplerate
+timeside.tests.api.examples.FileDecoder.id timeside.tests.api.examples.FileDecoder-class.html#id
+timeside.tests.api.examples.FileDecoder.__init__ timeside.tests.api.examples.FileDecoder-class.html#__init__
+timeside.tests.api.examples.FileDecoder.nframes timeside.tests.api.examples.FileDecoder-class.html#nframes
+timeside.tests.api.examples.FileDecoder.metadata timeside.tests.api.examples.FileDecoder-class.html#metadata
+timeside.tests.api.examples.FileDecoder.format timeside.tests.api.examples.FileDecoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.FileDecoder.setup timeside.tests.api.examples.FileDecoder-class.html#setup
+timeside.tests.api.examples.FileDecoder.release timeside.tests.api.examples.FileDecoder-class.html#release
+timeside.tests.api.examples.FileDecoder.resolution timeside.tests.api.examples.FileDecoder-class.html#resolution
+timeside.tests.api.examples.FixedInputProcessor timeside.tests.api.examples.FixedInputProcessor-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.FixedInputProcessor.process timeside.tests.api.examples.FixedInputProcessor-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.tests.api.examples.FixedInputProcessor.BUFFER_SIZE timeside.tests.api.examples.FixedInputProcessor-class.html#BUFFER_SIZE
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.FixedInputProcessor.id timeside.tests.api.examples.FixedInputProcessor-class.html#id
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.FixedInputProcessor.setup timeside.tests.api.examples.FixedInputProcessor-class.html#setup
+timeside.tests.api.examples.Gain timeside.tests.api.examples.Gain-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.Gain.process timeside.tests.api.examples.Gain-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.Gain.id timeside.tests.api.examples.Gain-class.html#id
+timeside.tests.api.examples.Gain.__init__ timeside.tests.api.examples.Gain-class.html#__init__
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.Gain.name timeside.tests.api.examples.Gain-class.html#name
+timeside.core.Processor.setup timeside.core.Processor-class.html#setup
+timeside.tests.api.examples.MaxLevel timeside.tests.api.examples.MaxLevel-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.MaxLevel.process timeside.tests.api.examples.MaxLevel-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.tests.api.examples.MaxLevel.result timeside.tests.api.examples.MaxLevel-class.html#result
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.MaxLevel.id timeside.tests.api.examples.MaxLevel-class.html#id
+timeside.tests.api.examples.MaxLevel.unit timeside.tests.api.examples.MaxLevel-class.html#unit
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.MaxLevel.name timeside.tests.api.examples.MaxLevel-class.html#name
+timeside.tests.api.examples.MaxLevel.setup timeside.tests.api.examples.MaxLevel-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.api.examples.Spectrogram timeside.tests.api.examples.Spectrogram-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.Spectrogram.render timeside.tests.api.examples.Spectrogram-class.html#render
+timeside.tests.api.examples.Spectrogram.process timeside.tests.api.examples.Spectrogram-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.Spectrogram.id timeside.tests.api.examples.Spectrogram-class.html#id
+timeside.tests.api.examples.Spectrogram.__init__ timeside.tests.api.examples.Spectrogram-class.html#__init__
+timeside.tests.api.examples.Spectrogram.set_colors timeside.tests.api.examples.Spectrogram-class.html#set_colors
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.tests.api.examples.Spectrogram.FFT_SIZE timeside.tests.api.examples.Spectrogram-class.html#FFT_SIZE
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.Spectrogram.name timeside.tests.api.examples.Spectrogram-class.html#name
+timeside.tests.api.examples.Spectrogram.setup timeside.tests.api.examples.Spectrogram-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.api.examples.WavEncoder timeside.tests.api.examples.WavEncoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.WavEncoder.process timeside.tests.api.examples.WavEncoder-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.WavEncoder.id timeside.tests.api.examples.WavEncoder-class.html#id
+timeside.tests.api.examples.WavEncoder.__init__ timeside.tests.api.examples.WavEncoder-class.html#__init__
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.tests.api.examples.WavEncoder.set_metadata timeside.tests.api.examples.WavEncoder-class.html#set_metadata
+timeside.tests.api.examples.WavEncoder.file_extension timeside.tests.api.examples.WavEncoder-class.html#file_extension
+timeside.tests.api.examples.WavEncoder.mime_type timeside.tests.api.examples.WavEncoder-class.html#mime_type
+timeside.tests.api.examples.WavEncoder.description timeside.tests.api.examples.WavEncoder-class.html#description
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.WavEncoder.setup timeside.tests.api.examples.WavEncoder-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.api.examples.Waveform timeside.tests.api.examples.Waveform-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.examples.Waveform.render timeside.tests.api.examples.Waveform-class.html#render
+timeside.tests.api.examples.Waveform.process timeside.tests.api.examples.Waveform-class.html#process
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.examples.Waveform.id timeside.tests.api.examples.Waveform-class.html#id
+timeside.tests.api.examples.Waveform.__init__ timeside.tests.api.examples.Waveform-class.html#__init__
+timeside.tests.api.examples.Waveform.set_colors timeside.tests.api.examples.Waveform-class.html#set_colors
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.tests.api.examples.Waveform.FFT_SIZE timeside.tests.api.examples.Waveform-class.html#FFT_SIZE
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.examples.Waveform.name timeside.tests.api.examples.Waveform-class.html#name
+timeside.tests.api.examples.Waveform.setup timeside.tests.api.examples.Waveform-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.api.gstreamer.FileDecoder timeside.tests.api.gstreamer.FileDecoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.gstreamer.FileDecoder.encoding timeside.tests.api.gstreamer.FileDecoder-class.html#encoding
+timeside.tests.api.gstreamer.FileDecoder.process timeside.tests.api.gstreamer.FileDecoder-class.html#process
+timeside.tests.api.gstreamer.FileDecoder.discover timeside.tests.api.gstreamer.FileDecoder-class.html#discover
+timeside.tests.api.gstreamer.FileDecoder.discovered timeside.tests.api.gstreamer.FileDecoder-class.html#discovered
+timeside.tests.api.gstreamer.FileDecoder.audioformat timeside.tests.api.gstreamer.FileDecoder-class.html#audioformat
+timeside.tests.api.gstreamer.FileDecoder.samplerate timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate
+timeside.tests.api.gstreamer.FileDecoder.id timeside.tests.api.gstreamer.FileDecoder-class.html#id
+timeside.tests.api.gstreamer.FileDecoder.__init__ timeside.tests.api.gstreamer.FileDecoder-class.html#__init__
+timeside.tests.api.gstreamer.FileDecoder.nframes timeside.tests.api.gstreamer.FileDecoder-class.html#nframes
+timeside.tests.api.gstreamer.FileDecoder.audiorate timeside.tests.api.gstreamer.FileDecoder-class.html#audiorate
+timeside.tests.api.gstreamer.FileDecoder.MAX_DISCOVERY_TIME timeside.tests.api.gstreamer.FileDecoder-class.html#MAX_DISCOVERY_TIME
+timeside.tests.api.gstreamer.FileDecoder.gst_buffer_to_numpy_array timeside.tests.api.gstreamer.FileDecoder-class.html#gst_buffer_to_numpy_array
+timeside.tests.api.gstreamer.FileDecoder.metadata timeside.tests.api.gstreamer.FileDecoder-class.html#metadata
+timeside.tests.api.gstreamer.FileDecoder.audionframes timeside.tests.api.gstreamer.FileDecoder-class.html#audionframes
+timeside.tests.api.gstreamer.FileDecoder.format timeside.tests.api.gstreamer.FileDecoder-class.html#format
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.gstreamer.FileDecoder.mimetype timeside.tests.api.gstreamer.FileDecoder-class.html#mimetype
+timeside.tests.api.gstreamer.FileDecoder.channels timeside.tests.api.gstreamer.FileDecoder-class.html#channels
+timeside.tests.api.gstreamer.FileDecoder.setup timeside.tests.api.gstreamer.FileDecoder-class.html#setup
+timeside.tests.api.gstreamer.FileDecoder.audiochannels timeside.tests.api.gstreamer.FileDecoder-class.html#audiochannels
+timeside.tests.api.gstreamer.FileDecoder.release timeside.tests.api.gstreamer.FileDecoder-class.html#release
+timeside.tests.api.gstreamer.FileDecoder.resolution timeside.tests.api.gstreamer.FileDecoder-class.html#resolution
+timeside.tests.api.gstreamer.WavEncoder timeside.tests.api.gstreamer.WavEncoder-class.html
+timeside.core.Processor.__metaclass__ timeside.core.MetaProcessor-class.html
+timeside.tests.api.gstreamer.WavEncoder.process timeside.tests.api.gstreamer.WavEncoder-class.html#process
+timeside.tests.api.gstreamer.WavEncoder.file_extension timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension
+timeside.core.Processor.channels timeside.core.Processor-class.html#channels
+timeside.core.Processor.samplerate timeside.core.Processor-class.html#samplerate
+timeside.tests.api.gstreamer.WavEncoder.id timeside.tests.api.gstreamer.WavEncoder-class.html#id
+timeside.tests.api.gstreamer.WavEncoder.__init__ timeside.tests.api.gstreamer.WavEncoder-class.html#__init__
+timeside.core.Processor.nframes timeside.core.Processor-class.html#nframes
+timeside.tests.api.gstreamer.WavEncoder.set_metadata timeside.tests.api.gstreamer.WavEncoder-class.html#set_metadata
+timeside.tests.api.gstreamer.WavEncoder.numpy_array_to_gst_buffer timeside.tests.api.gstreamer.WavEncoder-class.html#numpy_array_to_gst_buffer
+timeside.tests.api.gstreamer.WavEncoder.mime_type timeside.tests.api.gstreamer.WavEncoder-class.html#mime_type
+timeside.tests.api.gstreamer.WavEncoder.description timeside.tests.api.gstreamer.WavEncoder-class.html#description
+timeside.core.Processor.__del__ timeside.core.Processor-class.html#__del__
+timeside.core.Processor.__or__ timeside.core.Processor-class.html#__or__
+timeside.tests.api.gstreamer.WavEncoder.setup timeside.tests.api.gstreamer.WavEncoder-class.html#setup
+timeside.core.Processor.release timeside.core.Processor-class.html#release
+timeside.tests.test.TestAnalyzers timeside.tests.test.TestAnalyzers-class.html
+timeside.tests.test.TestAnalyzers.analyzers timeside.tests.test.TestAnalyzers-class.html#analyzers
+timeside.tests.test.TestAnalyzers.list timeside.tests.test.TestAnalyzers-class.html#list
+timeside.tests.test.TestAnalyzers.run timeside.tests.test.TestAnalyzers-class.html#run
+timeside.tests.test.TestDecoders timeside.tests.test.TestDecoders-class.html
+timeside.tests.test.TestDecoders.export timeside.tests.test.TestDecoders-class.html#export
+timeside.tests.test.TestDecoders.get_decoder timeside.tests.test.TestDecoders-class.html#get_decoder
+timeside.tests.test.TestDecoders.decoders timeside.tests.test.TestDecoders-class.html#decoders
+timeside.tests.test.TestDecoders.list timeside.tests.test.TestDecoders-class.html#list
+timeside.tests.test.TestEncoders timeside.tests.test.TestEncoders-class.html
+timeside.tests.test.TestEncoders.list timeside.tests.test.TestEncoders-class.html#list
+timeside.tests.test.TestEncoders.get_encoder timeside.tests.test.TestEncoders-class.html#get_encoder
+timeside.tests.test.TestEncoders.encoders timeside.tests.test.TestEncoders-class.html#encoders
+timeside.tests.test.TestEncoders.run timeside.tests.test.TestEncoders-class.html#run
+timeside.tests.test.TestGraphers timeside.tests.test.TestGraphers-class.html
+timeside.tests.test.TestGraphers.graphers timeside.tests.test.TestGraphers-class.html#graphers
+timeside.tests.test.TestGraphers.list timeside.tests.test.TestGraphers-class.html#list
+timeside.tests.test.TestGraphers.run timeside.tests.test.TestGraphers-class.html#run
+timeside.tests.testcomponent.C1 timeside.tests.testcomponent.C1-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C10 timeside.tests.testcomponent.C10-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C10.teststatic timeside.tests.testcomponent.C10-class.html#teststatic
+timeside.tests.testcomponent.C10.test timeside.tests.testcomponent.C10-class.html#test
+timeside.tests.testcomponent.C11 timeside.tests.testcomponent.C11-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C2 timeside.tests.testcomponent.C2-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C3 timeside.tests.testcomponent.C3-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C4 timeside.tests.testcomponent.C4-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C5 timeside.tests.testcomponent.C5-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C6 timeside.tests.testcomponent.C6-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C7 timeside.tests.testcomponent.C7-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C8 timeside.tests.testcomponent.C8-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.C9 timeside.tests.testcomponent.C9-class.html
+timeside.component.Component.__metaclass__ timeside.component.MetaComponent-class.html
+timeside.tests.testcomponent.I1 timeside.tests.testcomponent.I1-class.html
+timeside.tests.testcomponent.I10 timeside.tests.testcomponent.I10-class.html
+timeside.tests.testcomponent.I10.teststatic timeside.tests.testcomponent.I10-class.html#teststatic
+timeside.tests.testcomponent.I10.test timeside.tests.testcomponent.I10-class.html#test
+timeside.tests.testcomponent.I11 timeside.tests.testcomponent.I11-class.html
+timeside.tests.testcomponent.I2 timeside.tests.testcomponent.I2-class.html
+timeside.tests.testcomponent.I3 timeside.tests.testcomponent.I3-class.html
+timeside.tests.testcomponent.I4 timeside.tests.testcomponent.I4-class.html
+timeside.tests.testcomponent.I5 timeside.tests.testcomponent.I5-class.html
+timeside.tests.testcomponent.I6 timeside.tests.testcomponent.I6-class.html
+timeside.tests.testcomponent.I7 timeside.tests.testcomponent.I7-class.html
+timeside.tests.testcomponent.I8 timeside.tests.testcomponent.I8-class.html
+timeside.tests.testcomponent.I9 timeside.tests.testcomponent.I9-class.html
+timeside.tests.testcomponent.TestComponentArchitecture timeside.tests.testcomponent.TestComponentArchitecture-class.html
+timeside.tests.testcomponent.TestComponentArchitecture.testInterfaceDoc timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDoc
+unittest.TestCase.failureException exceptions.AssertionError-class.html
+timeside.tests.testcomponent.TestComponentArchitecture.testImplementationRedundancy timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationRedundancy
+timeside.tests.testcomponent.TestComponentArchitecture.testAbstractImplementation timeside.tests.testcomponent.TestComponentArchitecture-class.html#testAbstractImplementation
+timeside.tests.testcomponent.TestComponentArchitecture.testImplementationInheritance timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationInheritance
+timeside.tests.testcomponent.TestComponentArchitecture.testInterfaceDocBadMethod timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocBadMethod
+timeside.tests.testcomponent.TestComponentArchitecture.testTwoImplementations timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoImplementations
+timeside.tests.testcomponent.TestComponentArchitecture.testInterfaceInheritance timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceInheritance
+timeside.tests.testcomponent.TestComponentArchitecture.testIntefaceDocReversed timeside.tests.testcomponent.TestComponentArchitecture-class.html#testIntefaceDocReversed
+timeside.tests.TestCase.assertSameList timeside.tests.TestCase-class.html#assertSameList
+timeside.tests.testcomponent.TestComponentArchitecture.testInterfaceDocStatic timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocStatic
+timeside.tests.testcomponent.TestComponentArchitecture.testOneInterface timeside.tests.testcomponent.TestComponentArchitecture-class.html#testOneInterface
+timeside.tests.testcomponent.TestComponentArchitecture.testTwoInterfaces timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoInterfaces
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter.testPadding timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testPadding
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#assertIOEquals
+unittest.TestCase.failureException exceptions.AssertionError-class.html
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter.setUp timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#setUp
+timeside.tests.TestCase.assertSameList timeside.tests.TestCase-class.html#assertSameList
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter.testTwoChannels timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testTwoChannels
+timeside.tests.testinputadapter.TestFixedSizeInputAdapter.testSizeMultiple timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testSizeMultiple
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class Hierarchy</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Trees </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%"> </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="class-tree.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Class Hierarchy</h1>
+<ul class="nomargin-top">
+ <li> <strong class="uidlink"><a href="timeside.decode.core.SubProcessPipe-class.html">timeside.decode.core.SubProcessPipe</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.core.SubProcessPipe-class.html">timeside.encode.core.SubProcessPipe</a></strong>:
+ <em class="summary">Read media and stream data through a generator.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test.TestAnalyzers-class.html">timeside.tests.test.TestAnalyzers</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test.TestDecoders-class.html">timeside.tests.test.TestDecoders</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test.TestEncoders-class.html">timeside.tests.test.TestEncoders</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test.TestGraphers-class.html">timeside.tests.test.TestGraphers</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.TestRunner-class.html">timeside.tests.TestRunner</a></strong>:
+ <em class="summary">A test runner class that displays results in textual form.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">timeside.analyze.vamp.core.VampCoreAnalyzer</a></strong>:
+ <em class="summary">Parent class for Vamp plugin drivers</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests._WritelnDecorator-class.html" onclick="show_private();">timeside.tests._WritelnDecorator</a></strong>:
+ <em class="summary">Used to decorate file-like objects with a handy 'writeln' method</em>
+ </li>
+ <li> <strong class="uidlink">object</strong>:
+ <em class="summary">The most base type</em>
+ <ul>
+ <li> <strong class="uidlink">exceptions.BaseException</strong>:
+ <em class="summary">Common base class for all exceptions</em>
+ <ul>
+ <li> <strong class="uidlink">exceptions.Exception</strong>:
+ <em class="summary">Common base class for all non-exit exceptions.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.exceptions.ApiError-class.html">timeside.exceptions.ApiError</a></strong>:
+ <em class="summary">Exception base class for errors in TimeSide.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.component.ComponentError-class.html">timeside.component.ComponentError</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.exceptions.Error-class.html">timeside.exceptions.Error</a></strong>:
+ <em class="summary">Exception base class for errors in TimeSide.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.exceptions.SubProcessError-class.html">timeside.exceptions.SubProcessError</a></strong>:
+ <em class="summary">Exception for reporting errors from a subprocess</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink">exceptions.StandardError</strong>:
+ <em class="summary">Base class for all standard Python exceptions that do not represent
+ interpreter exiting.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="exceptions.AssertionError-class.html">exceptions.AssertionError</a></strong>:
+ <em class="summary">Assertion failed.</em>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.component.Component-class.html">timeside.component.Component</a></strong>:
+ <em class="summary">Base class of all components</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C1-class.html" onclick="show_private();">timeside.tests.testcomponent.C1</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C10-class.html" onclick="show_private();">timeside.tests.testcomponent.C10</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C11-class.html" onclick="show_private();">timeside.tests.testcomponent.C11</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C2-class.html" onclick="show_private();">timeside.tests.testcomponent.C2</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C3-class.html" onclick="show_private();">timeside.tests.testcomponent.C3</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C4-class.html" onclick="show_private();">timeside.tests.testcomponent.C4</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C5-class.html" onclick="show_private();">timeside.tests.testcomponent.C5</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C6-class.html" onclick="show_private();">timeside.tests.testcomponent.C6</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C7-class.html" onclick="show_private();">timeside.tests.testcomponent.C7</a></strong>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C8-class.html" onclick="show_private();">timeside.tests.testcomponent.C8</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.C9-class.html" onclick="show_private();">timeside.tests.testcomponent.C9</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.core.Processor-class.html">timeside.core.Processor</a></strong>:
+ <em class="summary">Base component class of all processors</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.core.AudioProcessor-class.html">timeside.analyze.core.AudioProcessor</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.channels.ChannelAnalyser-class.html">timeside.analyze.channels.ChannelAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.duration.DurationAnalyzer-class.html">timeside.analyze.duration.DurationAnalyzer</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html">timeside.analyze.encoding.EncodingAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.format.FormatAnalyser-class.html">timeside.analyze.format.FormatAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">timeside.analyze.max_level.MaxLevelAnalyzer</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">timeside.analyze.dc.MeanDCShiftAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">timeside.analyze.mean_level.MeanLevelAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">timeside.analyze.resolution.ResolutionAnalyser</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">timeside.analyze.samplerate.SampleRateAnalyzer</a></strong>:
+ <em class="summary">Media item analyzer driver interface</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.core.DecoderCore-class.html">timeside.decode.core.DecoderCore</a></strong>:
+ <em class="summary">Defines the main parts of the decoding tools : paths, metadata
+ parsing, data streaming thru system command</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.decode.flac.FlacDecoder-class.html">timeside.decode.flac.FlacDecoder</a></strong>:
+ <em class="summary">Defines methods to decode from FLAC</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.mp3.Mp3Decoder-class.html">timeside.decode.mp3.Mp3Decoder</a></strong>:
+ <em class="summary">Defines methods to decode from MP3</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.ogg.OggDecoder-class.html">timeside.decode.ogg.OggDecoder</a></strong>:
+ <em class="summary">Defines methods to decode from OGG Vorbis</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.wav.WavDecoder-class.html">timeside.decode.wav.WavDecoder</a></strong>:
+ <em class="summary">Defines methods to decode from WAV</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.Duration-class.html">timeside.tests.api.examples.Duration</a></strong>:
+ <em class="summary">A rather useless duration analyzer.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.core.EncoderCore-class.html">timeside.encode.core.EncoderCore</a></strong>:
+ <em class="summary">Defines the main parts of the encoding tools : paths, metadata
+ parsing, data streaming thru system command</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.encode.flac.FlacEncoder-class.html">timeside.encode.flac.FlacEncoder</a></strong>:
+ <em class="summary">Defines methods to encode to FLAC</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.mp3.Mp3Encoder-class.html">timeside.encode.mp3.Mp3Encoder</a></strong>:
+ <em class="summary">Defines methods to encode to MP3</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html">timeside.encode.ogg.OggVorbisEncoder</a></strong>:
+ <em class="summary">Defines methods to encode to OGG Vorbis</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.wav.WavEncoder-class.html">timeside.encode.wav.WavEncoder</a></strong>:
+ <em class="summary">Defines methods to encode to WAV</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html">timeside.tests.api.gstreamer.FileDecoder</a></strong>:
+ <em class="summary">gstreamer-based decoder</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.FileDecoder-class.html">timeside.tests.api.examples.FileDecoder</a></strong>:
+ <em class="summary">A simple audiolab-based example decoder</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html">timeside.tests.api.examples.FixedInputProcessor</a></strong>:
+ <em class="summary">Processor which does absolutely nothing except illustrating the use
+ of the FixedInputSizeAdapter.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.Gain-class.html">timeside.tests.api.examples.Gain</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.MaxLevel-class.html">timeside.tests.api.examples.MaxLevel</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.Spectrogram-class.html">timeside.tests.api.examples.Spectrogram</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab</a></strong>:
+ <em class="summary">Spectrogram graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html">timeside.tests.api.gstreamer.WavEncoder</a></strong>:
+ <em class="summary">gstreamer-based encoder</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.WavEncoder-class.html">timeside.tests.api.examples.WavEncoder</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab</a></strong>:
+ <em class="summary">WaveForm graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples.Waveform-class.html">timeside.tests.api.examples.Waveform</a></strong>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.core.FixedSizeInputAdapter-class.html">timeside.core.FixedSizeInputAdapter</a></strong>:
+ <em class="summary">Utility to make it easier to write processors which require
+ fixed-sized input buffers.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.component.Interface-class.html">timeside.component.Interface</a></strong>:
+ <em class="summary">Marker base class for interfaces.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I1-class.html" onclick="show_private();">timeside.tests.testcomponent.I1</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I10-class.html" onclick="show_private();">timeside.tests.testcomponent.I10</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I11-class.html" onclick="show_private();">timeside.tests.testcomponent.I11</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I2-class.html" onclick="show_private();">timeside.tests.testcomponent.I2</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I3-class.html" onclick="show_private();">timeside.tests.testcomponent.I3</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I4-class.html" onclick="show_private();">timeside.tests.testcomponent.I4</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I5-class.html" onclick="show_private();">timeside.tests.testcomponent.I5</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I6-class.html" onclick="show_private();">timeside.tests.testcomponent.I6</a></strong>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I7-class.html" onclick="show_private();">timeside.tests.testcomponent.I7</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I8-class.html" onclick="show_private();">timeside.tests.testcomponent.I8</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.I9-class.html" onclick="show_private();">timeside.tests.testcomponent.I9</a></strong>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api.IProcessor-class.html">timeside.api.IProcessor</a></strong>:
+ <em class="summary">Common processor interface</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.api.IAnalyzer-class.html">timeside.api.IAnalyzer</a></strong>:
+ <em class="summary">Media item analyzer driver interface.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.api.IValueAnalyzer-class.html">timeside.api.IValueAnalyzer</a></strong>:
+ <em class="summary">Interface for analyzers which return a single numeric value from
+ result()</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api.IDecoder-class.html">timeside.api.IDecoder</a></strong>:
+ <em class="summary">Decoder driver interface.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api.IEffect-class.html">timeside.api.IEffect</a></strong>:
+ <em class="summary">Effect processor interface</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api.IEncoder-class.html">timeside.api.IEncoder</a></strong>:
+ <em class="summary">Encoder driver interface.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api.IGrapher-class.html">timeside.api.IGrapher</a></strong>:
+ <em class="summary">Media item visualizer driver interface</em>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.metadata.Metadata-class.html">timeside.metadata.Metadata</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core.Noise-class.html">timeside.grapher.core.Noise</a></strong>:
+ <em class="summary">A class that mimics audiolab.sndfile but generates noise instead of
+ reading a wave file.</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.core.ProcessPipe-class.html">timeside.core.ProcessPipe</a></strong>:
+ <em class="summary">Handle a pipe of processors</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core.SpectralCentroid-class.html">timeside.grapher.core.SpectralCentroid</a></strong>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core.SpectrogramImage-class.html">timeside.grapher.core.SpectrogramImage</a></strong>
+ </li>
+ <li> <strong class="uidlink">unittest.TestCase</strong>:
+ <em class="summary">A class whose instances are single test cases.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.TestCase-class.html">timeside.tests.TestCase</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">timeside.tests.testcomponent.TestComponentArchitecture</a></strong>:
+ <em class="summary">Test the component and interface system</em>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">timeside.tests.testinputadapter.TestFixedSizeInputAdapter</a></strong>:
+ <em class="summary">Test the fixed-sized input adapter</em>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink">unittest.TestResult</strong>:
+ <em class="summary">Holder for test result information.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">timeside.tests._TextTestResult</a></strong>:
+ <em class="summary">A test result class that can print formatted text results to a
+ stream.</em>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core.WaveformImage-class.html">timeside.grapher.core.WaveformImage</a></strong>
+ </li>
+ <li> <strong class="uidlink">type</strong>:
+ <em class="summary">type(object) -> the object's type type(name, bases, dict) ->
+ a new type</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.component.MetaComponent-class.html">timeside.component.MetaComponent</a></strong>:
+ <em class="summary">Metaclass of the Component class, used mainly to register the
+ interface declared to be implemented by a component.</em>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.core.MetaProcessor-class.html">timeside.core.MetaProcessor</a></strong>:
+ <em class="summary">Metaclass of the Processor class, used mainly for ensuring that
+ processor id's are wellformed and unique</em>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Trees </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+
+
+/* Epydoc CSS Stylesheet
+ *
+ * This stylesheet can be used to customize the appearance of epydoc's
+ * HTML output.
+ *
+ */
+
+/* Default Colors & Styles
+ * - Set the default foreground & background color with 'body'; and
+ * link colors with 'a:link' and 'a:visited'.
+ * - Use bold for decision list terms.
+ * - The heading styles defined here are used for headings *within*
+ * docstring descriptions. All headings used by epydoc itself use
+ * either class='epydoc' or class='toc' (CSS styles for both
+ * defined below).
+ */
+body { background: #ffffff; color: #000000; }
+p { margin-top: 0.5em; margin-bottom: 0.5em; }
+a:link { color: #0000ff; }
+a:visited { color: #204080; }
+dt { font-weight: bold; }
+h1 { font-size: +140%; font-style: italic;
+ font-weight: bold; }
+h2 { font-size: +125%; font-style: italic;
+ font-weight: bold; }
+h3 { font-size: +110%; font-style: italic;
+ font-weight: normal; }
+code { font-size: 100%; }
+/* N.B.: class, not pseudoclass */
+a.link { font-family: monospace; }
+
+/* Page Header & Footer
+ * - The standard page header consists of a navigation bar (with
+ * pointers to standard pages such as 'home' and 'trees'); a
+ * breadcrumbs list, which can be used to navigate to containing
+ * classes or modules; options links, to show/hide private
+ * variables and to show/hide frames; and a page title (using
+ * <h1>). The page title may be followed by a link to the
+ * corresponding source code (using 'span.codelink').
+ * - The footer consists of a navigation bar, a timestamp, and a
+ * pointer to epydoc's homepage.
+ */
+h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; }
+h2.epydoc { font-size: +130%; font-weight: bold; }
+h3.epydoc { font-size: +115%; font-weight: bold;
+ margin-top: 0.2em; }
+td h3.epydoc { font-size: +115%; font-weight: bold;
+ margin-bottom: 0; }
+table.navbar { background: #a0c0ff; color: #000000;
+ border: 2px groove #c0d0d0; }
+table.navbar table { color: #000000; }
+th.navbar-select { background: #70b0ff;
+ color: #000000; }
+table.navbar a { text-decoration: none; }
+table.navbar a:link { color: #0000ff; }
+table.navbar a:visited { color: #204080; }
+span.breadcrumbs { font-size: 85%; font-weight: bold; }
+span.options { font-size: 70%; }
+span.codelink { font-size: 85%; }
+td.footer { font-size: 85%; }
+
+/* Table Headers
+ * - Each summary table and details section begins with a 'header'
+ * row. This row contains a section title (marked by
+ * 'span.table-header') as well as a show/hide private link
+ * (marked by 'span.options', defined above).
+ * - Summary tables that contain user-defined groups mark those
+ * groups using 'group header' rows.
+ */
+td.table-header { background: #70b0ff; color: #000000;
+ border: 1px solid #608090; }
+td.table-header table { color: #000000; }
+td.table-header table a:link { color: #0000ff; }
+td.table-header table a:visited { color: #204080; }
+span.table-header { font-size: 120%; font-weight: bold; }
+th.group-header { background: #c0e0f8; color: #000000;
+ text-align: left; font-style: italic;
+ font-size: 115%;
+ border: 1px solid #608090; }
+
+/* Summary Tables (functions, variables, etc)
+ * - Each object is described by a single row of the table with
+ * two cells. The left cell gives the object's type, and is
+ * marked with 'code.summary-type'. The right cell gives the
+ * object's name and a summary description.
+ * - CSS styles for the table's header and group headers are
+ * defined above, under 'Table Headers'
+ */
+table.summary { border-collapse: collapse;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #608090;
+ margin-bottom: 0.5em; }
+td.summary { border: 1px solid #608090; }
+code.summary-type { font-size: 85%; }
+table.summary a:link { color: #0000ff; }
+table.summary a:visited { color: #204080; }
+
+
+/* Details Tables (functions, variables, etc)
+ * - Each object is described in its own div.
+ * - A single-row summary table w/ table-header is used as
+ * a header for each details section (CSS style for table-header
+ * is defined above, under 'Table Headers').
+ */
+table.details { border-collapse: collapse;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #608090;
+ margin: .2em 0 0 0; }
+table.details table { color: #000000; }
+table.details a:link { color: #0000ff; }
+table.details a:visited { color: #204080; }
+
+/* Fields */
+dl.fields { margin-left: 2em; margin-top: 1em;
+ margin-bottom: 1em; }
+dl.fields dd ul { margin-left: 0em; padding-left: 0em; }
+dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; }
+div.fields { margin-left: 2em; }
+div.fields p { margin-bottom: 0.5em; }
+
+/* Index tables (identifier index, term index, etc)
+ * - link-index is used for indices containing lists of links
+ * (namely, the identifier index & term index).
+ * - index-where is used in link indices for the text indicating
+ * the container/source for each link.
+ * - metadata-index is used for indices containing metadata
+ * extracted from fields (namely, the bug index & todo index).
+ */
+table.link-index { border-collapse: collapse;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #608090; }
+td.link-index { border-width: 0px; }
+table.link-index a:link { color: #0000ff; }
+table.link-index a:visited { color: #204080; }
+span.index-where { font-size: 70%; }
+table.metadata-index { border-collapse: collapse;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #608090;
+ margin: .2em 0 0 0; }
+td.metadata-index { border-width: 1px; border-style: solid; }
+table.metadata-index a:link { color: #0000ff; }
+table.metadata-index a:visited { color: #204080; }
+
+/* Function signatures
+ * - sig* is used for the signature in the details section.
+ * - .summary-sig* is used for the signature in the summary
+ * table, and when listing property accessor functions.
+ * */
+.sig-name { color: #006080; }
+.sig-arg { color: #008060; }
+.sig-default { color: #602000; }
+.summary-sig { font-family: monospace; }
+.summary-sig-name { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:link
+ { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:visited
+ { color: #006080; font-weight: bold; }
+.summary-sig-arg { color: #006040; }
+.summary-sig-default { color: #501800; }
+
+/* Subclass list
+ */
+ul.subclass-list { display: inline; }
+ul.subclass-list li { display: inline; }
+
+/* To render variables, classes etc. like functions */
+table.summary .summary-name { color: #006080; font-weight: bold;
+ font-family: monospace; }
+table.summary
+ a.summary-name:link { color: #006080; font-weight: bold;
+ font-family: monospace; }
+table.summary
+ a.summary-name:visited { color: #006080; font-weight: bold;
+ font-family: monospace; }
+
+/* Variable values
+ * - In the 'variable details' sections, each varaible's value is
+ * listed in a 'pre.variable' box. The width of this box is
+ * restricted to 80 chars; if the value's repr is longer than
+ * this it will be wrapped, using a backslash marked with
+ * class 'variable-linewrap'. If the value's repr is longer
+ * than 3 lines, the rest will be ellided; and an ellipsis
+ * marker ('...' marked with 'variable-ellipsis') will be used.
+ * - If the value is a string, its quote marks will be marked
+ * with 'variable-quote'.
+ * - If the variable is a regexp, it is syntax-highlighted using
+ * the re* CSS classes.
+ */
+pre.variable { padding: .5em; margin: 0;
+ background: #dce4ec; color: #000000;
+ border: 1px solid #708890; }
+.variable-linewrap { color: #604000; font-weight: bold; }
+.variable-ellipsis { color: #604000; font-weight: bold; }
+.variable-quote { color: #604000; font-weight: bold; }
+.variable-group { color: #008000; font-weight: bold; }
+.variable-op { color: #604000; font-weight: bold; }
+.variable-string { color: #006030; }
+.variable-unknown { color: #a00000; font-weight: bold; }
+.re { color: #000000; }
+.re-char { color: #006030; }
+.re-op { color: #600000; }
+.re-group { color: #003060; }
+.re-ref { color: #404040; }
+
+/* Base tree
+ * - Used by class pages to display the base class hierarchy.
+ */
+pre.base-tree { font-size: 80%; margin: 0; }
+
+/* Frames-based table of contents headers
+ * - Consists of two frames: one for selecting modules; and
+ * the other listing the contents of the selected module.
+ * - h1.toc is used for each frame's heading
+ * - h2.toc is used for subheadings within each frame.
+ */
+h1.toc { text-align: center; font-size: 105%;
+ margin: 0; font-weight: bold;
+ padding: 0; }
+h2.toc { font-size: 100%; font-weight: bold;
+ margin: 0.5em 0 0 -0.3em; }
+
+/* Syntax Highlighting for Source Code
+ * - doctest examples are displayed in a 'pre.py-doctest' block.
+ * If the example is in a details table entry, then it will use
+ * the colors specified by the 'table pre.py-doctest' line.
+ * - Source code listings are displayed in a 'pre.py-src' block.
+ * Each line is marked with 'span.py-line' (used to draw a line
+ * down the left margin, separating the code from the line
+ * numbers). Line numbers are displayed with 'span.py-lineno'.
+ * The expand/collapse block toggle button is displayed with
+ * 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
+ * modify the font size of the text.)
+ * - If a source code page is opened with an anchor, then the
+ * corresponding code block will be highlighted. The code
+ * block's header is highlighted with 'py-highlight-hdr'; and
+ * the code block's body is highlighted with 'py-highlight'.
+ * - The remaining py-* classes are used to perform syntax
+ * highlighting (py-string for string literals, py-name for names,
+ * etc.)
+ */
+pre.py-doctest { padding: .5em; margin: 1em;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #708890; }
+table pre.py-doctest { background: #dce4ec;
+ color: #000000; }
+pre.py-src { border: 2px solid #000000;
+ background: #f0f0f0; color: #000000; }
+.py-line { border-left: 2px solid #000000;
+ margin-left: .2em; padding-left: .4em; }
+.py-lineno { font-style: italic; font-size: 90%;
+ padding-left: .5em; }
+a.py-toggle { text-decoration: none; }
+div.py-highlight-hdr { border-top: 2px solid #000000;
+ border-bottom: 2px solid #000000;
+ background: #d8e8e8; }
+div.py-highlight { border-bottom: 2px solid #000000;
+ background: #d0e0e0; }
+.py-prompt { color: #005050; font-weight: bold;}
+.py-more { color: #005050; font-weight: bold;}
+.py-string { color: #006030; }
+.py-comment { color: #003060; }
+.py-keyword { color: #600000; }
+.py-output { color: #404040; }
+.py-name { color: #000050; }
+.py-name:link { color: #000050 !important; }
+.py-name:visited { color: #000050 !important; }
+.py-number { color: #005000; }
+.py-defname { color: #000060; font-weight: bold; }
+.py-def-name { color: #000060; font-weight: bold; }
+.py-base-class { color: #000060; }
+.py-param { color: #000060; }
+.py-docstring { color: #006030; }
+.py-decorator { color: #804020; }
+/* Use this if you don't want links to names underlined: */
+/*a.py-name { text-decoration: none; }*/
+
+/* Graphs & Diagrams
+ * - These CSS styles are used for graphs & diagrams generated using
+ * Graphviz dot. 'img.graph-without-title' is used for bare
+ * diagrams (to remove the border created by making the image
+ * clickable).
+ */
+img.graph-without-title { border: none; }
+img.graph-with-title { border: 1px solid #000000; }
+span.graph-title { font-weight: bold; }
+span.graph-caption { }
+
+/* General-purpose classes
+ * - 'p.indent-wrapped-lines' defines a paragraph whose first line
+ * is not indented, but whose subsequent lines are.
+ * - The 'nomargin-top' class is used to remove the top margin (e.g.
+ * from lists). The 'nomargin' class is used to remove both the
+ * top and bottom margin (but not the left or right margin --
+ * for lists, that would cause the bullets to disappear.)
+ */
+p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em;
+ margin: 0; }
+.nomargin-top { margin-top: 0; }
+.nomargin { margin-top: 0; margin-bottom: 0; }
+
+/* HTML Log */
+div.log-block { padding: 0; margin: .5em 0 .5em 0;
+ background: #e8f0f8; color: #000000;
+ border: 1px solid #000000; }
+div.log-error { padding: .1em .3em .1em .3em; margin: 4px;
+ background: #ffb0b0; color: #000000;
+ border: 1px solid #000000; }
+div.log-warning { padding: .1em .3em .1em .3em; margin: 4px;
+ background: #ffffb0; color: #000000;
+ border: 1px solid #000000; }
+div.log-info { padding: .1em .3em .1em .3em; margin: 4px;
+ background: #b0ffb0; color: #000000;
+ border: 1px solid #000000; }
+h2.log-hdr { background: #70b0ff; color: #000000;
+ margin: 0; padding: 0em 0.5em 0em 0.5em;
+ border-bottom: 1px solid #000000; font-size: 110%; }
+p.log { font-weight: bold; margin: .5em 0 .5em 0; }
+tr.opt-changed { color: #000000; font-weight: bold; }
+tr.opt-default { color: #606060; }
+pre.log { margin: 0; padding: 0; padding-left: 1em; }
--- /dev/null
+function toggle_private() {
+ // Search for any private/public links on this page. Store
+ // their old text in "cmd," so we will know what action to
+ // take; and change their text to the opposite action.
+ var cmd = "?";
+ var elts = document.getElementsByTagName("a");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "privatelink") {
+ cmd = elts[i].innerHTML;
+ elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
+ "hide private":"show private");
+ }
+ }
+ // Update all DIVs containing private objects.
+ var elts = document.getElementsByTagName("div");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "private") {
+ elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+ }
+ else if (elts[i].className == "public") {
+ elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
+ }
+ }
+ // Update all table rows containing private objects. Note, we
+ // use "" instead of "block" becaue IE & firefox disagree on what
+ // this should be (block vs table-row), and "" just gives the
+ // default for both browsers.
+ var elts = document.getElementsByTagName("tr");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "private") {
+ elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
+ }
+ }
+ // Update all list items containing private objects.
+ var elts = document.getElementsByTagName("li");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "private") {
+ elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
+ "none":"");
+ }
+ }
+ // Update all list items containing private objects.
+ var elts = document.getElementsByTagName("ul");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "private") {
+ elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+ }
+ }
+ // Set a cookie to remember the current option.
+ document.cookie = "EpydocPrivate="+cmd;
+ }
+function show_private() {
+ var elts = document.getElementsByTagName("a");
+ for(var i=0; i<elts.length; i++) {
+ if (elts[i].className == "privatelink") {
+ cmd = elts[i].innerHTML;
+ if (cmd && cmd.substr(0,4)=="show")
+ toggle_private();
+ }
+ }
+ }
+function getCookie(name) {
+ var dc = document.cookie;
+ var prefix = name + "=";
+ var begin = dc.indexOf("; " + prefix);
+ if (begin == -1) {
+ begin = dc.indexOf(prefix);
+ if (begin != 0) return null;
+ } else
+ { begin += 2; }
+ var end = document.cookie.indexOf(";", begin);
+ if (end == -1)
+ { end = dc.length; }
+ return unescape(dc.substring(begin + prefix.length, end));
+ }
+function setFrame(url1, url2) {
+ parent.frames[1].location.href = url1;
+ parent.frames[2].location.href = url2;
+ }
+function checkCookie() {
+ var cmd=getCookie("EpydocPrivate");
+ if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
+ toggle_private();
+ }
+function toggleCallGraph(id) {
+ var elt = document.getElementById(id);
+ if (elt.style.display == "none")
+ elt.style.display = "block";
+ else
+ elt.style.display = "none";
+ }
+function expand(id) {
+ var elt = document.getElementById(id+"-expanded");
+ if (elt) elt.style.display = "block";
+ var elt = document.getElementById(id+"-expanded-linenums");
+ if (elt) elt.style.display = "block";
+ var elt = document.getElementById(id+"-collapsed");
+ if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+ var elt = document.getElementById(id+"-collapsed-linenums");
+ if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+ var elt = document.getElementById(id+"-toggle");
+ if (elt) { elt.innerHTML = "-"; }
+}
+
+function collapse(id) {
+ var elt = document.getElementById(id+"-expanded");
+ if (elt) elt.style.display = "none";
+ var elt = document.getElementById(id+"-expanded-linenums");
+ if (elt) elt.style.display = "none";
+ var elt = document.getElementById(id+"-collapsed-linenums");
+ if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
+ var elt = document.getElementById(id+"-toggle");
+ if (elt) { elt.innerHTML = "+"; }
+ var elt = document.getElementById(id+"-collapsed");
+ if (elt) {
+ elt.style.display = "block";
+
+ var indent = elt.getAttribute("indent");
+ var pad = elt.getAttribute("pad");
+ var s = "<tt class='py-lineno'>";
+ for (var i=0; i<pad.length; i++) { s += " " }
+ s += "</tt>";
+ s += " <tt class='py-line'>";
+ for (var i=0; i<indent.length; i++) { s += " " }
+ s += "<a href='#' onclick='expand(\"" + id;
+ s += "\");return false'>...</a></tt><br />";
+ elt.innerHTML = s;
+ }
+}
+
+function toggle(id) {
+ elt = document.getElementById(id+"-toggle");
+ if (elt.innerHTML == "-")
+ collapse(id);
+ else
+ expand(id);
+ return false;
+}
+
+function highlight(id) {
+ var elt = document.getElementById(id+"-def");
+ if (elt) elt.className = "py-highlight-hdr";
+ var elt = document.getElementById(id+"-expanded");
+ if (elt) elt.className = "py-highlight";
+ var elt = document.getElementById(id+"-collapsed");
+ if (elt) elt.className = "py-highlight";
+}
+
+function num_lines(s) {
+ var n = 1;
+ var pos = s.indexOf("\n");
+ while ( pos > 0) {
+ n += 1;
+ pos = s.indexOf("\n", pos+1);
+ }
+ return n;
+}
+
+// Collapse all blocks that mave more than `min_lines` lines.
+function collapse_all(min_lines) {
+ var elts = document.getElementsByTagName("div");
+ for (var i=0; i<elts.length; i++) {
+ var elt = elts[i];
+ var split = elt.id.indexOf("-");
+ if (split > 0)
+ if (elt.id.substring(split, elt.id.length) == "-expanded")
+ if (num_lines(elt.innerHTML) > min_lines)
+ collapse(elt.id.substring(0, split));
+ }
+}
+
+function expandto(href) {
+ var start = href.indexOf("#")+1;
+ if (start != 0 && start != href.length) {
+ if (href.substring(start, href.length) != "-") {
+ collapse_all(4);
+ pos = href.indexOf(".", start);
+ while (pos != -1) {
+ var id = href.substring(start, pos);
+ expand(id);
+ pos = href.indexOf(".", pos+1);
+ }
+ var id = href.substring(start, href.length);
+ expand(id);
+ highlight(id);
+ }
+ }
+}
+
+function kill_doclink(id) {
+ var parent = document.getElementById(id);
+ parent.removeChild(parent.childNodes.item(0));
+}
+function auto_kill_doclink(ev) {
+ if (!ev) var ev = window.event;
+ if (!this.contains(ev.toElement)) {
+ var parent = document.getElementById(this.parentID);
+ parent.removeChild(parent.childNodes.item(0));
+ }
+}
+
+function doclink(id, name, targets_id) {
+ var elt = document.getElementById(id);
+
+ // If we already opened the box, then destroy it.
+ // (This case should never occur, but leave it in just in case.)
+ if (elt.childNodes.length > 1) {
+ elt.removeChild(elt.childNodes.item(0));
+ }
+ else {
+ // The outer box: relative + inline positioning.
+ var box1 = document.createElement("div");
+ box1.style.position = "relative";
+ box1.style.display = "inline";
+ box1.style.top = 0;
+ box1.style.left = 0;
+
+ // A shadow for fun
+ var shadow = document.createElement("div");
+ shadow.style.position = "absolute";
+ shadow.style.left = "-1.3em";
+ shadow.style.top = "-1.3em";
+ shadow.style.background = "#404040";
+
+ // The inner box: absolute positioning.
+ var box2 = document.createElement("div");
+ box2.style.position = "relative";
+ box2.style.border = "1px solid #a0a0a0";
+ box2.style.left = "-.2em";
+ box2.style.top = "-.2em";
+ box2.style.background = "white";
+ box2.style.padding = ".3em .4em .3em .4em";
+ box2.style.fontStyle = "normal";
+ box2.onmouseout=auto_kill_doclink;
+ box2.parentID = id;
+
+ // Get the targets
+ var targets_elt = document.getElementById(targets_id);
+ var targets = targets_elt.getAttribute("targets");
+ var links = "";
+ target_list = targets.split(",");
+ for (var i=0; i<target_list.length; i++) {
+ var target = target_list[i].split("=");
+ links += "<li><a href='" + target[1] +
+ "' style='text-decoration:none'>" +
+ target[0] + "</a></li>";
+ }
+
+ // Put it all together.
+ elt.insertBefore(box1, elt.childNodes.item(0));
+ //box1.appendChild(box2);
+ box1.appendChild(shadow);
+ shadow.appendChild(box2);
+ box2.innerHTML =
+ "Which <b>"+name+"</b> do you want to see documentation for?" +
+ "<ul style='margin-bottom: 0;'>" +
+ links +
+ "<li><a href='#' style='text-decoration:none' " +
+ "onclick='kill_doclink(\""+id+"\");return false;'>"+
+ "<i>None of the above</i></a></li></ul>";
+ }
+ return false;
+}
+
+function get_anchor() {
+ var href = location.href;
+ var start = href.indexOf("#")+1;
+ if ((start != 0) && (start != href.length))
+ return href.substring(start, href.length);
+ }
+function redirect_url(dottedName) {
+ // Scan through each element of the "pages" list, and check
+ // if "name" matches with any of them.
+ for (var i=0; i<pages.length; i++) {
+
+ // Each page has the form "<pagename>-m" or "<pagename>-c";
+ // extract the <pagename> portion & compare it to dottedName.
+ var pagename = pages[i].substring(0, pages[i].length-2);
+ if (pagename == dottedName.substring(0,pagename.length)) {
+
+ // We've found a page that matches `dottedName`;
+ // construct its URL, using leftover `dottedName`
+ // content to form an anchor.
+ var pagetype = pages[i].charAt(pages[i].length-1);
+ var url = pagename + ((pagetype=="m")?"-module.html":
+ "-class.html");
+ if (dottedName.length > pagename.length)
+ url += "#" + dottedName.substring(pagename.length+1,
+ dottedName.length);
+ return url;
+ }
+ }
+ }
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>exceptions.AssertionError</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ exceptions ::
+ AssertionError ::
+ Class AssertionError
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="exceptions.AssertionError-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class AssertionError</h1><p class="nomargin-top"></p>
+<pre class="base-tree">
+ object --+
+ |
+BaseException --+
+ |
+ Exception --+
+ |
+ StandardError --+
+ |
+ <strong class="uidshort">AssertionError</strong>
+</pre>
+
+<hr />
+<p>Assertion failed.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="exceptions.AssertionError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">...</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">a new object with type S, a subtype of T</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="exceptions.AssertionError-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
+ <span class="summary-sig-arg">S</span>,
+ <span class="summary-sig-arg">...</span>)</span></td>
+ <td align="right" valign="top">
+
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>BaseException</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__getitem__</code>,
+ <code>__getslice__</code>,
+ <code>__reduce__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__setstate__</code>,
+ <code>__str__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__hash__</code>,
+ <code>__reduce_ex__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>BaseException</code></b>:
+ <code>args</code>,
+ <code>message</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">...</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ >
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="__new__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
+ <span class="sig-arg">S</span>,
+ <span class="sig-arg">...</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ >
+ </td>
+ </tr></table>
+
+
+ <dl class="fields">
+ <dt>Returns: a new object with type S, a subtype of T</dt>
+ <dt>Overrides:
+ object.__new__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+ <frameset rows="30%,70%">
+ <frame src="toc.html" name="moduleListFrame"
+ id="moduleListFrame" />
+ <frame src="toc-everything.html" name="moduleFrame"
+ id="moduleFrame" />
+ </frameset>
+ <frame src="timeside-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Help</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Help </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%"> </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="help.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+<h1 class="epydoc"> API Documentation </h1>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for this project. Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class. The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page. </p>
+
+<h2> Object Documentation </h2>
+
+ <p>Each <strong>Package Documentation</strong> page contains: </p>
+ <ul>
+ <li> A description of the package. </li>
+ <li> A list of the modules and sub-packages contained by the
+ package. </li>
+ <li> A summary of the classes defined by the package. </li>
+ <li> A summary of the functions defined by the package. </li>
+ <li> A summary of the variables defined by the package. </li>
+ <li> A detailed description of each function defined by the
+ package. </li>
+ <li> A detailed description of each variable defined by the
+ package. </li>
+ </ul>
+
+ <p>Each <strong>Module Documentation</strong> page contains:</p>
+ <ul>
+ <li> A description of the module. </li>
+ <li> A summary of the classes defined by the module. </li>
+ <li> A summary of the functions defined by the module. </li>
+ <li> A summary of the variables defined by the module. </li>
+ <li> A detailed description of each function defined by the
+ module. </li>
+ <li> A detailed description of each variable defined by the
+ module. </li>
+ </ul>
+
+ <p>Each <strong>Class Documentation</strong> page contains: </p>
+ <ul>
+ <li> A class inheritance diagram. </li>
+ <li> A list of known subclasses. </li>
+ <li> A description of the class. </li>
+ <li> A summary of the methods defined by the class. </li>
+ <li> A summary of the instance variables defined by the class. </li>
+ <li> A summary of the class (static) variables defined by the
+ class. </li>
+ <li> A detailed description of each method defined by the
+ class. </li>
+ <li> A detailed description of each instance variable defined by the
+ class. </li>
+ <li> A detailed description of each class (static) variable defined
+ by the class. </li>
+ </ul>
+
+<h2> Project Documentation </h2>
+
+ <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
+ <ul>
+ <li> The <em>module hierarchy</em> lists every package and module, with
+ modules grouped into packages. At the top level, and within each
+ package, modules and sub-packages are listed alphabetically. </li>
+ <li> The <em>class hierarchy</em> lists every class, grouped by base
+ class. If a class has more than one base class, then it will be
+ listed under each base class. At the top level, and under each base
+ class, classes are listed alphabetically. </li>
+ </ul>
+
+ <p> The <strong>Index</strong> page contains indices of terms and
+ identifiers: </p>
+ <ul>
+ <li> The <em>term index</em> lists every term indexed by any object's
+ documentation. For each term, the index provides links to each
+ place where the term is indexed. </li>
+ <li> The <em>identifier index</em> lists the (short) name of every package,
+ module, class, method, function, variable, and parameter. For each
+ identifier, the index provides a short description, and a link to
+ its documentation. </li>
+ </ul>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window. The upper-left frame displays the <em>project
+contents</em>, and the lower-left frame displays the <em>module
+contents</em>: </p>
+
+<table class="help summary" border="1" cellspacing="0" cellpadding="3">
+ <tr style="height: 30%">
+ <td align="center" style="font-size: small">
+ Project<br />Contents<hr />...</td>
+ <td align="center" style="font-size: small" rowspan="2" width="70%">
+ API<br />Documentation<br />Frame<br /><br /><br />
+ </td>
+ </tr>
+ <tr>
+ <td align="center" style="font-size: small">
+ Module<br />Contents<hr /> <br />...<br />
+ </td>
+ </tr>
+</table><br />
+
+<p> The <strong>project contents frame</strong> contains a list of all packages
+and modules that are defined by the project. Clicking on an entry
+will display its contents in the module contents frame. Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <strong>module contents frame</strong> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package. Clicking on an entry will display its
+documentation in the API documentation frame. Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages. The following table describes the labels
+on the navigation bar. Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+ <th>Label</th>
+ <th>Highlighted when...</th>
+ <th>Links to...</th>
+</tr>
+ <tr><td valign="top"><strong>[Parent]</strong></td>
+ <td valign="top"><em>(never highlighted)</em></td>
+ <td valign="top"> the parent of the current package </td></tr>
+ <tr><td valign="top"><strong>[Package]</strong></td>
+ <td valign="top">viewing a package</td>
+ <td valign="top">the package containing the current object
+ </td></tr>
+ <tr><td valign="top"><strong>[Module]</strong></td>
+ <td valign="top">viewing a module</td>
+ <td valign="top">the module containing the current object
+ </td></tr>
+ <tr><td valign="top"><strong>[Class]</strong></td>
+ <td valign="top">viewing a class </td>
+ <td valign="top">the class containing the current object</td></tr>
+ <tr><td valign="top"><strong>[Trees]</strong></td>
+ <td valign="top">viewing the trees page</td>
+ <td valign="top"> the trees page </td></tr>
+ <tr><td valign="top"><strong>[Index]</strong></td>
+ <td valign="top">viewing the index page</td>
+ <td valign="top"> the index page </td></tr>
+ <tr><td valign="top"><strong>[Help]</strong></td>
+ <td valign="top">viewing the help page</td>
+ <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed. Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore. For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not. However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Help </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Identifier Index</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Indices </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%"> </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="identifier-index.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table border="0" width="100%">
+<tr valign="bottom"><td>
+<h1 class="epydoc">Identifier Index</h1>
+</td><td>
+[
+ <a href="#A">A</a>
+ <a href="#B">B</a>
+ <a href="#C">C</a>
+ <a href="#D">D</a>
+ <a href="#E">E</a>
+ <a href="#F">F</a>
+ <a href="#G">G</a>
+ H
+ <a href="#I">I</a>
+ J
+ K
+ <a href="#L">L</a>
+ <a href="#M">M</a>
+ <a href="#N">N</a>
+ <a href="#O">O</a>
+ <a href="#P">P</a>
+ Q
+ <a href="#R">R</a>
+ <a href="#S">S</a>
+ <a href="#T">T</a>
+ <a href="#U">U</a>
+ <a href="#V">V</a>
+ <a href="#W">W</a>
+ X
+ Y
+ Z
+ <a href="#_">_</a>
+]
+</td></table>
+<table border="0" width="100%">
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.component.MetaComponent-class.html#abstract">abstract</a><br />
+<span class="index-where">(in <a href="timeside.component.MetaComponent-class.html">MetaComponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#analyzer">analyzer</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.TestCase-class.html#assertSameList">assertSameList()</a><br />
+<span class="index-where">(in <a href="timeside.tests.TestCase-class.html">TestCase</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#abstract">abstract()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestAnalyzers-class.html#analyzers">analyzers</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestAnalyzers-class.html">TestAnalyzers</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#audiochannels">audiochannels</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#addError">addError()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api-module.html">api</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#audioformat">audioformat</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#addFailure">addFailure()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api-module.html">api</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#audionframes">audionframes</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#addSuccess">addSuccess()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions.ApiError-class.html">ApiError</a><br />
+<span class="index-where">(in <a href="timeside.exceptions-module.html">timeside.exceptions</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core-module.html">timeside.analyze.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.alltests-module.html">alltests</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#assertIOEquals">assertIOEquals()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#audiorate">audiorate</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze-module.html">analyze</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+<td width="33%" class="link-index"><a href="exceptions.AssertionError-class.html">AssertionError</a></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color">bg_color</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color">bg_color</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#BUFFER_SIZE">BUFFER_SIZE</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a>)</span></td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C1-class.html">C1</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels-module.html">channels</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples-module.html#color_schemes">color_schemes</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C10-class.html">C10</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#channels">channels()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html">component</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C11-class.html">C11</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#channels">channels()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.Component-class.html">Component</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C2-class.html">C2</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#channels">channels()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.ComponentError-class.html">ComponentError</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C3-class.html">C3</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#channels">channels()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C4-class.html">C4</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#color_from_value">color_from_value()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp-module.html">timeside.analyze.vamp</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C5-class.html">C5</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme">color_scheme</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C6-class.html">C6</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme">color_scheme</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside.decode-module.html">timeside.decode</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C7-class.html">C7</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher-module.html#color_schemes">color_schemes</a><br />
+<span class="index-where">(in <a href="timeside.grapher-module.html">timeside.grapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside.encode-module.html">timeside.encode</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C8-class.html">C8</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core-module.html#color_schemes">color_schemes</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core-module.html">core</a><br />
+<span class="index-where">(in <a href="timeside.grapher-module.html">timeside.grapher</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C9-class.html">C9</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab-module.html#color_schemes">color_schemes</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab-module.html">timeside.grapher.spectrogram_audiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process">core_process()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.channels-module.html">timeside.analyze.channels</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab-module.html#color_schemes">color_schemes</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab-module.html">timeside.grapher.waveform_audiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.core.EncoderCore-class.html#core_process">core_process()</a><br />
+<span class="index-where">(in <a href="timeside.encode.core.EncoderCore-class.html">EncoderCore</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc-module.html">dc</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#discover">discover()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode-module.html">decode</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#discovered">discovered()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#decoder">decoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#draw_anti_aliased_pixels">draw_anti_aliased_pixels()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#decoder">decoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#draw_peaks">draw_peaks()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html#decoder">decoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectrogramImage-class.html#draw_spectrum">draw_spectrum()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html#decoder">decoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration-module.html">duration</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.core.DecoderCore-class.html">DecoderCore</a><br />
+<span class="index-where">(in <a href="timeside.decode.core-module.html">timeside.decode.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html">Duration</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestDecoders-class.html#decoders">decoders</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#duration">duration</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.analyze.duration-module.html">timeside.analyze.duration</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#description">description()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#destination">destination</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#effect">effect</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding-module.html">encoding</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions.Error-class.html">Error</a><br />
+<span class="index-where">(in <a href="timeside.exceptions-module.html">timeside.exceptions</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode-module.html">encode</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html#encoding">encoding()</a><br />
+<span class="index-where">(in <a href="timeside.api.IDecoder-class.html">IDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples-module.html">examples</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#encoder">encoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#encoding">encoding()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions-module.html">exceptions</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#encoder">encoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#encoding">encoding()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestDecoders-class.html#export">export()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.core.EncoderCore-class.html">EncoderCore</a><br />
+<span class="index-where">(in <a href="timeside.encode.core-module.html">timeside.encode.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.encoding-module.html">timeside.analyze.encoding</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#extend_unique">extend_unique()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestEncoders-class.html#encoders">encoders</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#eod">eod</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#FFT_SIZE">FFT_SIZE</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#FFT_SIZE">FFT_SIZE</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#find_implementations">find_implementations()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#fixed">fixed</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.FixedSizeInputAdapter-class.html">FixedSizeInputAdapter</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.flac-module.html">flac</a><br />
+<span class="index-where">(in <a href="timeside.decode-module.html">timeside.decode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac-module.html">flac</a><br />
+<span class="index-where">(in <a href="timeside.encode-module.html">timeside.encode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac-module.html">timeside.decode.flac</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac-module.html">timeside.encode.flac</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.format-module.html">format</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.format-module.html">timeside.analyze.format</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.api.IDecoder-class.html">IDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#frames">frames</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension">file_extension()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#format">format()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Gain-class.html">Gain</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core-module.html#get_processor">get_processor()</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#gain">gain</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#get_samplerate">get_samplerate()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#gain">gain</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#get_args">get_args()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_wav_path">get_wav_path()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#get_args">get_args()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#getDescription">getDescription()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#get_args">get_args()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher-module.html">grapher</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#get_channels">get_channels()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestGraphers-class.html#graphers">graphers</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestGraphers-class.html">TestGraphers</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestDecoders-class.html#get_decoder">get_decoder()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#gst_buffer_to_numpy_array">gst_buffer_to_numpy_array()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestEncoders-class.html#get_encoder">get_encoder()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#get_nframes">get_nframes()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer-module.html">gstreamer</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#get_file_info">get_file_info()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_plugins_list">get_plugins_list()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I1-class.html">I1</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I10-class.html">I10</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I11-class.html">I11</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I2-class.html">I2</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html">IDecoder</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I3-class.html">I3</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEffect-class.html">IEffect</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I4-class.html">I4</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html">IEncoder</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I5-class.html">I5</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IGrapher-class.html">IGrapher</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I6-class.html">I6</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html#image_file">image_file</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I7-class.html">I7</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html#image_file">image_file</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I8-class.html">I8</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.MetaComponent-class.html#implementations">implementations</a><br />
+<span class="index-where">(in <a href="timeside.component.MetaComponent-class.html">MetaComponent</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I9-class.html">I9</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#implementations">implementations()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.MetaComponent-class.html#implements">implements</a><br />
+<span class="index-where">(in <a href="timeside.component.MetaComponent-class.html">MetaComponent</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels.ChannelAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#implements">implements()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Duration-class.html">Duration</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.Interface-class.html">Interface</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration.DurationAnalyzer-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component-module.html#interfacedoc">interfacedoc()</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core-module.html#interpolate_colors">interpolate_colors()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.format.FormatAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Gain-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Gain-class.html">Gain</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html">IProcessor</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IValueAnalyzer-class.html">IValueAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.api-module.html">timeside.api</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#id">id()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestAnalyzers-class.html#list">list()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestAnalyzers-class.html">TestAnalyzers</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestEncoders-class.html#list">list()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.listprocessors-module.html#list_processors">list_processors()</a><br />
+<span class="index-where">(in <a href="timeside.tests.listprocessors-module.html">timeside.tests.listprocessors</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestDecoders-class.html#list">list()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestGraphers-class.html#list">list()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestGraphers-class.html">TestGraphers</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.listprocessors-module.html">listprocessors</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#MAX_DISCOVERY_TIME">MAX_DISCOVERY_TIME</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.metadata.Metadata-class.html">Metadata</a><br />
+<span class="index-where">(in <a href="timeside.metadata-module.html">timeside.metadata</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level-module.html">max_level</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html#metadata">metadata()</a><br />
+<span class="index-where">(in <a href="timeside.api.IDecoder-class.html">IDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#max_level">max_level</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#metadata">metadata()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#metadata">metadata()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#maxlevel">maxlevel</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.MetaProcessor-class.html">MetaProcessor</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.analyze.max_level-module.html">timeside.analyze.max_level</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#mimetype">mimetype</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level-module.html">mean_level</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.flac.FlacDecoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test-module.html#mimetype">mimetype()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test-module.html">timeside.tests.test</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.dc-module.html">timeside.analyze.dc</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3-module.html">mp3</a><br />
+<span class="index-where">(in <a href="timeside.decode-module.html">timeside.decode</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.mean_level-module.html">timeside.analyze.mean_level</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3-module.html">mp3</a><br />
+<span class="index-where">(in <a href="timeside.encode-module.html">timeside.encode</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.component.MetaComponent-class.html">MetaComponent</a><br />
+<span class="index-where">(in <a href="timeside.component-module.html">timeside.component</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3-module.html">timeside.decode.mp3</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.metadata-module.html">metadata</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#mime_type">mime_type()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3-module.html">timeside.encode.mp3</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels.ChannelAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IAnalyzer-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#nchannels">nchannels</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEffect-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEffect-class.html">IEffect</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#nframes">nframes</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration.DurationAnalyzer-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IGrapher-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.api.IGrapher-class.html">IGrapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#nframes">nframes()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.FixedSizeInputAdapter-class.html#nframes">nframes()</a><br />
+<span class="index-where">(in <a href="timeside.core.FixedSizeInputAdapter-class.html">FixedSizeInputAdapter</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.format.FormatAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#nframes">nframes()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Duration-class.html">Duration</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#nframes">nframes()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Gain-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Gain-class.html">Gain</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#nframes">nframes()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html">Noise</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#numpy_array_to_gst_buffer">numpy_array_to_gst_buffer()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#name">name()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg-module.html">ogg</a><br />
+<span class="index-where">(in <a href="timeside.decode-module.html">timeside.decode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a><br />
+<span class="index-where">(in <a href="timeside.decode.ogg-module.html">timeside.decode.ogg</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg-module.html">ogg</a><br />
+<span class="index-where">(in <a href="timeside.encode-module.html">timeside.encode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg-module.html">timeside.encode.ogg</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#peaks">peaks()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#printErrorList">printErrorList()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectralCentroid-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectralCentroid-class.html">SpectralCentroid</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#printErrors">printErrors()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectrogramImage-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html">Processor</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.FixedSizeInputAdapter-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.core.FixedSizeInputAdapter-class.html">FixedSizeInputAdapter</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core-module.html#processors">processors()</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.ProcessPipe-class.html">ProcessPipe</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.core.DecoderCore-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.decode.core.DecoderCore-class.html">DecoderCore</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Gain-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Gain-class.html">Gain</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#process">process()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#resolution">resolution()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#read_frames">read_frames()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a><br />
+<span class="index-where">(in <a href="timeside.analyze.resolution-module.html">timeside.analyze.resolution</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#release">release()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IValueAnalyzer-class.html#result">result()</a><br />
+<span class="index-where">(in <a href="timeside.api.IValueAnalyzer-class.html">IValueAnalyzer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#release">release()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html#result">result()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Duration-class.html">Duration</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#release">release()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IGrapher-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.api.IGrapher-class.html">IGrapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#result">result()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#release">release()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.ProcessPipe-class.html#run">run()</a><br />
+<span class="index-where">(in <a href="timeside.core.ProcessPipe-class.html">ProcessPipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels.ChannelAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.TestRunner-class.html#run">run()</a><br />
+<span class="index-where">(in <a href="timeside.tests.TestRunner-class.html">TestRunner</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestAnalyzers-class.html#run">run()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestAnalyzers-class.html">TestAnalyzers</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration.DurationAnalyzer-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestEncoders-class.html#run">run()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution-module.html">resolution</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestGraphers-class.html#run">run()</a><br />
+<span class="index-where">(in <a href="timeside.tests.test.TestGraphers-class.html">TestGraphers</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.format.FormatAnalyser-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html#resolution">resolution()</a><br />
+<span class="index-where">(in <a href="timeside.api.IDecoder-class.html">IDecoder</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render">render()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#resolution">resolution()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate-module.html">samplerate</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#set_colors">set_colors()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#source">source</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#samplerate">samplerate</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#set_metadata">set_metadata()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#source">source</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#samplerate">samplerate()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#set_metadata">set_metadata()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html#source">source</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#samplerate">samplerate()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#set_metadata">set_metadata()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html#source">source</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#samplerate">samplerate()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IProcessor-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.api.IProcessor-class.html">IProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate">samplerate()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectralCentroid-class.html">SpectralCentroid</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.analyze.samplerate-module.html">timeside.analyze.samplerate</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Duration-class.html">Duration</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectrogramImage-class.html#save">save()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram">spectrogram</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#save">save()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab-module.html">spectrogram_audiolab</a><br />
+<span class="index-where">(in <a href="timeside.grapher-module.html">timeside.grapher</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#seek">seek()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab-module.html">timeside.grapher.spectrogram_audiolab</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#separator1">separator1</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#separator2">separator2</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#startTest">startTest()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IGrapher-class.html#set_colors">set_colors()</a><br />
+<span class="index-where">(in <a href="timeside.api.IGrapher-class.html">IGrapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#subpipe">subpipe</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#set_colors">set_colors()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions.SubProcessError-class.html">SubProcessError</a><br />
+<span class="index-where">(in <a href="timeside.exceptions-module.html">timeside.exceptions</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#set_colors">set_colors()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#setup">setup()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.decode.core.SubProcessPipe-class.html">SubProcessPipe</a><br />
+<span class="index-where">(in <a href="timeside.decode.core-module.html">timeside.decode.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#set_colors">set_colors()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.core.SubProcessPipe-class.html">SubProcessPipe</a><br />
+<span class="index-where">(in <a href="timeside.encode.core-module.html">timeside.encode.core</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test-module.html">test</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a><br />
+<span class="index-where">(in <a href="timeside.tests.test-module.html">timeside.tests.test</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testOneInterface">testOneInterface()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C10-class.html#test">test()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.C10-class.html" onclick="show_private();">C10</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a><br />
+<span class="index-where">(in <a href="timeside.tests.test-module.html">timeside.tests.test</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testPadding">testPadding()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I10-class.html#test">test()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.I10-class.html" onclick="show_private();">I10</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter-module.html">timeside.tests.testinputadapter</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.TestRunner-class.html">TestRunner</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html">test_lolevel</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestGraphers-class.html">TestGraphers</a><br />
+<span class="index-where">(in <a href="timeside.tests.test-module.html">timeside.tests.test</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests-module.html">tests</a><br />
+<span class="index-where">(in <a href="timeside-module.html">timeside</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html">test_pipe</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationInheritance">testImplementationInheritance()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testSizeMultiple">testSizeMultiple()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html">test_pipe_spectrogram</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationRedundancy">testImplementationRedundancy()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.C10-class.html#teststatic">teststatic()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.C10-class.html" onclick="show_private();">C10</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html">test_pipe_waveform</a><br />
+<span class="index-where">(in <a href="timeside.tests.api-module.html">timeside.tests.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter-module.html">testinputadapter</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.I10-class.html#teststatic">teststatic()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.I10-class.html" onclick="show_private();">I10</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testAbstractImplementation">testAbstractImplementation()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testIntefaceDocReversed">testIntefaceDocReversed()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testTwoChannels">testTwoChannels()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.test.TestAnalyzers-class.html">TestAnalyzers</a><br />
+<span class="index-where">(in <a href="timeside.tests.test-module.html">timeside.tests.test</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDoc">testInterfaceDoc()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoImplementations">testTwoImplementations()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.TestCase-class.html">TestCase</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocBadMethod">testInterfaceDocBadMethod()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoInterfaces">testTwoInterfaces()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent-module.html">testcomponent</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocStatic">testInterfaceDocStatic()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside-module.html">timeside</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceInheritance">testInterfaceInheritance()</a><br />
+<span class="index-where">(in <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.channels.ChannelAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.MaxLevel-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.resolution.ResolutionAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_lolevel-module.html#use_gst">use_gst</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.duration.DurationAnalyzer-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe-module.html#use_gst">use_gst</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.encoding.EncodingAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_spectrogram-module.html#use_gst">use_gst</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.format.FormatAnalyser-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IAnalyzer-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html#use_gst">use_gst</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Duration-class.html#unit">unit()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Duration-class.html">Duration</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.MetaProcessor-class.html#valid_id">valid_id</a><br />
+<span class="index-where">(in <a href="timeside.core.MetaProcessor-class.html">MetaProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp-module.html">vamp</a><br />
+<span class="index-where">(in <a href="timeside.analyze-module.html">timeside.analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core-module.html">timeside.analyze.vamp.core</a>)</span></td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.wav-module.html">wav</a><br />
+<span class="index-where">(in <a href="timeside.decode-module.html">timeside.decode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab-module.html">waveform_audiolab</a><br />
+<span class="index-where">(in <a href="timeside.grapher-module.html">timeside.grapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.wav-module.html">wav</a><br />
+<span class="index-where">(in <a href="timeside.encode-module.html">timeside.encode</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a><br />
+<span class="index-where">(in <a href="timeside.grapher.waveform_audiolab-module.html">timeside.grapher.waveform_audiolab</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#write_tags">write_tags()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a><br />
+<span class="index-where">(in <a href="timeside.decode.wav-module.html">timeside.decode.wav</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core-module.html">timeside.grapher.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#write_tags">write_tags()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav-module.html">timeside.encode.wav</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#write_tags">write_tags()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests.api.test_pipe_waveform-module.html#waveform">waveform</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._WritelnDecorator-class.html#writeln">writeln()</a><br />
+<span class="index-where">(in <a href="timeside.tests._WritelnDecorator-class.html" onclick="show_private();">_WritelnDecorator</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#__del__">__del__()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.flac.FlacEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.WavEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.tests._WritelnDecorator-class.html#__getattr__">__getattr__()</a><br />
+<span class="index-where">(in <a href="timeside.tests._WritelnDecorator-class.html" onclick="show_private();">_WritelnDecorator</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.mp3.Mp3Encoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Waveform-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Waveform-class.html">Waveform</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.encode.wav.WavEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IAnalyzer-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions.SubProcessError-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.exceptions.SubProcessError-class.html">SubProcessError</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.ProcessPipe-class.html#__ior__">__ior__()</a><br />
+<span class="index-where">(in <a href="timeside.core.ProcessPipe-class.html">ProcessPipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IDecoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IDecoder-class.html">IDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.Noise-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.Noise-class.html">Noise</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.component.MetaComponent-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in <a href="timeside.component.MetaComponent-class.html">MetaComponent</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IEffect-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEffect-class.html">IEffect</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectralCentroid-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectralCentroid-class.html">SpectralCentroid</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.MetaProcessor-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in <a href="timeside.core.MetaProcessor-class.html">MetaProcessor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IEncoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IEncoder-class.html">IEncoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.SpectrogramImage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.ProcessPipe-class.html#__or__">__or__()</a><br />
+<span class="index-where">(in <a href="timeside.core.ProcessPipe-class.html">ProcessPipe</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.api.IGrapher-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IGrapher-class.html">IGrapher</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.grapher.core.WaveformImage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core.Processor-class.html#__or__">__or__()</a><br />
+<span class="index-where">(in <a href="timeside.core.Processor-class.html">Processor</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.FixedSizeInputAdapter-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.core.FixedSizeInputAdapter-class.html">FixedSizeInputAdapter</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.TestRunner-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.TestRunner-class.html">TestRunner</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.api.IValueAnalyzer-class.html#__str__">__str__()</a><br />
+<span class="index-where">(in <a href="timeside.api.IValueAnalyzer-class.html">IValueAnalyzer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.core.ProcessPipe-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.core.ProcessPipe-class.html">ProcessPipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests._TextTestResult-class.html" onclick="show_private();">_TextTestResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.exceptions.SubProcessError-class.html#__str__">__str__()</a><br />
+<span class="index-where">(in <a href="timeside.exceptions.SubProcessError-class.html">SubProcessError</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.core.DecoderCore-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.decode.core.DecoderCore-class.html">DecoderCore</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._WritelnDecorator-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests._WritelnDecorator-class.html" onclick="show_private();">_WritelnDecorator</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.TestRunner-class.html#_makeResult">_makeResult()</a><br />
+<span class="index-where">(in <a href="timeside.tests.TestRunner-class.html">TestRunner</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.core.SubProcessPipe-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.decode.core.SubProcessPipe-class.html">SubProcessPipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.FileDecoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.core-module.html#_processors">_processors</a><br />
+<span class="index-where">(in <a href="timeside.core-module.html">timeside.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.decode.mp3.Mp3Decoder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Gain-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Gain-class.html">Gain</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._TextTestResult-class.html">_TextTestResult</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="timeside.encode.core.SubProcessPipe-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.encode.core.SubProcessPipe-class.html">SubProcessPipe</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests.api.examples.Spectrogram-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a>)</span></td>
+<td width="33%" class="link-index"><a href="timeside.tests._WritelnDecorator-class.html">_WritelnDecorator</a><br />
+<span class="index-where">(in <a href="timeside.tests-module.html">timeside.tests</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+</table>
+<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Indices </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+ <frameset rows="30%,70%">
+ <frame src="toc.html" name="moduleListFrame"
+ id="moduleListFrame" />
+ <frame src="toc-everything.html" name="moduleFrame"
+ id="moduleFrame" />
+ </frameset>
+ <frame src="timeside-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module Hierarchy</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Trees </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%"> </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="module-tree.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Module Hierarchy</h1>
+<ul class="nomargin-top">
+ <li> <strong class="uidlink"><a href="timeside-module.html">timeside</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze-module.html">timeside.analyze</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.channels-module.html">timeside.analyze.channels</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.core-module.html">timeside.analyze.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.dc-module.html">timeside.analyze.dc</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.duration-module.html">timeside.analyze.duration</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.encoding-module.html">timeside.analyze.encoding</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.format-module.html">timeside.analyze.format</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.max_level-module.html">timeside.analyze.max_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.mean_level-module.html">timeside.analyze.mean_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.resolution-module.html">timeside.analyze.resolution</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.samplerate-module.html">timeside.analyze.samplerate</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp-module.html">timeside.analyze.vamp</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp.core-module.html">timeside.analyze.vamp.core</a></strong> </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api-module.html">timeside.api</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.component-module.html">timeside.component</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.core-module.html">timeside.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode-module.html">timeside.decode</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.decode.core-module.html">timeside.decode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.flac-module.html">timeside.decode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.mp3-module.html">timeside.decode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.ogg-module.html">timeside.decode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.wav-module.html">timeside.decode.wav</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode-module.html">timeside.encode</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.encode.core-module.html">timeside.encode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.flac-module.html">timeside.encode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.mp3-module.html">timeside.encode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.ogg-module.html">timeside.encode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.wav-module.html">timeside.encode.wav</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.exceptions-module.html">timeside.exceptions</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher-module.html">timeside.grapher</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core-module.html">timeside.grapher.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.spectrogram_audiolab-module.html">timeside.grapher.spectrogram_audiolab</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.waveform_audiolab-module.html">timeside.grapher.waveform_audiolab</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.metadata-module.html">timeside.metadata</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests-module.html">timeside.tests</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.alltests-module.html">timeside.tests.alltests</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api-module.html">timeside.tests.api</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.listprocessors-module.html">timeside.tests.listprocessors</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test-module.html">timeside.tests.test</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testinputadapter-module.html">timeside.tests.testinputadapter</a></strong> </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Trees </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<html><head><title>Epydoc Redirect Page</title>
+<meta http-equiv="cache-control" content="no-cache" />
+<meta http-equiv="expires" content="0" />
+<meta http-equiv="pragma" content="no-cache" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+<!--
+var pages = ["timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-c", "timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-c", "timeside.tests.testinputadapter.TestFixedSizeInputAdapter-c", "timeside.tests.testcomponent.TestComponentArchitecture-c", "timeside.tests.api.examples.FixedInputProcessor-c", "timeside.analyze.resolution.ResolutionAnalyser-c", "timeside.analyze.samplerate.SampleRateAnalyzer-c", "timeside.analyze.mean_level.MeanLevelAnalyser-c", "timeside.analyze.max_level.MaxLevelAnalyzer-c", "timeside.analyze.vamp.core.VampCoreAnalyzer-c", "timeside.analyze.duration.DurationAnalyzer-c", "timeside.analyze.encoding.EncodingAnalyser-c", "timeside.analyze.channels.ChannelAnalyser-c", "timeside.tests.api.test_pipe_spectrogram-m", "timeside.tests.api.gstreamer.FileDecoder-c", "timeside.analyze.dc.MeanDCShiftAnalyser-c", "timeside.tests.api.examples.FileDecoder-c", "timeside.tests.api.examples.Spectrogram-c", "timeside.tests.api.gstreamer.WavEncoder-c", "timeside.analyze.format.FormatAnalyser-c", "timeside.grapher.core.SpectralCentroid-c", "timeside.grapher.core.SpectrogramImage-c", "timeside.tests.api.examples.WavEncoder-c", "timeside.grapher.spectrogram_audiolab-m", "timeside.tests.api.test_pipe_waveform-m", "timeside.analyze.core.AudioProcessor-c", "timeside.encode.ogg.OggVorbisEncoder-c", "timeside.tests.api.examples.Duration-c", "timeside.tests.api.examples.MaxLevel-c", "timeside.tests.api.examples.Waveform-c", "timeside.core.FixedSizeInputAdapter-c", "timeside.decode.core.SubProcessPipe-c", "timeside.encode.core.SubProcessPipe-c", "timeside.exceptions.SubProcessError-c", "timeside.grapher.core.WaveformImage-c", "timeside.grapher.waveform_audiolab-m", "timeside.component.ComponentError-c", "timeside.tests.test.TestAnalyzers-c", "timeside.component.MetaComponent-c", "timeside.decode.core.DecoderCore-c", "timeside.decode.flac.FlacDecoder-c", "timeside.encode.core.EncoderCore-c", "timeside.encode.flac.FlacEncoder-c", "timeside.tests._WritelnDecorator-c", "timeside.tests.api.examples.Gain-c", "timeside.tests.test.TestDecoders-c", "timeside.tests.test.TestEncoders-c", "timeside.tests.test.TestGraphers-c", "timeside.tests.testcomponent.C10-c", "timeside.tests.testcomponent.C11-c", "timeside.tests.testcomponent.I10-c", "timeside.tests.testcomponent.I11-c", "timeside.tests.api.test_lolevel-m", "timeside.tests.testinputadapter-m", "timeside.tests.testcomponent.C1-c", "timeside.tests.testcomponent.C2-c", "timeside.tests.testcomponent.C3-c", "timeside.tests.testcomponent.C4-c", "timeside.tests.testcomponent.C5-c", "timeside.tests.testcomponent.C6-c", "timeside.tests.testcomponent.C7-c", "timeside.tests.testcomponent.C8-c", "timeside.tests.testcomponent.C9-c", "timeside.tests.testcomponent.I1-c", "timeside.tests.testcomponent.I2-c", "timeside.tests.testcomponent.I3-c", "timeside.tests.testcomponent.I4-c", "timeside.tests.testcomponent.I5-c", "timeside.tests.testcomponent.I6-c", "timeside.tests.testcomponent.I7-c", "timeside.tests.testcomponent.I8-c", "timeside.tests.testcomponent.I9-c", "timeside.decode.mp3.Mp3Decoder-c", "timeside.decode.ogg.OggDecoder-c", "timeside.decode.wav.WavDecoder-c", "timeside.encode.mp3.Mp3Encoder-c", "timeside.encode.wav.WavEncoder-c", "timeside.tests._TextTestResult-c", "timeside.tests.listprocessors-m", "timeside.tests.api.gstreamer-m", "timeside.tests.api.test_pipe-m", "timeside.tests.testcomponent-m", "timeside.component.Component-c", "timeside.component.Interface-c", "timeside.exceptions.ApiError-c", "timeside.analyze.mean_level-m", "timeside.analyze.resolution-m", "timeside.analyze.samplerate-m", "timeside.tests.api.examples-m", "timeside.api.IValueAnalyzer-c", "timeside.core.MetaProcessor-c", "timeside.grapher.core.Noise-c", "timeside.analyze.max_level-m", "timeside.analyze.vamp.core-m", "timeside.metadata.Metadata-c", "timeside.analyze.channels-m", "timeside.analyze.duration-m", "timeside.analyze.encoding-m", "exceptions.AssertionError-c", "timeside.core.ProcessPipe-c", "timeside.exceptions.Error-c", "timeside.tests.TestRunner-c", "timeside.analyze.format-m", "timeside.tests.alltests-m", "timeside.api.IProcessor-c", "timeside.core.Processor-c", "timeside.tests.TestCase-c", "timeside.api.IAnalyzer-c", "timeside.analyze.core-m", "timeside.analyze.vamp-m", "timeside.grapher.core-m", "timeside.api.IDecoder-c", "timeside.api.IEncoder-c", "timeside.api.IGrapher-c", "timeside.decode.core-m", "timeside.decode.flac-m", "timeside.encode.core-m", "timeside.encode.flac-m", "timeside.api.IEffect-c", "timeside.analyze.dc-m", "timeside.decode.mp3-m", "timeside.decode.ogg-m", "timeside.decode.wav-m", "timeside.encode.mp3-m", "timeside.encode.ogg-m", "timeside.encode.wav-m", "timeside.exceptions-m", "timeside.tests.test-m", "timeside.component-m", "timeside.tests.api-m", "timeside.metadata-m", "timeside.analyze-m", "timeside.grapher-m", "timeside.decode-m", "timeside.encode-m", "timeside.tests-m", "timeside.core-m", "timeside.api-m", "timeside-m"];
+var dottedName = get_anchor();
+if (dottedName) {
+ var target = redirect_url(dottedName);
+ if (target) window.location.replace(target);
+}
+// -->
+</script>
+
+<h3>Epydoc Auto-redirect page</h3>
+
+<p>When javascript is enabled, this page will redirect URLs of
+the form <tt>redirect.html#<i>dotted.name</i></tt> to the
+documentation for the object with the given fully-qualified
+dotted name.</p>
+<p><a id="message"> </a></p>
+
+<script type="text/javascript">
+<!--
+if (dottedName) {
+ var msg = document.getElementById("message");
+ msg.innerHTML = "No documentation found for <tt>"+
+ dottedName+"</tt>";
+}
+// -->
+</script>
+
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Home </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ Package timeside
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package timeside</h1><p class="nomargin-top"><span class="codelink"><a href="timeside-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.analyze-module.html">timeside.analyze</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.channels-module.html">timeside.analyze.channels</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.core-module.html">timeside.analyze.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.dc-module.html">timeside.analyze.dc</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.duration-module.html">timeside.analyze.duration</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.encoding-module.html">timeside.analyze.encoding</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.format-module.html">timeside.analyze.format</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.max_level-module.html">timeside.analyze.max_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.mean_level-module.html">timeside.analyze.mean_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.resolution-module.html">timeside.analyze.resolution</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.samplerate-module.html">timeside.analyze.samplerate</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp-module.html">timeside.analyze.vamp</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp.core-module.html">timeside.analyze.vamp.core</a></strong> </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.api-module.html">timeside.api</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.component-module.html">timeside.component</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.core-module.html">timeside.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode-module.html">timeside.decode</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.decode.core-module.html">timeside.decode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.flac-module.html">timeside.decode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.mp3-module.html">timeside.decode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.ogg-module.html">timeside.decode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.wav-module.html">timeside.decode.wav</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.encode-module.html">timeside.encode</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.encode.core-module.html">timeside.encode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.flac-module.html">timeside.encode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.mp3-module.html">timeside.encode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.ogg-module.html">timeside.encode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.wav-module.html">timeside.encode.wav</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.exceptions-module.html">timeside.exceptions</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher-module.html">timeside.grapher</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.grapher.core-module.html">timeside.grapher.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.spectrogram_audiolab-module.html">timeside.grapher.spectrogram_audiolab</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.waveform_audiolab-module.html">timeside.grapher.waveform_audiolab</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.metadata-module.html">timeside.metadata</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests-module.html">timeside.tests</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.alltests-module.html">timeside.tests.alltests</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api-module.html">timeside.tests.api</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.listprocessors-module.html">timeside.tests.listprocessors</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test-module.html">timeside.tests.test</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testinputadapter-module.html">timeside.tests.testinputadapter</a></strong> </li>
+ </ul>
+ </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Home </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Home </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ Package timeside
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside-module.html">Package timeside</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-1', 'metadata', 'link-1');">metadata</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.metadata.Metadata=timeside.metadata.Metadata-class.html"><a title="timeside.metadata.Metadata" class="py-name" href="#" onclick="return doclink('link-2', 'Metadata', 'link-2');">Metadata</a></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-3', 'decode', 'link-3');">decode</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-4', 'encode', 'link-4');">encode</a></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-5', 'analyze', 'link-5');">analyze</a></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-6', 'grapher', 'link-6');">grapher</a></tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th bgcolor="#70b0f0" class="navbar-select"
+ > Home </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package analyze
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package analyze</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.analyze.channels-module.html">timeside.analyze.channels</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.core-module.html">timeside.analyze.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.dc-module.html">timeside.analyze.dc</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.duration-module.html">timeside.analyze.duration</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.encoding-module.html">timeside.analyze.encoding</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.format-module.html">timeside.analyze.format</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.max_level-module.html">timeside.analyze.max_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.mean_level-module.html">timeside.analyze.mean_level</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.resolution-module.html">timeside.analyze.resolution</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.samplerate-module.html">timeside.analyze.samplerate</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp-module.html">timeside.analyze.vamp</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp.core-module.html">timeside.analyze.vamp.core</a></strong> </li>
+ </ul>
+ </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package analyze
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze-module.html">Package timeside.analyze</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-4', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-5', 'channels', 'link-5');">channels</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-7', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.analyze.format=timeside.analyze.format-module.html,Method timeside.api.IDecoder.format()=timeside.api.IDecoder-class.html#format,Static Method timeside.api.IEncoder.format()=timeside.api.IEncoder-class.html#format,Method timeside.decode.flac.FlacDecoder.format()=timeside.decode.flac.FlacDecoder-class.html#format,Method timeside.decode.mp3.Mp3Decoder.format()=timeside.decode.mp3.Mp3Decoder-class.html#format,Method timeside.decode.ogg.OggDecoder.format()=timeside.decode.ogg.OggDecoder-class.html#format,Method timeside.decode.wav.WavDecoder.format()=timeside.decode.wav.WavDecoder-class.html#format,Method timeside.encode.flac.FlacEncoder.format()=timeside.encode.flac.FlacEncoder-class.html#format,Method timeside.encode.mp3.Mp3Encoder.format()=timeside.encode.mp3.Mp3Encoder-class.html#format,Method timeside.encode.ogg.OggVorbisEncoder.format()=timeside.encode.ogg.OggVorbisEncoder-class.html#format,Method timeside.encode.wav.WavEncoder.format()=timeside.encode.wav.WavEncoder-class.html#format,Method timeside.tests.api.examples.FileDecoder.format()=timeside.tests.api.examples.FileDecoder-class.html#format,Method timeside.tests.api.gstreamer.FileDecoder.format()=timeside.tests.api.gstreamer.FileDecoder-class.html#format"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-8', 'format', 'link-8');">format</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-9', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-10', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Module timeside.analyze.encoding=timeside.analyze.encoding-module.html,Method timeside.api.IDecoder.encoding()=timeside.api.IDecoder-class.html#encoding,Method timeside.tests.api.examples.FileDecoder.encoding()=timeside.tests.api.examples.FileDecoder-class.html#encoding,Method timeside.tests.api.gstreamer.FileDecoder.encoding()=timeside.tests.api.gstreamer.FileDecoder-class.html#encoding"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-11', 'encoding', 'link-11');">encoding</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-12" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-12', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-13', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module timeside.analyze.resolution=timeside.analyze.resolution-module.html,Method timeside.api.IDecoder.resolution()=timeside.api.IDecoder-class.html#resolution,Method timeside.tests.api.examples.FileDecoder.resolution()=timeside.tests.api.examples.FileDecoder-class.html#resolution,Method timeside.tests.api.gstreamer.FileDecoder.resolution()=timeside.tests.api.gstreamer.FileDecoder-class.html#resolution"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-14', 'resolution', 'link-14');">resolution</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-15" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-15', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-16', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-17', 'samplerate', 'link-17');">samplerate</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-18" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-18', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-19', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module timeside.analyze.duration=timeside.analyze.duration-module.html,Variable timeside.tests.api.test_pipe.duration=timeside.tests.api.test_pipe-module.html#duration"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-20', 'duration', 'link-20');">duration</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-21" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-21', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-22', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Module timeside.analyze.max_level=timeside.analyze.max_level-module.html,Variable timeside.tests.api.test_lolevel.max_level=timeside.tests.api.test_lolevel-module.html#max_level"><a title="timeside.analyze.max_level
+timeside.tests.api.test_lolevel.max_level" class="py-name" href="#" onclick="return doclink('link-23', 'max_level', 'link-23');">max_level</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-24" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-24', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-25', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Module timeside.analyze.mean_level=timeside.analyze.mean_level-module.html"><a title="timeside.analyze.mean_level" class="py-name" href="#" onclick="return doclink('link-26', 'mean_level', 'link-26');">mean_level</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-27" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-27', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-28', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module timeside.analyze.dc=timeside.analyze.dc-module.html"><a title="timeside.analyze.dc" class="py-name" href="#" onclick="return doclink('link-29', 'dc', 'link-29');">dc</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.channels</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module channels
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.channels-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module channels</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.channels-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.channels.ChannelAnalyser-class.html" class="summary-name">ChannelAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.channels</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module channels
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.channels-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.channels-module.html">Module timeside.analyze.channels</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="ChannelAnalyser"></a><div id="ChannelAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="ChannelAnalyser-toggle" onclick="return toggle('ChannelAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.channels.ChannelAnalyser-class.html">ChannelAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ChannelAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ChannelAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="ChannelAnalyser.id"></a><div id="ChannelAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="ChannelAnalyser.id-toggle" onclick="return toggle('ChannelAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.channels.ChannelAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ChannelAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ChannelAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"nchannels"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="ChannelAnalyser.name"></a><div id="ChannelAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="ChannelAnalyser.name-toggle" onclick="return toggle('ChannelAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.channels.ChannelAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ChannelAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ChannelAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Channels"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="ChannelAnalyser.unit"></a><div id="ChannelAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="ChannelAnalyser.unit-toggle" onclick="return toggle('ChannelAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.channels.ChannelAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ChannelAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ChannelAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="ChannelAnalyser.render"></a><div id="ChannelAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="ChannelAnalyser.render-toggle" onclick="return toggle('ChannelAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.channels.ChannelAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ChannelAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ChannelAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-9', 'channels', 'link-9');">channels</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'mono'</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-10', 'channels', 'link-9');">channels</a></tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'stereo'</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-11', 'channels', 'link-9');">channels</a></tt> </tt>
+</div></div><a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.channels.ChannelAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.channels-module.html">Module channels</a> ::
+ Class ChannelAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.channels.ChannelAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ChannelAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.channels-pysrc.html#ChannelAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">ChannelAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.channels-pysrc.html#ChannelAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.channels-pysrc.html#ChannelAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.channels-pysrc.html#ChannelAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.channels-pysrc.html#ChannelAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.core.AudioProcessor-class.html" class="summary-name">AudioProcessor</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.core-module.html">Module timeside.analyze.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># Authors:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Bram de Jong <bram.dejong at domain.com where domain in gmail></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Guillaume Pellerin <yomguy at parisson.com></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">optparse</tt><tt class="py-op">,</tt> <tt class="py-name">math</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">scikits</tt><tt class="py-op">.</tt><tt class="py-name">audiolab</tt> <tt class="py-keyword">as</tt> <tt class="py-name">audiolab</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-comment"># FIXME: AudioProcessor: wrong name, should be Analyzer or AnalyzerCore</tt> </tt>
+<a name="AudioProcessor"></a><div id="AudioProcessor-def"><a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="AudioProcessor-toggle" onclick="return toggle('AudioProcessor');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html">AudioProcessor</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="AudioProcessor-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.__init__"></a><div id="AudioProcessor.__init__-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="AudioProcessor.__init__-toggle" onclick="return toggle('AudioProcessor.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.__init__-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_function</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">ones</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window_function</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt> <tt class="py-op">=</tt> <tt class="py-number">22050</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher_log</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt> <tt class="py-op">=</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">val</tt><tt class="py-op">,</tt> <tt class="py-name">low</tt><tt class="py-op">,</tt> <tt class="py-name">high</tt><tt class="py-op">:</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">high</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">low</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.pre_process"></a><div id="AudioProcessor.pre_process-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="AudioProcessor.pre_process-toggle" onclick="return toggle('AudioProcessor.pre_process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.pre_process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.pre_process-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">wav_file</tt> <tt class="py-op">=</tt> <tt class="py-name">media_item</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt> <tt class="py-op">=</tt> <tt class="py-name">audiolab</tt><tt class="py-op">.</tt><tt class="py-name">sndfile</tt><tt class="py-op">(</tt><tt class="py-name">wav_file</tt><tt class="py-op">,</tt> <tt class="py-string">'read'</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-2', 'frames', 'link-2');">frames</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method timeside.grapher.core.Noise.get_nframes()=timeside.grapher.core.Noise-class.html#get_nframes"><a title="timeside.grapher.core.Noise.get_nframes" class="py-name" href="#" onclick="return doclink('link-3', 'get_nframes', 'link-3');">get_nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-4', 'samplerate', 'link-4');">samplerate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method timeside.grapher.core.Noise.get_samplerate()=timeside.grapher.core.Noise-class.html#get_samplerate"><a title="timeside.grapher.core.Noise.get_samplerate" class="py-name" href="#" onclick="return doclink('link-5', 'get_samplerate', 'link-5');">get_samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-6', 'channels', 'link-6');">channels</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method timeside.grapher.core.Noise.get_channels()=timeside.grapher.core.Noise-class.html#get_channels"><a title="timeside.grapher.core.Noise.get_channels" class="py-name" href="#" onclick="return doclink('link-7', 'get_channels', 'link-7');">get_channels</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.analyze.format=timeside.analyze.format-module.html,Method timeside.api.IDecoder.format()=timeside.api.IDecoder-class.html#format,Static Method timeside.api.IEncoder.format()=timeside.api.IEncoder-class.html#format,Method timeside.decode.flac.FlacDecoder.format()=timeside.decode.flac.FlacDecoder-class.html#format,Method timeside.decode.mp3.Mp3Decoder.format()=timeside.decode.mp3.Mp3Decoder-class.html#format,Method timeside.decode.ogg.OggDecoder.format()=timeside.decode.ogg.OggDecoder-class.html#format,Method timeside.decode.wav.WavDecoder.format()=timeside.decode.wav.WavDecoder-class.html#format,Method timeside.encode.flac.FlacEncoder.format()=timeside.encode.flac.FlacEncoder-class.html#format,Method timeside.encode.mp3.Mp3Encoder.format()=timeside.encode.mp3.Mp3Encoder-class.html#format,Method timeside.encode.ogg.OggVorbisEncoder.format()=timeside.encode.ogg.OggVorbisEncoder-class.html#format,Method timeside.encode.wav.WavEncoder.format()=timeside.encode.wav.WavEncoder-class.html#format,Method timeside.tests.api.examples.FileDecoder.format()=timeside.tests.api.examples.FileDecoder-class.html#format,Method timeside.tests.api.gstreamer.FileDecoder.format()=timeside.tests.api.gstreamer.FileDecoder-class.html#format"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-8', 'format', 'link-8');">format</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt class="py-name">get_file_format</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.encoding=timeside.analyze.encoding-module.html,Method timeside.api.IDecoder.encoding()=timeside.api.IDecoder-class.html#encoding,Method timeside.tests.api.examples.FileDecoder.encoding()=timeside.tests.api.examples.FileDecoder-class.html#encoding,Method timeside.tests.api.gstreamer.FileDecoder.encoding()=timeside.tests.api.gstreamer.FileDecoder-class.html#encoding"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-9', 'encoding', 'link-9');">encoding</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt class="py-name">get_encoding</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.get_samples"></a><div id="AudioProcessor.get_samples-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="AudioProcessor.get_samples-toggle" onclick="return toggle('AudioProcessor.get_samples');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.get_samples-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.get_samples-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.grapher.core.Noise.read_frames()=timeside.grapher.core.Noise-class.html#read_frames"><a title="timeside.grapher.core.Noise.read_frames" class="py-name" href="#" onclick="return doclink('link-10', 'read_frames', 'link-10');">read_frames</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-11', 'frames', 'link-2');">frames</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.get_mono_samples"></a><div id="AudioProcessor.get_mono_samples-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="AudioProcessor.get_mono_samples-toggle" onclick="return toggle('AudioProcessor.get_mono_samples');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.get_mono_samples-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.get_mono_samples-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-comment"># convert to mono by selecting left channel only</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.get_samples()=timeside.analyze.core.AudioProcessor-class.html#get_samples"><a title="timeside.analyze.core.AudioProcessor.get_samples" class="py-name" href="#" onclick="return doclink('link-12', 'get_samples', 'link-12');">get_samples</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-13', 'channels', 'link-6');">channels</a></tt> <tt class="py-op">></tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt> </tt>
+</div><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.read"></a><div id="AudioProcessor.read-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="AudioProcessor.read-toggle" onclick="return toggle('AudioProcessor.read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">start</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">,</tt> <tt class="py-param">resize_if_less</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.read-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-docstring">""" read size samples starting at start, if resize_if_less is True and less than size</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> samples are read, resize the array to size and fill with zeros """</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-comment"># number of zeros to add to start and end of the buffer</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">add_to_start</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">add_to_end</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">start</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-comment"># the first FFT window starts centered around zero</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">+</tt> <tt class="py-name">start</tt> <tt class="py-op"><=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">resize_if_less</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method timeside.grapher.core.Noise.seek()=timeside.grapher.core.Noise-class.html#seek"><a title="timeside.grapher.core.Noise.seek" class="py-name" href="#" onclick="return doclink('link-14', 'seek', 'link-14');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">add_to_start</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-name">start</tt> <tt class="py-comment"># remember: start is negative!</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">to_read</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> <tt class="py-op">+</tt> <tt class="py-name">start</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">to_read</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-15', 'frames', 'link-2');">frames</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">add_to_end</tt> <tt class="py-op">=</tt> <tt class="py-name">to_read</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-16', 'frames', 'link-2');">frames</a></tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">to_read</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-17', 'frames', 'link-2');">frames</a></tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.grapher.core.Noise.seek" class="py-name" href="#" onclick="return doclink('link-18', 'seek', 'link-14');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">start</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">to_read</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-name">to_read</tt> <tt class="py-op">>=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-19', 'frames', 'link-2');">frames</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">to_read</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-20', 'frames', 'link-2');">frames</a></tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">add_to_end</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">to_read</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audio_file</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="timeside.grapher.core.Noise.read_frames" class="py-name" href="#" onclick="return doclink('link-21', 'read_frames', 'link-10');">read_frames</a></tt><tt class="py-op">(</tt><tt class="py-name">to_read</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-comment"># this can happen for wave files with broken headers...</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">resize_if_less</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-comment"># convert to mono by selecting left channel only</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-22', 'channels', 'link-6');">channels</a></tt> <tt class="py-op">></tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">resize_if_less</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">add_to_start</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">add_to_end</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">add_to_start</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">concatenate</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">add_to_start</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">samples</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">axis</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">add_to_end</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">resize</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-name">size</tt> <tt class="py-op">-</tt> <tt class="py-name">add_to_end</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt> </tt>
+</div><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.spectral_centroid"></a><div id="AudioProcessor.spectral_centroid-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="AudioProcessor.spectral_centroid-toggle" onclick="return toggle('AudioProcessor.spectral_centroid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">seek_point</tt><tt class="py-op">,</tt> <tt class="py-param">spec_range</tt><tt class="py-op">=</tt><tt class="py-number">120.0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.spectral_centroid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.spectral_centroid-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-docstring">""" starting at seek_point read fft_size samples, and calculate the spectral centroid """</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-23', 'read', 'link-23');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">seek_point</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">*=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">fft</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fft</tt><tt class="py-op">.</tt><tt class="py-name">fft</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">spectrum</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">fft</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">fft</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">/</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">)</tt> <tt class="py-comment"># normalized abs(FFT) between 0 and 1</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">(</tt><tt class="py-name">spectrum</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-comment"># scale the db spectrum from [- spec_range db ... 0 db] > [0..1]</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">db_spectrum</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">spectrum</tt> <tt class="py-op">+</tt> <tt class="py-number">1e-30</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-name">spec_range</tt><tt class="py-op">,</tt> <tt class="py-number">0.0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">spec_range</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">spec_range</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">energy</tt> <tt class="py-op">=</tt> <tt class="py-name">spectrum</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt id="link-24" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.spectral_centroid()=timeside.analyze.core.AudioProcessor-class.html#spectral_centroid"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-24', 'spectral_centroid', 'link-24');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">energy</tt> <tt class="py-op">></tt> <tt class="py-number">1e-20</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-comment"># calculate the spectral centroid</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-25', 'spectral_centroid', 'link-24');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">spectrum</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">energy</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">length</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-26', 'samplerate', 'link-4');">samplerate</a></tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-comment"># clip > log10 > scale between 0 and 1</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-27" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-27', 'spectral_centroid', 'link-24');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-28', 'spectral_centroid', 'link-24');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher_log</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-29', 'spectral_centroid', 'link-24');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">db_spectrum</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
+<a name="AudioProcessor.peaks"></a><div id="AudioProcessor.peaks-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="AudioProcessor.peaks-toggle" onclick="return toggle('AudioProcessor.peaks');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">start_seek</tt><tt class="py-op">,</tt> <tt class="py-param">end_seek</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="AudioProcessor.peaks-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="AudioProcessor.peaks-expanded"><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-docstring">""" read all samples between start_seek and end_seek, then find the minimum and maximum peak</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> in that range. Returns that pair in the order they were found. So if min was found first,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> it returns (min, max) else the other way around. """</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-comment"># larger blocksizes are faster but take more mem...</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Aha, Watson, a clue, a tradeof!</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-number">4096</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">max_index</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">max_value</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">min_index</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">min_value</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">end_seek</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-30', 'frames', 'link-2');">frames</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">end_seek</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-31', 'frames', 'link-2');">frames</a></tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">block_size</tt> <tt class="py-op">></tt> <tt class="py-name">end_seek</tt> <tt class="py-op">-</tt> <tt class="py-name">start_seek</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">block_size</tt> <tt class="py-op">=</tt> <tt class="py-name">end_seek</tt> <tt class="py-op">-</tt> <tt class="py-name">start_seek</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">block_size</tt> <tt class="py-op"><=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-32', 'read', 'link-23');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">start_seek</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">block_size</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-33', 'read', 'link-23');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">start_seek</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">start_seek</tt><tt class="py-op">,</tt> <tt class="py-name">end_seek</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-34', 'read', 'link-23');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">block_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">local_max_index</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">argmax</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-name">local_max_value</tt> <tt class="py-op">=</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-name">local_max_index</tt><tt class="py-op">]</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">local_max_value</tt> <tt class="py-op">></tt> <tt class="py-name">max_value</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">max_value</tt> <tt class="py-op">=</tt> <tt class="py-name">local_max_value</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">max_index</tt> <tt class="py-op">=</tt> <tt class="py-name">local_max_index</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">local_min_index</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">argmin</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">local_min_value</tt> <tt class="py-op">=</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-name">local_min_index</tt><tt class="py-op">]</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">local_min_value</tt> <tt class="py-op"><</tt> <tt class="py-name">min_value</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">min_value</tt> <tt class="py-op">=</tt> <tt class="py-name">local_min_value</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">min_index</tt> <tt class="py-op">=</tt> <tt class="py-name">local_min_index</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">min_index</tt> <tt class="py-op"><</tt> <tt class="py-name">max_index</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">min_value</tt><tt class="py-op">,</tt> <tt class="py-name">max_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">max_value</tt><tt class="py-op">,</tt> <tt class="py-name">min_value</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.core.AudioProcessor</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.core-module.html">Module core</a> ::
+ Class AudioProcessor
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.core.AudioProcessor-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class AudioProcessor</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">AudioProcessor</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">samplerate.SampleRateAnalyzer</a></li><li>, <a href="timeside.analyze.format.FormatAnalyser-class.html">format.FormatAnalyser</a></li><li>, <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">dc.MeanDCShiftAnalyser</a></li><li>, <a href="timeside.analyze.encoding.EncodingAnalyser-class.html">encoding.EncodingAnalyser</a></li><li>, <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html">resolution.ResolutionAnalyser</a></li><li>, <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">mean_level.MeanLevelAnalyser</a></li><li>, <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">max_level.MaxLevelAnalyzer</a></li><li>, <a href="timeside.analyze.duration.DurationAnalyzer-class.html">duration.DurationAnalyzer</a></li><li>, <a href="timeside.analyze.channels.ChannelAnalyser-class.html">channels.ChannelAnalyser</a></li> </ul>
+</dd></dl>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.analyze.core.AudioProcessor-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_mono_samples"></a><span class="summary-sig-name">get_mono_samples</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.get_mono_samples">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_samples"></a><span class="summary-sig-name">get_samples</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.get_samples">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.analyze.core.AudioProcessor-class.html#peaks" class="summary-sig-name">peaks</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">start_seek</span>,
+ <span class="summary-sig-arg">end_seek</span>)</span><br />
+ read all samples between start_seek and end_seek, then find the
+ minimum and maximum peak in that range.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.peaks">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="pre_process"></a><span class="summary-sig-name">pre_process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.pre_process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="read"></a><span class="summary-sig-name">read</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">start</span>,
+ <span class="summary-sig-arg">size</span>,
+ <span class="summary-sig-arg">resize_if_less</span>=<span class="summary-sig-default">False</span>)</span><br />
+ read size samples starting at start, if resize_if_less is True and
+ less than size samples are read, resize the array to size and fill
+ with zeros</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.read">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="spectral_centroid"></a><span class="summary-sig-name">spectral_centroid</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">seek_point</span>,
+ <span class="summary-sig-arg">spec_range</span>=<span class="summary-sig-default">120.0</span>)</span><br />
+ starting at seek_point read fft_size samples, and calculate the
+ spectral centroid</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.spectral_centroid">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="peaks"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">peaks</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">start_seek</span>,
+ <span class="sig-arg">end_seek</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.analyze.core-pysrc.html#AudioProcessor.peaks">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>read all samples between start_seek and end_seek, then find the
+ minimum and maximum peak in that range. Returns that pair in the order
+ they were found. So if min was found first, it returns (min, max) else
+ the other way around.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.dc</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module dc
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.dc-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module dc</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.dc-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html" class="summary-name">MeanDCShiftAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.dc</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module dc
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.dc-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.dc-module.html">Module timeside.analyze.dc</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IValueAnalyzer=timeside.api.IValueAnalyzer-class.html"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="MeanDCShiftAnalyser"></a><div id="MeanDCShiftAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="MeanDCShiftAnalyser-toggle" onclick="return toggle('MeanDCShiftAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html">MeanDCShiftAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanDCShiftAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MeanDCShiftAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="MeanDCShiftAnalyser.id"></a><div id="MeanDCShiftAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="MeanDCShiftAnalyser.id-toggle" onclick="return toggle('MeanDCShiftAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanDCShiftAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanDCShiftAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"dc"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="MeanDCShiftAnalyser.name"></a><div id="MeanDCShiftAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="MeanDCShiftAnalyser.name-toggle" onclick="return toggle('MeanDCShiftAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanDCShiftAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanDCShiftAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Mean DC shift"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="MeanDCShiftAnalyser.unit"></a><div id="MeanDCShiftAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="MeanDCShiftAnalyser.unit-toggle" onclick="return toggle('MeanDCShiftAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanDCShiftAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanDCShiftAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"%"</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="MeanDCShiftAnalyser.render"></a><div id="MeanDCShiftAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="MeanDCShiftAnalyser.render-toggle" onclick="return toggle('MeanDCShiftAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanDCShiftAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanDCShiftAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.get_mono_samples()=timeside.analyze.core.AudioProcessor-class.html#get_mono_samples"><a title="timeside.analyze.core.AudioProcessor.get_mono_samples" class="py-name" href="#" onclick="return doclink('link-9', 'get_mono_samples', 'link-9');">get_mono_samples</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">*</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.dc.MeanDCShiftAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.dc-module.html">Module dc</a> ::
+ Class MeanDCShiftAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MeanDCShiftAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.dc-pysrc.html#MeanDCShiftAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">MeanDCShiftAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.dc-pysrc.html#MeanDCShiftAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.dc-pysrc.html#MeanDCShiftAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.dc-pysrc.html#MeanDCShiftAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.dc-pysrc.html#MeanDCShiftAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.duration</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module duration
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.duration-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module duration</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.duration-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.duration.DurationAnalyzer-class.html" class="summary-name">DurationAnalyzer</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.duration</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module duration
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.duration-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.duration-module.html">Module timeside.analyze.duration</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="DurationAnalyzer"></a><div id="DurationAnalyzer-def"><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="DurationAnalyzer-toggle" onclick="return toggle('DurationAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.duration.DurationAnalyzer-class.html">DurationAnalyzer</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DurationAnalyzer-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="DurationAnalyzer-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="DurationAnalyzer.id"></a><div id="DurationAnalyzer.id-def"><a name="L33"></a><tt class="py-lineno">33</tt> <a class="py-toggle" href="#" id="DurationAnalyzer.id-toggle" onclick="return toggle('DurationAnalyzer.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.duration.DurationAnalyzer-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DurationAnalyzer.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DurationAnalyzer.id-expanded"><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"duration"</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt>
+<a name="DurationAnalyzer.name"></a><div id="DurationAnalyzer.name-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="DurationAnalyzer.name-toggle" onclick="return toggle('DurationAnalyzer.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.duration.DurationAnalyzer-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DurationAnalyzer.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DurationAnalyzer.name-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Duration"</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="DurationAnalyzer.unit"></a><div id="DurationAnalyzer.unit-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="DurationAnalyzer.unit-toggle" onclick="return toggle('DurationAnalyzer.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.duration.DurationAnalyzer-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DurationAnalyzer.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DurationAnalyzer.unit-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"h:m:s"</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
+<a name="DurationAnalyzer.render"></a><div id="DurationAnalyzer.render-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="DurationAnalyzer.render-toggle" onclick="return toggle('DurationAnalyzer.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.duration.DurationAnalyzer-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DurationAnalyzer.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DurationAnalyzer.render-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">media_time</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-9', 'frames', 'link-9');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-10', 'samplerate', 'link-10');">samplerate</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">timedelta</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">media_time</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.duration.DurationAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.duration-module.html">Module duration</a> ::
+ Class DurationAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.duration.DurationAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class DurationAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.duration-pysrc.html#DurationAnalyzer">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">DurationAnalyzer</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.duration-pysrc.html#DurationAnalyzer.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.duration-pysrc.html#DurationAnalyzer.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.duration-pysrc.html#DurationAnalyzer.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.duration-pysrc.html#DurationAnalyzer.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.encoding</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module encoding
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.encoding-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module encoding</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.encoding-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.encoding.EncodingAnalyser-class.html" class="summary-name">EncodingAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.encoding</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module encoding
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.encoding-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.encoding-module.html">Module timeside.analyze.encoding</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="EncodingAnalyser"></a><div id="EncodingAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="EncodingAnalyser-toggle" onclick="return toggle('EncodingAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.encoding.EncodingAnalyser-class.html">EncodingAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncodingAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="EncodingAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="EncodingAnalyser.id"></a><div id="EncodingAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="EncodingAnalyser.id-toggle" onclick="return toggle('EncodingAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.encoding.EncodingAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncodingAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EncodingAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"encoding"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="EncodingAnalyser.name"></a><div id="EncodingAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="EncodingAnalyser.name-toggle" onclick="return toggle('EncodingAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.encoding.EncodingAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncodingAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EncodingAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Encoding format"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="EncodingAnalyser.unit"></a><div id="EncodingAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="EncodingAnalyser.unit-toggle" onclick="return toggle('EncodingAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.encoding.EncodingAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncodingAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EncodingAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="EncodingAnalyser.render"></a><div id="EncodingAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="EncodingAnalyser.render-toggle" onclick="return toggle('EncodingAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.encoding.EncodingAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncodingAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EncodingAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.encoding=timeside.analyze.encoding-module.html,Method timeside.api.IDecoder.encoding()=timeside.api.IDecoder-class.html#encoding,Method timeside.tests.api.examples.FileDecoder.encoding()=timeside.tests.api.examples.FileDecoder-class.html#encoding,Method timeside.tests.api.gstreamer.FileDecoder.encoding()=timeside.tests.api.gstreamer.FileDecoder-class.html#encoding"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-9', 'encoding', 'link-9');">encoding</a></tt> </tt>
+</div></div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.encoding.EncodingAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.encoding-module.html">Module encoding</a> ::
+ Class EncodingAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.encoding.EncodingAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class EncodingAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.encoding-pysrc.html#EncodingAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">EncodingAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.encoding-pysrc.html#EncodingAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.encoding-pysrc.html#EncodingAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.encoding-pysrc.html#EncodingAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.encoding-pysrc.html#EncodingAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.format</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module format
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.format-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module format</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.format-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.format.FormatAnalyser-class.html" class="summary-name">FormatAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.format</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module format
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.format-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.format-module.html">Module timeside.analyze.format</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="FormatAnalyser"></a><div id="FormatAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="FormatAnalyser-toggle" onclick="return toggle('FormatAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.format.FormatAnalyser-class.html">FormatAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FormatAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="FormatAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="FormatAnalyser.id"></a><div id="FormatAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="FormatAnalyser.id-toggle" onclick="return toggle('FormatAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.format.FormatAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FormatAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FormatAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"format"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="FormatAnalyser.name"></a><div id="FormatAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="FormatAnalyser.name-toggle" onclick="return toggle('FormatAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.format.FormatAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FormatAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FormatAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"File format"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="FormatAnalyser.unit"></a><div id="FormatAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="FormatAnalyser.unit-toggle" onclick="return toggle('FormatAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.format.FormatAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FormatAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FormatAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="FormatAnalyser.render"></a><div id="FormatAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="FormatAnalyser.render-toggle" onclick="return toggle('FormatAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.format.FormatAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FormatAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FormatAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.format=timeside.analyze.format-module.html,Method timeside.api.IDecoder.format()=timeside.api.IDecoder-class.html#format,Static Method timeside.api.IEncoder.format()=timeside.api.IEncoder-class.html#format,Method timeside.decode.flac.FlacDecoder.format()=timeside.decode.flac.FlacDecoder-class.html#format,Method timeside.decode.mp3.Mp3Decoder.format()=timeside.decode.mp3.Mp3Decoder-class.html#format,Method timeside.decode.ogg.OggDecoder.format()=timeside.decode.ogg.OggDecoder-class.html#format,Method timeside.decode.wav.WavDecoder.format()=timeside.decode.wav.WavDecoder-class.html#format,Method timeside.encode.flac.FlacEncoder.format()=timeside.encode.flac.FlacEncoder-class.html#format,Method timeside.encode.mp3.Mp3Encoder.format()=timeside.encode.mp3.Mp3Encoder-class.html#format,Method timeside.encode.ogg.OggVorbisEncoder.format()=timeside.encode.ogg.OggVorbisEncoder-class.html#format,Method timeside.encode.wav.WavEncoder.format()=timeside.encode.wav.WavEncoder-class.html#format,Method timeside.tests.api.examples.FileDecoder.format()=timeside.tests.api.examples.FileDecoder-class.html#format,Method timeside.tests.api.gstreamer.FileDecoder.format()=timeside.tests.api.gstreamer.FileDecoder-class.html#format"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-9', 'format', 'link-9');">format</a></tt> </tt>
+</div></div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.format.FormatAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.format-module.html">Module format</a> ::
+ Class FormatAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.format.FormatAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FormatAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.format-pysrc.html#FormatAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">FormatAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.format-pysrc.html#FormatAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.format-pysrc.html#FormatAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.format-pysrc.html#FormatAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.format-pysrc.html#FormatAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.max_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module max_level
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.max_level-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module max_level</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.max_level-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html" class="summary-name">MaxLevelAnalyzer</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.max_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module max_level
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.max_level-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.max_level-module.html">Module timeside.analyze.max_level</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IValueAnalyzer=timeside.api.IValueAnalyzer-class.html"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="MaxLevelAnalyzer"></a><div id="MaxLevelAnalyzer-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="MaxLevelAnalyzer-toggle" onclick="return toggle('MaxLevelAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html">MaxLevelAnalyzer</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevelAnalyzer-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MaxLevelAnalyzer-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="MaxLevelAnalyzer.id"></a><div id="MaxLevelAnalyzer.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="MaxLevelAnalyzer.id-toggle" onclick="return toggle('MaxLevelAnalyzer.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevelAnalyzer.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MaxLevelAnalyzer.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"max_level"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="MaxLevelAnalyzer.name"></a><div id="MaxLevelAnalyzer.name-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="MaxLevelAnalyzer.name-toggle" onclick="return toggle('MaxLevelAnalyzer.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevelAnalyzer.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MaxLevelAnalyzer.name-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Maximum peak level"</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="MaxLevelAnalyzer.unit"></a><div id="MaxLevelAnalyzer.unit-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="MaxLevelAnalyzer.unit-toggle" onclick="return toggle('MaxLevelAnalyzer.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevelAnalyzer.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MaxLevelAnalyzer.unit-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"dB"</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
+<a name="MaxLevelAnalyzer.render"></a><div id="MaxLevelAnalyzer.render-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="MaxLevelAnalyzer.render-toggle" onclick="return toggle('MaxLevelAnalyzer.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevelAnalyzer.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MaxLevelAnalyzer.render-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.get_samples()=timeside.analyze.core.AudioProcessor-class.html#get_samples"><a title="timeside.analyze.core.AudioProcessor.get_samples" class="py-name" href="#" onclick="return doclink('link-9', 'get_samples', 'link-9');">get_samples</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">*</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.max_level.MaxLevelAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.max_level-module.html">Module max_level</a> ::
+ Class MaxLevelAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MaxLevelAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.max_level-pysrc.html#MaxLevelAnalyzer">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">MaxLevelAnalyzer</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.max_level-pysrc.html#MaxLevelAnalyzer.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.max_level-pysrc.html#MaxLevelAnalyzer.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.max_level-pysrc.html#MaxLevelAnalyzer.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.max_level-pysrc.html#MaxLevelAnalyzer.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.mean_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module mean_level
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.mean_level-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mean_level</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html" class="summary-name">MeanLevelAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.mean_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module mean_level
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.mean_level-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.mean_level-module.html">Module timeside.analyze.mean_level</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IValueAnalyzer=timeside.api.IValueAnalyzer-class.html"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="MeanLevelAnalyser"></a><div id="MeanLevelAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="MeanLevelAnalyser-toggle" onclick="return toggle('MeanLevelAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html">MeanLevelAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanLevelAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MeanLevelAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IValueAnalyzer', 'link-5');">IValueAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="MeanLevelAnalyser.id"></a><div id="MeanLevelAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="MeanLevelAnalyser.id-toggle" onclick="return toggle('MeanLevelAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanLevelAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanLevelAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"meanlevel"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="MeanLevelAnalyser.name"></a><div id="MeanLevelAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="MeanLevelAnalyser.name-toggle" onclick="return toggle('MeanLevelAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanLevelAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanLevelAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Mean RMS level"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="MeanLevelAnalyser.unit"></a><div id="MeanLevelAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="MeanLevelAnalyser.unit-toggle" onclick="return toggle('MeanLevelAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanLevelAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanLevelAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"dB"</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="MeanLevelAnalyser.render"></a><div id="MeanLevelAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="MeanLevelAnalyser.render-toggle" onclick="return toggle('MeanLevelAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MeanLevelAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MeanLevelAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.get_mono_samples()=timeside.analyze.core.AudioProcessor-class.html#get_mono_samples"><a title="timeside.analyze.core.AudioProcessor.get_mono_samples" class="py-name" href="#" onclick="return doclink('link-9', 'get_mono_samples', 'link-9');">get_mono_samples</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">*</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">sqrt</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">square</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.mean_level.MeanLevelAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.mean_level-module.html">Module mean_level</a> ::
+ Class MeanLevelAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MeanLevelAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html#MeanLevelAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">MeanLevelAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html#MeanLevelAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html#MeanLevelAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html#MeanLevelAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.mean_level-pysrc.html#MeanLevelAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.resolution</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module resolution
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.resolution-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module resolution</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.resolution-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html" class="summary-name">ResolutionAnalyser</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.resolution</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module resolution
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.resolution-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.resolution-module.html">Module timeside.analyze.resolution</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="ResolutionAnalyser"></a><div id="ResolutionAnalyser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="ResolutionAnalyser-toggle" onclick="return toggle('ResolutionAnalyser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.resolution.ResolutionAnalyser-class.html">ResolutionAnalyser</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResolutionAnalyser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ResolutionAnalyser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="ResolutionAnalyser.id"></a><div id="ResolutionAnalyser.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="ResolutionAnalyser.id-toggle" onclick="return toggle('ResolutionAnalyser.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.resolution.ResolutionAnalyser-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResolutionAnalyser.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResolutionAnalyser.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"resolution"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="ResolutionAnalyser.name"></a><div id="ResolutionAnalyser.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="ResolutionAnalyser.name-toggle" onclick="return toggle('ResolutionAnalyser.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.resolution.ResolutionAnalyser-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResolutionAnalyser.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResolutionAnalyser.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Resolution"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="ResolutionAnalyser.unit"></a><div id="ResolutionAnalyser.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="ResolutionAnalyser.unit-toggle" onclick="return toggle('ResolutionAnalyser.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.resolution.ResolutionAnalyser-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResolutionAnalyser.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResolutionAnalyser.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"bits"</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="ResolutionAnalyser.render"></a><div id="ResolutionAnalyser.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="ResolutionAnalyser.render-toggle" onclick="return toggle('ResolutionAnalyser.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.resolution.ResolutionAnalyser-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResolutionAnalyser.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ResolutionAnalyser.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'8'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.encoding=timeside.analyze.encoding-module.html,Method timeside.api.IDecoder.encoding()=timeside.api.IDecoder-class.html#encoding,Method timeside.tests.api.examples.FileDecoder.encoding()=timeside.tests.api.examples.FileDecoder-class.html#encoding,Method timeside.tests.api.gstreamer.FileDecoder.encoding()=timeside.tests.api.gstreamer.FileDecoder-class.html#encoding"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-9', 'encoding', 'link-9');">encoding</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">8</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'16'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-10', 'encoding', 'link-9');">encoding</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">16</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'24'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-11', 'encoding', 'link-9');">encoding</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">24</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'32'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-12', 'encoding', 'link-9');">encoding</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">32</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+</div></div><a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.resolution.ResolutionAnalyser</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.resolution-module.html">Module resolution</a> ::
+ Class ResolutionAnalyser
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.resolution.ResolutionAnalyser-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ResolutionAnalyser</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.resolution-pysrc.html#ResolutionAnalyser">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">ResolutionAnalyser</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.resolution-pysrc.html#ResolutionAnalyser.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.resolution-pysrc.html#ResolutionAnalyser.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.resolution-pysrc.html#ResolutionAnalyser.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.resolution-pysrc.html#ResolutionAnalyser.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.samplerate</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module samplerate
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.samplerate-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module samplerate</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html" class="summary-name">SampleRateAnalyzer</a><br />
+ Media item analyzer driver interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.samplerate</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Module samplerate
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.samplerate-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.samplerate-module.html">Module timeside.analyze.samplerate</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-5', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="SampleRateAnalyzer"></a><div id="SampleRateAnalyzer-def"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="SampleRateAnalyzer-toggle" onclick="return toggle('SampleRateAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html">SampleRateAnalyzer</a><tt class="py-op">(</tt><tt class="py-base-class">AudioProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SampleRateAnalyzer-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="SampleRateAnalyzer-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-5');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="SampleRateAnalyzer.id"></a><div id="SampleRateAnalyzer.id-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="SampleRateAnalyzer.id-toggle" onclick="return toggle('SampleRateAnalyzer.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SampleRateAnalyzer.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SampleRateAnalyzer.id-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"samplerate"</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="SampleRateAnalyzer.name"></a><div id="SampleRateAnalyzer.name-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="SampleRateAnalyzer.name-toggle" onclick="return toggle('SampleRateAnalyzer.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SampleRateAnalyzer.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SampleRateAnalyzer.name-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Samplerate"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="SampleRateAnalyzer.unit"></a><div id="SampleRateAnalyzer.unit-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="SampleRateAnalyzer.unit-toggle" onclick="return toggle('SampleRateAnalyzer.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SampleRateAnalyzer.unit-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SampleRateAnalyzer.unit-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Hz"</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="SampleRateAnalyzer.render"></a><div id="SampleRateAnalyzer.render-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="SampleRateAnalyzer.render-toggle" onclick="return toggle('SampleRateAnalyzer.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SampleRateAnalyzer.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SampleRateAnalyzer.render-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.pre_process()=timeside.analyze.core.AudioProcessor-class.html#pre_process"><a title="timeside.analyze.core.AudioProcessor.pre_process" class="py-name" href="#" onclick="return doclink('link-8', 'pre_process', 'link-8');">pre_process</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-9', 'samplerate', 'link-9');">samplerate</a></tt> </tt>
+</div></div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.samplerate.SampleRateAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.samplerate-module.html">Module samplerate</a> ::
+ Class SampleRateAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SampleRateAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html#SampleRateAnalyzer">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a> --+
+ |
+ <strong class="uidshort">SampleRateAnalyzer</strong>
+</pre>
+
+<hr />
+<p>Media item analyzer driver interface</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html#SampleRateAnalyzer.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html#SampleRateAnalyzer.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html#SampleRateAnalyzer.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.analyze.core.AudioProcessor-class.html">core.AudioProcessor</a></code></b>:
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_mono_samples">get_mono_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#get_samples">get_samples</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#peaks">peaks</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#pre_process">pre_process</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#read">read</a></code>,
+ <code><a href="timeside.analyze.core.AudioProcessor-class.html#spectral_centroid">spectral_centroid</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.samplerate-pysrc.html#SampleRateAnalyzer.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.vamp</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Package vamp
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.vamp-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package vamp</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.vamp-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.analyze.vamp.core-module.html">timeside.analyze.vamp.core</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.vamp</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ Package vamp
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.vamp-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.vamp-module.html">Package timeside.analyze.vamp</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.analyze=timeside.analyze-module.html"><a title="timeside.analyze" class="py-name" href="#" onclick="return doclink('link-1', 'analyze', 'link-1');">analyze</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package timeside.analyze.vamp=timeside.analyze.vamp-module.html"><a title="timeside.analyze.vamp" class="py-name" href="#" onclick="return doclink('link-2', 'vamp', 'link-2');">vamp</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-3', 'core', 'link-3');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">4</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.vamp.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.vamp-module.html">Package vamp</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.vamp.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html" class="summary-name">VampCoreAnalyzer</a><br />
+ Parent class for Vamp plugin drivers
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.vamp.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.vamp-module.html">Package vamp</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.vamp.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.analyze.vamp.core-module.html">Module timeside.analyze.vamp.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">tempfile</tt> <tt class="py-keyword">import</tt> <tt class="py-name">NamedTemporaryFile</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.exceptions=timeside.exceptions-module.html"><a title="timeside.exceptions" class="py-name" href="#" onclick="return doclink('link-3', 'exceptions', 'link-3');">exceptions</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class timeside.exceptions.SubProcessError=timeside.exceptions.SubProcessError-class.html"><a title="timeside.exceptions.SubProcessError" class="py-name" href="#" onclick="return doclink('link-4', 'SubProcessError', 'link-4');">SubProcessError</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer"></a><div id="VampCoreAnalyzer-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer-toggle" onclick="return toggle('VampCoreAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html">VampCoreAnalyzer</a><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="VampCoreAnalyzer-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-docstring">"""Parent class for Vamp plugin drivers"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.__init__"></a><div id="VampCoreAnalyzer.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.__init__-toggle" onclick="return toggle('VampCoreAnalyzer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vamp_path</tt> <tt class="py-op">=</tt> <tt class="py-string">'/usr/lib/vamp/'</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-comment"># needs vamp-examples package</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-string">'vamp-simple-host'</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0xFFFF</tt> </tt>
+</div><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.id"></a><div id="VampCoreAnalyzer.id-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.id-toggle" onclick="return toggle('VampCoreAnalyzer.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.id-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"vamp_plugins"</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.name"></a><div id="VampCoreAnalyzer.name-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.name-toggle" onclick="return toggle('VampCoreAnalyzer.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.name-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Vamp plugins"</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.unit"></a><div id="VampCoreAnalyzer.unit-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.unit-toggle" onclick="return toggle('VampCoreAnalyzer.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.unit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.unit-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.get_plugins_list"></a><div id="VampCoreAnalyzer.get_plugins_list-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.get_plugins_list-toggle" onclick="return toggle('VampCoreAnalyzer.get_plugins_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_plugins_list">get_plugins_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.get_plugins_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.get_plugins_list-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vamp_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">' --list-outputs'</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-comment">#tmp_file = NamedTemporaryFile()</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.core_process()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process,Method timeside.encode.core.EncoderCore.core_process()=timeside.encode.core.EncoderCore-class.html#core_process"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-5', 'core_process', 'link-5');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">plugins</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> <tt class="py-op">+</tt> <tt class="py-name">chunk</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">struct</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">struct</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">plugins</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">plugins</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.get_wav_path"></a><div id="VampCoreAnalyzer.get_wav_path-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.get_wav_path-toggle" onclick="return toggle('VampCoreAnalyzer.get_wav_path');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_wav_path">get_wav_path</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.get_wav_path-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.get_wav_path-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">settings</tt><tt class="py-op">.</tt><tt class="py-name">MEDIA_ROOT</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-name">media_item</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-comment">#return media_item</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="VampCoreAnalyzer.render"></a><div id="VampCoreAnalyzer.render-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.render-toggle" onclick="return toggle('VampCoreAnalyzer.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">plugin</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.render-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.render-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wavFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.get_wav_path()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#get_wav_path"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.get_wav_path" class="py-name" href="#" onclick="return doclink('link-6', 'get_wav_path', 'link-6');">get_wav_path</a></tt><tt class="py-op">(</tt><tt class="py-name">media_item</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">' -s '</tt> <tt class="py-op">+</tt> <tt class="py-string">':'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">plugin</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wavFile</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-7', 'core_process', 'link-5');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt> <tt class="py-op">+</tt> <tt class="py-name">chunk</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">struct</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">values</tt><tt class="py-op">[</tt><tt class="py-name">struct</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">values</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
+<a name="VampCoreAnalyzer.core_process"></a><div id="VampCoreAnalyzer.core_process-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="VampCoreAnalyzer.core_process-toggle" onclick="return toggle('VampCoreAnalyzer.core_process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process">core_process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">buffer_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VampCoreAnalyzer.core_process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VampCoreAnalyzer.core_process-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-docstring">"""Encode and stream audio data through a generator"""</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">__chunk</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">proc</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">shell</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt><tt class="py-op">,</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt><tt class="py-op">,</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">close_fds</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-8" class="py-name"><a title="timeside.exceptions.SubProcessError" class="py-name" href="#" onclick="return doclink('link-8', 'SubProcessError', 'link-4');">SubProcessError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Command failure:'</tt><tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">proc</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-comment"># Core processing</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">__chunk</tt> <tt class="py-op">=</tt> <tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-9', 'read', 'link-9');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">buffer_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">poll</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">status</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-10" class="py-name"><a title="timeside.exceptions.SubProcessError" class="py-name" href="#" onclick="return doclink('link-10', 'SubProcessError', 'link-4');">SubProcessError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Command failure:'</tt><tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">proc</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">__chunk</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+</div></div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.analyze.vamp.core.VampCoreAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.analyze-module.html">Package analyze</a> ::
+ <a href="timeside.analyze.vamp-module.html">Package vamp</a> ::
+ <a href="timeside.analyze.vamp.core-module.html">Module core</a> ::
+ Class VampCoreAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class VampCoreAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer">source code</a></span></p>
+<p>Parent class for Vamp plugin drivers</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_plugins_list"></a><span class="summary-sig-name">get_plugins_list</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.get_plugins_list">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_wav_path"></a><span class="summary-sig-name">get_wav_path</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.get_wav_path">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">plugin</span>,
+ <span class="summary-sig-arg">media_item</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="core_process"></a><span class="summary-sig-name">core_process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">command</span>,
+ <span class="summary-sig-arg">buffer_size</span>)</span><br />
+ Encode and stream audio data through a generator</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.analyze.vamp.core-pysrc.html#VampCoreAnalyzer.core_process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module api
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module api</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IProcessor-class.html" class="summary-name">IProcessor</a><br />
+ Common processor interface
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IEncoder-class.html" class="summary-name">IEncoder</a><br />
+ Encoder driver interface.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IDecoder-class.html" class="summary-name">IDecoder</a><br />
+ Decoder driver interface.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IGrapher-class.html" class="summary-name">IGrapher</a><br />
+ Media item visualizer driver interface
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IAnalyzer-class.html" class="summary-name">IAnalyzer</a><br />
+ Media item analyzer driver interface.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IValueAnalyzer-class.html" class="summary-name">IValueAnalyzer</a><br />
+ Interface for analyzers which return a single numeric value from
+ result()
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.api.IEffect-class.html" class="summary-name">IEffect</a><br />
+ Effect processor interface
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module api
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.api-module.html">Module timeside.api</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2007-2009 Parisson</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <pellerin@parisson.com></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.component=timeside.component-module.html"><a title="timeside.component" class="py-name" href="#" onclick="return doclink('link-1', 'component', 'link-1');">component</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.component.Interface=timeside.component.Interface-class.html"><a title="timeside.component.Interface" class="py-name" href="#" onclick="return doclink('link-2', 'Interface', 'link-2');">Interface</a></tt> </tt>
+<a name="IProcessor"></a><div id="IProcessor-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="IProcessor-toggle" onclick="return toggle('IProcessor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html">IProcessor</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IProcessor-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-docstring">"""Common processor interface"""</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IProcessor.id"></a><div id="IProcessor.id-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="IProcessor.id-toggle" onclick="return toggle('IProcessor.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.id-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-docstring">"""Short alphanumeric, lower-case string which uniquely identify this </tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"> processor, suitable for use as an HTTP/GET argument value, in filenames, </tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> etc..."""</tt> </tt>
+</div><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-comment"># implementation: only letters and digits are allowed. An exception will</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># be raised by MetaProcessor if the id is malformed or not unique amongst</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># registered processors.</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="IProcessor.setup"></a><div id="IProcessor.setup-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="IProcessor.setup-toggle" onclick="return toggle('IProcessor.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.setup-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-docstring">"""Allocate internal resources and reset state, so that this processor is</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> ready for a new run. </tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> The channels, samplerate and/or nframes arguments may be required by </tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> processors which accept input. An error will occur if any of</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> these arguments is passed to an output-only processor such as a decoder.</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-comment"># implementations should always call the parent method</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="IProcessor.channels"></a><div id="IProcessor.channels-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="IProcessor.channels-toggle" onclick="return toggle('IProcessor.channels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#channels">channels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.channels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.channels-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-docstring">"""Number of channels in the data returned by process(). May be different from</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> the number of channels passed to setup()"""</tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
+<a name="IProcessor.samplerate"></a><div id="IProcessor.samplerate-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="IProcessor.samplerate-toggle" onclick="return toggle('IProcessor.samplerate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#samplerate">samplerate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.samplerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.samplerate-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-docstring">"""Samplerate of the data returned by process(). May be different from</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> the samplerate passed to setup()"""</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
+<a name="IProcessor.nframes"></a><div id="IProcessor.nframes-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="IProcessor.nframes-toggle" onclick="return toggle('IProcessor.nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#nframes">nframes</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.nframes-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-docstring">"""The total number of frames that this processor can output, or None if</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> the duration is unknown."""</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
+<a name="IProcessor.process"></a><div id="IProcessor.process-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="IProcessor.process-toggle" onclick="return toggle('IProcessor.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.process-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-docstring">"""Process input frames and return a (output_frames, eod) tuple.</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> Both input and output frames are 2D numpy arrays, where columns are </tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> channels, and containing an undetermined number of frames. eod=True </tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring"> means that the end-of-data has been reached.</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> Output-only processors (such as decoders) will raise an exception if the</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> frames argument is not None. All processors (even encoders) return data,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"> even if that means returning the input unchanged.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> Warning: it is required to call setup() before this method."""</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
+<a name="IProcessor.release"></a><div id="IProcessor.release-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="IProcessor.release-toggle" onclick="return toggle('IProcessor.release');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IProcessor-class.html#release">release</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IProcessor.release-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IProcessor.release-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-docstring">"""Release resources owned by this processor. The processor cannot</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> be used anymore after calling this method."""</tt> </tt>
+</div></div><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
+<a name="IEncoder"></a><div id="IEncoder-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-comment"># implementations should always call the parent method</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="IEncoder-toggle" onclick="return toggle('IEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html">IEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">IProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IEncoder-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-docstring">"""Encoder driver interface. Each encoder is expected to support a specific</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"> format."""</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
+<a name="IEncoder.__init__"></a><div id="IEncoder.__init__-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="IEncoder.__init__-toggle" onclick="return toggle('IEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.__init__-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-docstring">"""Create a new encoder. output can either be a filename or a python callback </tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> function/method for streaming mode.</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> The streaming callback prototype is: callback(data, eod)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> Where data is a block of binary data of an undetermined size, and eod</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"> True when end-of-data is reached."""</tt> </tt>
+</div><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment"># implementation: the constructor must always accept the output argument. It may </tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># accept extra arguments such as bitrate, depth, etc.., but these must be optionnal </tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IEncoder.format"></a><div id="IEncoder.format-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="IEncoder.format-toggle" onclick="return toggle('IEncoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.format-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the encode/encoding format as a short string</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> Example: "MP3", "OGG", "AVI", ...</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+</div><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IEncoder.description"></a><div id="IEncoder.description-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="IEncoder.description-toggle" onclick="return toggle('IEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.description-expanded"><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a string describing what this encode format provides, is good</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> for, etc... The description is meant to help the end user decide what</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> format is good for him/her</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IEncoder.file_extension"></a><div id="IEncoder.file_extension-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="IEncoder.file_extension-toggle" onclick="return toggle('IEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.file_extension-expanded"><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the filename extension corresponding to this encode format"""</tt> </tt>
+</div><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IEncoder.mime_type"></a><div id="IEncoder.mime_type-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="IEncoder.mime_type-toggle" onclick="return toggle('IEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.mime_type-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the mime type corresponding to this encode format"""</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
+<a name="IEncoder.set_metadata"></a><div id="IEncoder.set_metadata-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="IEncoder.set_metadata-toggle" onclick="return toggle('IEncoder.set_metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEncoder-class.html#set_metadata">set_metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEncoder.set_metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEncoder.set_metadata-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-docstring">"""Set the metadata to be embedded in the encoded output.</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> In non-streaming mode, this method updates the metadata directly into the </tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> output file, without re-encoding the audio data, provided this file already </tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> exists.</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> It isn't required to call this method, but if called, it must be before </tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> process()."""</tt> </tt>
+</div></div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
+<a name="IDecoder"></a><div id="IDecoder-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="IDecoder-toggle" onclick="return toggle('IDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html">IDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">IProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IDecoder-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-docstring">"""Decoder driver interface. Decoders are different of encoders in that</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> a given driver may support several input formats, hence this interface doesn't</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> export any static method, all informations are dynamic."""</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> </tt>
+<a name="IDecoder.__init__"></a><div id="IDecoder.__init__-def"><a name="L129"></a><tt class="py-lineno">129</tt> <a class="py-toggle" href="#" id="IDecoder.__init__-toggle" onclick="return toggle('IDecoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IDecoder.__init__-expanded"><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-docstring">"""Create a new decoder for filename."""</tt> </tt>
+</div><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-comment"># implementation: additional optionnal arguments are allowed </tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="IDecoder.format"></a><div id="IDecoder.format-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="IDecoder.format-toggle" onclick="return toggle('IDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IDecoder.format-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a user-friendly file format string"""</tt> </tt>
+</div><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
+<a name="IDecoder.encoding"></a><div id="IDecoder.encoding-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="IDecoder.encoding-toggle" onclick="return toggle('IDecoder.encoding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html#encoding">encoding</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder.encoding-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IDecoder.encoding-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a user-friendly encoding string"""</tt> </tt>
+</div><a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> </tt>
+<a name="IDecoder.resolution"></a><div id="IDecoder.resolution-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="IDecoder.resolution-toggle" onclick="return toggle('IDecoder.resolution');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html#resolution">resolution</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder.resolution-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IDecoder.resolution-expanded"><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the sample width (8, 16, etc..) of original audio file/stream,</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> or None if not applicable/known"""</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> </tt>
+<a name="IDecoder.metadata"></a><div id="IDecoder.metadata-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="IDecoder.metadata-toggle" onclick="return toggle('IDecoder.metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IDecoder-class.html#metadata">metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IDecoder.metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IDecoder.metadata-expanded"><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the metadata embedded into the encoded stream, if any."""</tt> </tt>
+</div></div><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> </tt>
+<a name="IGrapher"></a><div id="IGrapher-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="IGrapher-toggle" onclick="return toggle('IGrapher');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IGrapher-class.html">IGrapher</a><tt class="py-op">(</tt><tt class="py-base-class">IProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IGrapher-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IGrapher-expanded"><a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item visualizer driver interface"""</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-comment"># implementation: graphers which need to know the total number of frames</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># should raise an exception in setup() if the nframes argument is None </tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="IGrapher.__init__"></a><div id="IGrapher.__init__-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="IGrapher.__init__-toggle" onclick="return toggle('IGrapher.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IGrapher-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IGrapher.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IGrapher.__init__-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-docstring">"""Create a new grapher. width and height are generally</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> in pixels but could be something else for eg. svg rendering, etc.. """</tt> </tt>
+</div><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-comment"># implementation: additional optionnal arguments are allowed </tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IGrapher.name"></a><div id="IGrapher.name-def"><a name="L159"></a><tt class="py-lineno">159</tt> <a class="py-toggle" href="#" id="IGrapher.name-toggle" onclick="return toggle('IGrapher.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IGrapher-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IGrapher.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IGrapher.name-expanded"><a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the graph name, such as "Waveform", "Spectral view",</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> etc.. """</tt> </tt>
+</div><a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> </tt>
+<a name="IGrapher.set_colors"></a><div id="IGrapher.set_colors-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="IGrapher.set_colors-toggle" onclick="return toggle('IGrapher.set_colors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IGrapher-class.html#set_colors">set_colors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">background</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IGrapher.set_colors-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IGrapher.set_colors-expanded"><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-docstring">"""Set the colors used for image generation. background is a RGB tuple,</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> and scheme a a predefined color theme name"""</tt> </tt>
+</div><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> </tt>
+<a name="IGrapher.render"></a><div id="IGrapher.render-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="IGrapher.render-toggle" onclick="return toggle('IGrapher.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IGrapher-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IGrapher.render-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IGrapher.render-expanded"><a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a PIL Image object visually representing all of the data passed</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> by repeatedly calling process()"""</tt> </tt>
+</div></div><a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
+<a name="IAnalyzer"></a><div id="IAnalyzer-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="IAnalyzer-toggle" onclick="return toggle('IAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IAnalyzer-class.html">IAnalyzer</a><tt class="py-op">(</tt><tt class="py-base-class">IProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IAnalyzer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IAnalyzer-expanded"><a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-docstring">"""Media item analyzer driver interface. This interface is abstract, it doesn't</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> describe a particular type of analyzer but is rather meant to group analyzers.</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> In particular, the way the result is returned may greatly vary from sub-interface</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> to sub-interface. For example the IValueAnalyzer returns a final single numeric</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> result at the end of the whole analysis. But some other analyzers may return</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> numpy arrays, and this, either at the end of the analysis, or from process()</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> for each block of data (as in Vamp)."""</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> </tt>
+<a name="IAnalyzer.__init__"></a><div id="IAnalyzer.__init__-def"><a name="L180"></a><tt class="py-lineno">180</tt> <a class="py-toggle" href="#" id="IAnalyzer.__init__-toggle" onclick="return toggle('IAnalyzer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IAnalyzer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IAnalyzer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IAnalyzer.__init__-expanded"><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-docstring">"""Create a new analyzer."""</tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-comment"># implementation: additional optionnal arguments are allowed </tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IAnalyzer.name"></a><div id="IAnalyzer.name-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="IAnalyzer.name-toggle" onclick="return toggle('IAnalyzer.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IAnalyzer-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IAnalyzer.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IAnalyzer.name-expanded"><a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the analyzer name, such as "Mean Level", "Max level",</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> "Total length, etc.. """</tt> </tt>
+</div><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IAnalyzer.unit"></a><div id="IAnalyzer.unit-def"><a name="L190"></a><tt class="py-lineno">190</tt> <a class="py-toggle" href="#" id="IAnalyzer.unit-toggle" onclick="return toggle('IAnalyzer.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IAnalyzer-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IAnalyzer.unit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IAnalyzer.unit-expanded"><a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the unit of the data such as "dB", "seconds", etc... """</tt> </tt>
+</div></div><a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> </tt>
+<a name="IValueAnalyzer"></a><div id="IValueAnalyzer-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="IValueAnalyzer-toggle" onclick="return toggle('IValueAnalyzer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IValueAnalyzer-class.html">IValueAnalyzer</a><tt class="py-op">(</tt><tt class="py-base-class">IAnalyzer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IValueAnalyzer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IValueAnalyzer-expanded"><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-docstring">"""Interface for analyzers which return a single numeric value from result()"""</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
+<a name="IValueAnalyzer.result"></a><div id="IValueAnalyzer.result-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="IValueAnalyzer.result-toggle" onclick="return toggle('IValueAnalyzer.result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IValueAnalyzer-class.html#result">result</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IValueAnalyzer.result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IValueAnalyzer.result-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the final result of the analysis performed over the data passed by</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"> repeatedly calling process()"""</tt> </tt>
+</div><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> </tt>
+<a name="IValueAnalyzer.__str__"></a><div id="IValueAnalyzer.__str__-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="IValueAnalyzer.__str__-toggle" onclick="return toggle('IValueAnalyzer.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IValueAnalyzer-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IValueAnalyzer.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IValueAnalyzer.__str__-expanded"><a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a human readable string containing both result and unit </tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> ('5.30dB', '4.2s', etc...)"""</tt> </tt>
+</div></div><a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> </tt>
+<a name="IEffect"></a><div id="IEffect-def"><a name="L204"></a><tt class="py-lineno">204</tt> <a class="py-toggle" href="#" id="IEffect-toggle" onclick="return toggle('IEffect');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.api.IEffect-class.html">IEffect</a><tt class="py-op">(</tt><tt class="py-base-class">IProcessor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEffect-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IEffect-expanded"><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-docstring">"""Effect processor interface"""</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> </tt>
+<a name="IEffect.__init__"></a><div id="IEffect.__init__-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="IEffect.__init__-toggle" onclick="return toggle('IEffect.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEffect-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEffect.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEffect.__init__-expanded"><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-docstring">"""Create a new effect."""</tt> </tt>
+</div><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-comment"># implementation: additional optionnal arguments are allowed </tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="IEffect.name"></a><div id="IEffect.name-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="IEffect.name-toggle" onclick="return toggle('IEffect.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.api.IEffect-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="IEffect.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IEffect.name-expanded"><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the effect name"""</tt> </tt>
+</div></div><a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IAnalyzer">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <strong class="uidshort">IAnalyzer</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.api.IValueAnalyzer-class.html">IValueAnalyzer</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Media item analyzer driver interface. This interface is abstract, it
+ doesn't describe a particular type of analyzer but is rather meant to
+ group analyzers. In particular, the way the result is returned may
+ greatly vary from sub-interface to sub-interface. For example the
+ IValueAnalyzer returns a final single numeric result at the end of the
+ whole analysis. But some other analyzers may return numpy arrays, and
+ this, either at the end of the analysis, or from process() for each block
+ of data (as in Vamp).</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IAnalyzer-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Create a new analyzer.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IAnalyzer.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>()</span><br />
+ Return the analyzer name, such as "Mean Level", "Max
+ level", "Total length, etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IAnalyzer.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unit"></a><span class="summary-sig-name">unit</span>()</span><br />
+ Return the unit of the data such as "dB",
+ "seconds", etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IAnalyzer.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IAnalyzer.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new analyzer.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <strong class="uidshort">IDecoder</strong>
+</pre>
+
+<hr />
+<p>Decoder driver interface. Decoders are different of encoders in that a
+ given driver may support several input formats, hence this interface
+ doesn't export any static method, all informations are dynamic.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IDecoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">filename</span>)</span><br />
+ Create a new decoder for filename.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>()</span><br />
+ Return a user-friendly file format string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="encoding"></a><span class="summary-sig-name">encoding</span>()</span><br />
+ Return a user-friendly encoding string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.encoding">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="resolution"></a><span class="summary-sig-name">resolution</span>()</span><br />
+ Return the sample width (8, 16, etc..) of original audio file/stream,
+ or None if not applicable/known</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.resolution">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="metadata"></a><span class="summary-sig-name">metadata</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return the metadata embedded into the encoded stream, if any.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">filename</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IDecoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new decoder for filename.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IEffect</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IEffect
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IEffect-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IEffect</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IEffect">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <strong class="uidshort">IEffect</strong>
+</pre>
+
+<hr />
+<p>Effect processor interface</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IEffect-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Create a new effect.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEffect.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>()</span><br />
+ Return the effect name</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEffect.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IEffect.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new effect.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <strong class="uidshort">IEncoder</strong>
+</pre>
+
+<hr />
+<p>Encoder driver interface. Each encoder is expected to support a
+ specific format.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">output</span>)</span><br />
+ Create a new encoder.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IEncoder-class.html#set_metadata" class="summary-sig-name">set_metadata</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">metadata</span>)</span><br />
+ Set the metadata to be embedded in the encoded output.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.set_metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>()</span><br />
+ Return the encode/encoding format as a short string Example:
+ "MP3", "OGG", "AVI", ...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IEncoder-class.html#description" class="summary-sig-name">description</a>()</span><br />
+ Return a string describing what this encode format provides, is good
+ for, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>()</span><br />
+ Return the filename extension corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>()</span><br />
+ Return the mime type corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">output</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new encoder. output can either be a filename or a python
+ callback function/method for streaming mode.</p>
+ <p>The streaming callback prototype is: callback(data, eod) Where data is
+ a block of binary data of an undetermined size, and eod True when
+ end-of-data is reached.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="description"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">description</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.description">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a string describing what this encode format provides, is good
+ for, etc... The description is meant to help the end user decide what
+ format is good for him/her</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_metadata"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_metadata</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">metadata</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IEncoder.set_metadata">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the metadata to be embedded in the encoded output.</p>
+ <p>In non-streaming mode, this method updates the metadata directly into
+ the output file, without re-encoding the audio data, provided this file
+ already exists.</p>
+ <p>It isn't required to call this method, but if called, it must be
+ before process().</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IGrapher</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IGrapher
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IGrapher-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IGrapher</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IGrapher">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <strong class="uidshort">IGrapher</strong>
+</pre>
+
+<hr />
+<p>Media item visualizer driver interface</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IGrapher-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">width</span>,
+ <span class="summary-sig-arg">height</span>)</span><br />
+ Create a new grapher.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IGrapher-class.html#set_colors" class="summary-sig-name">set_colors</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">background</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">scheme</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Set the colors used for image generation.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.set_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a PIL Image object visually representing all of the data
+ passed by repeatedly calling process()</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>()</span><br />
+ Return the graph name, such as "Waveform", "Spectral
+ view", etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">width</span>,
+ <span class="sig-arg">height</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new grapher. width and height are generally in pixels but
+ could be something else for eg. svg rendering, etc..</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_colors"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_colors</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">background</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">scheme</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IGrapher.set_colors">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the colors used for image generation. background is a RGB tuple,
+ and scheme a a predefined color theme name</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IProcessor</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IProcessor
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IProcessor-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IProcessor</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">IProcessor</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a></li><li>, <a href="timeside.api.IDecoder-class.html">IDecoder</a></li><li>, <a href="timeside.api.IEffect-class.html">IEffect</a></li><li>, <a href="timeside.api.IEncoder-class.html">IEncoder</a></li><li>, <a href="timeside.api.IGrapher-class.html">IGrapher</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Common processor interface</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IProcessor-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IProcessor-class.html#channels" class="summary-sig-name">channels</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Number of channels in the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.channels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IProcessor-class.html#samplerate" class="summary-sig-name">samplerate</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Samplerate of the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.samplerate">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="nframes"></a><span class="summary-sig-name">nframes</span>()</span><br />
+ The total number of frames that this processor can output, or None if
+ the duration is unknown.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IProcessor-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IProcessor-class.html#release" class="summary-sig-name">release</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Release resources owned by this processor.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.release">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="channels"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">channels</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.channels">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Number of channels in the data returned by process(). May be different
+ from the number of channels passed to setup()</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="samplerate"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">samplerate</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.samplerate">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Samplerate of the data returned by process(). May be different from
+ the samplerate passed to setup()</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<a name="release"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">release</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IProcessor.release">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Release resources owned by this processor. The processor cannot be
+ used anymore after calling this method.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.api.IValueAnalyzer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.api-module.html">Module api</a> ::
+ Class IValueAnalyzer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.api.IValueAnalyzer-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class IValueAnalyzer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.api-pysrc.html#IValueAnalyzer">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.api.IProcessor-class.html">IProcessor</a> --+
+ |
+ <a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a> --+
+ |
+ <strong class="uidshort">IValueAnalyzer</strong>
+</pre>
+
+<hr />
+<p>Interface for analyzers which return a single numeric value from
+ result()</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="result"></a><span class="summary-sig-name">result</span>()</span><br />
+ Return the final result of the analysis performed over the data
+ passed by repeatedly calling process()</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IValueAnalyzer.result">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.api.IValueAnalyzer-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a human readable string containing both result and unit
+ ('5.30dB', '4.2s', etc...)</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.api-pysrc.html#IValueAnalyzer.__str__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a></code></b>:
+ <code><a href="timeside.api.IAnalyzer-class.html#__init__">__init__</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#process">process</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#release">release</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.api.IProcessor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IAnalyzer-class.html">IAnalyzer</a></code></b>:
+ <code><a href="timeside.api.IAnalyzer-class.html#name">name</a></code>,
+ <code><a href="timeside.api.IAnalyzer-class.html#unit">unit</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.api.IProcessor-class.html">IProcessor</a></code></b>:
+ <code><a href="timeside.api.IProcessor-class.html#id">id</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__str__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Informal representation operator)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.api-pysrc.html#IValueAnalyzer.__str__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a human readable string containing both result and unit
+ ('5.30dB', '4.2s', etc...)</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__str__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module component
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module component</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.component-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.Interface-class.html" class="summary-name">Interface</a><br />
+ Marker base class for interfaces.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.MetaComponent-class.html" class="summary-name">MetaComponent</a><br />
+ Metaclass of the Component class, used mainly to register the
+ interface declared to be implemented by a component.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.Component-class.html" class="summary-name">Component</a><br />
+ Base class of all components
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.ComponentError-class.html" class="summary-name">ComponentError</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Functions</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Functions"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="implements"></a><span class="summary-sig-name">implements</span>(<span class="summary-sig-arg">*interfaces</span>)</span><br />
+ Registers the interfaces implemented by a component when placed in
+ the class header</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#implements">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="abstract"></a><span class="summary-sig-name">abstract</span>()</span><br />
+ Declare a component as abstract when placed in the class header</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#abstract">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.component-module.html#implementations" class="summary-sig-name">implementations</a>(<span class="summary-sig-arg">interface</span>,
+ <span class="summary-sig-arg">recurse</span>=<span class="summary-sig-default">True</span>,
+ <span class="summary-sig-arg">abstract</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Returns the components implementing interface, and if recurse, any of
+ the descendants of interface.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#implementations">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="interfacedoc"></a><span class="summary-sig-name">interfacedoc</span>(<span class="summary-sig-arg">func</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#interfacedoc">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="extend_unique"></a><span class="summary-sig-name">extend_unique</span>(<span class="summary-sig-arg">list1</span>,
+ <span class="summary-sig-arg">list2</span>)</span><br />
+ Extend list1 with list2 as list.extend(), but doesn't append
+ duplicates to list1</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#extend_unique">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="find_implementations"></a><span class="summary-sig-name">find_implementations</span>(<span class="summary-sig-arg">interface</span>,
+ <span class="summary-sig-arg">recurse</span>,
+ <span class="summary-sig-arg">abstract</span>,
+ <span class="summary-sig-arg">result</span>)</span><br />
+ Find implementations of an interface or of one of its descendants and
+ extend result with the classes found.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#find_implementations">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Function Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-FunctionDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="implementations"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">implementations</span>(<span class="sig-arg">interface</span>,
+ <span class="sig-arg">recurse</span>=<span class="sig-default">True</span>,
+ <span class="sig-arg">abstract</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.component-pysrc.html#implementations">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Returns the components implementing interface, and if recurse, any of
+ the descendants of interface. If abstract is True, also return the
+ abstract implementations.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module component
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.component-module.html">Module timeside.component</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2009 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"># This file defines a generic object interface mechanism and </tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># a way to determine which components implements a given interface.</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># For example, the following defines the Music class as implementing the</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># listenable interface.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># class Listenable(Interface):</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># pass</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># class Music(Component):</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># implements(Listenable)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Several class can implements a such interface, and it is possible to </tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># discover which class implements it with implementations():</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># list_of_classes = implementations(Listenable)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This mechanism support inheritance of interfaces: a class implementing a given </tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># interface is also considered to implement all the ascendants of this interface.</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># However, inheritance is not supported for components. The descendants of a class </tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># implementing a given interface are not automatically considered to implement this </tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># interface too. </tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'Component'</tt><tt class="py-op">,</tt> <tt class="py-string">'MetaComponent'</tt><tt class="py-op">,</tt> <tt class="py-string">'implements'</tt><tt class="py-op">,</tt> <tt class="py-string">'abstract'</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-string">'interfacedoc'</tt><tt class="py-op">,</tt> <tt class="py-string">'Interface'</tt><tt class="py-op">,</tt> <tt class="py-string">'implementations'</tt><tt class="py-op">,</tt> <tt class="py-string">'ComponentError'</tt><tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
+<a name="Interface"></a><div id="Interface-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="Interface-toggle" onclick="return toggle('Interface');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.component.Interface-class.html">Interface</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Interface-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Interface-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-docstring">"""Marker base class for interfaces."""</tt> </tt>
+</div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
+<a name="implements"></a><div id="implements-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="implements-toggle" onclick="return toggle('implements');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#implements">implements</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">interfaces</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="implements-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="implements-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-docstring">"""Registers the interfaces implemented by a component when placed in the</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"> class header"""</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Class timeside.component.MetaComponent=timeside.component.MetaComponent-class.html"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-0', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-1', 'implements', 'link-1');">implements</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">interfaces</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
+<a name="abstract"></a><div id="abstract-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="abstract-toggle" onclick="return toggle('abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#abstract">abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="abstract-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="abstract-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-docstring">"""Declare a component as abstract when placed in the class header"""</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt id="link-2" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-2', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable timeside.component.MetaComponent.abstract=timeside.component.MetaComponent-class.html#abstract,Function timeside.component.abstract()=timeside.component-module.html#abstract"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-3', 'abstract', 'link-3');">abstract</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
+<a name="implementations"></a><div id="implementations-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="implementations-toggle" onclick="return toggle('implementations');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#implementations">implementations</a><tt class="py-op">(</tt><tt class="py-param">interface</tt><tt class="py-op">,</tt> <tt class="py-param">recurse</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">abstract</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="implementations-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="implementations-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns the components implementing interface, and if recurse, any of </tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring"> the descendants of interface. If abstract is True, also return the </tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring"> abstract implementations."""</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-4" class="py-name" targets="Method timeside.api.IValueAnalyzer.result()=timeside.api.IValueAnalyzer-class.html#result,Method timeside.tests.api.examples.Duration.result()=timeside.tests.api.examples.Duration-class.html#result,Method timeside.tests.api.examples.MaxLevel.result()=timeside.tests.api.examples.MaxLevel-class.html#result"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-4', 'result', 'link-4');">result</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Function timeside.component.find_implementations()=timeside.component-module.html#find_implementations"><a title="timeside.component.find_implementations" class="py-name" href="#" onclick="return doclink('link-5', 'find_implementations', 'link-5');">find_implementations</a></tt><tt class="py-op">(</tt><tt class="py-name">interface</tt><tt class="py-op">,</tt> <tt class="py-name">recurse</tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-6', 'abstract', 'link-3');">abstract</a></tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-7', 'result', 'link-4');">result</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-8', 'result', 'link-4');">result</a></tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
+<a name="interfacedoc"></a><div id="interfacedoc-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="interfacedoc-toggle" onclick="return toggle('interfacedoc');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#interfacedoc">interfacedoc</a><tt class="py-op">(</tt><tt class="py-param">func</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="interfacedoc-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="interfacedoc-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">func</tt><tt class="py-op">,</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-9" class="py-name" targets="Class timeside.component.ComponentError=timeside.component.ComponentError-class.html"><a title="timeside.component.ComponentError" class="py-name" href="#" onclick="return doclink('link-9', 'ComponentError', 'link-9');">ComponentError</a></tt><tt class="py-op">(</tt><tt class="py-string">"@interfacedoc can't handle staticmethod (try to put @staticmethod above @interfacedoc)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">func</tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">func</tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt> <tt class="py-op">=</tt> <tt class="py-string">"@interfacedoc"</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">func</tt><tt class="py-op">.</tt><tt class="py-name">_interfacedoc</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">func</tt> </tt>
+</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
+<a name="MetaComponent"></a><div id="MetaComponent-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="MetaComponent-toggle" onclick="return toggle('MetaComponent');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.component.MetaComponent-class.html">MetaComponent</a><tt class="py-op">(</tt><tt class="py-base-class">type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MetaComponent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MetaComponent-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-docstring">"""Metaclass of the Component class, used mainly to register the interface</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> declared to be implemented by a component."""</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable timeside.component.MetaComponent.implementations=timeside.component.MetaComponent-class.html#implementations,Function timeside.component.implementations()=timeside.component-module.html#implementations"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-10', 'implementations', 'link-10');">implementations</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-11', 'implements', 'link-1');">implements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-12', 'abstract', 'link-3');">abstract</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="MetaComponent.__new__"></a><div id="MetaComponent.__new__-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="MetaComponent.__new__-toggle" onclick="return toggle('MetaComponent.__new__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component.MetaComponent-class.html#__new__">__new__</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">bases</tt><tt class="py-op">,</tt> <tt class="py-param">d</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MetaComponent.__new__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MetaComponent.__new__-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">new_class</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Static Method timeside.component.MetaComponent.__new__()=timeside.component.MetaComponent-class.html#__new__,Static Method timeside.core.MetaProcessor.__new__()=timeside.core.MetaProcessor-class.html#__new__"><a title="timeside.component.MetaComponent.__new__
+timeside.core.MetaProcessor.__new__" class="py-name" href="#" onclick="return doclink('link-13', '__new__', 'link-13');">__new__</a></tt><tt class="py-op">(</tt><tt class="py-name">cls</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-14');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">bases</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-comment"># Register implementations</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-15" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-15', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-16', 'implements', 'link-1');">implements</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-17" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-17', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-18', 'implements', 'link-1');">implements</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-19', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-20', 'implementations', 'link-10');">implementations</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-string">'interface'</tt><tt class="py-op">:</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-string">'class'</tt><tt class="py-op">:</tt> <tt class="py-name">new_class</tt><tt class="py-op">,</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-string">'abstract'</tt><tt class="py-op">:</tt> <tt id="link-21" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-21', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-22', 'abstract', 'link-3');">abstract</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment"># Propagate @interfacedoc</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-23" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-23', 'name', 'link-14');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">member</tt> <tt class="py-op">=</tt> <tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-24', 'name', 'link-14');">name</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">member</tt><tt class="py-op">,</tt> <tt class="py-name">staticmethod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">member</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">new_class</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-25', 'name', 'link-14');">name</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">member</tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt> <tt class="py-op">==</tt> <tt class="py-string">"@interfacedoc"</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">if_member</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-26" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-26', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-27', 'implements', 'link-1');">implements</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-28', 'name', 'link-14');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">if_member</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-29', 'name', 'link-14');">name</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">if_member</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-30" class="py-name"><a title="timeside.component.ComponentError" class="py-name" href="#" onclick="return doclink('link-30', 'ComponentError', 'link-9');">ComponentError</a></tt><tt class="py-op">(</tt><tt class="py-string">"@interfacedoc: %s.%s: no such member in implemented interfaces: %s"</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-31', 'name', 'link-14');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-32', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-33', 'implements', 'link-1');">implements</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">member</tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt> <tt class="py-op">=</tt> <tt class="py-name">if_member</tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt id="link-34" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-34', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-35', 'implements', 'link-1');">implements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-36', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-37', 'abstract', 'link-3');">abstract</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">new_class</tt> </tt>
+</div></div><a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> </tt>
+<a name="Component"></a><div id="Component-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="Component-toggle" onclick="return toggle('Component');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.component.Component-class.html">Component</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Component-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Component-expanded"><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-docstring">"""Base class of all components"""</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">__metaclass__</tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-38', 'MetaComponent', 'link-0');">MetaComponent</a></tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
+<a name="extend_unique"></a><div id="extend_unique-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="extend_unique-toggle" onclick="return toggle('extend_unique');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#extend_unique">extend_unique</a><tt class="py-op">(</tt><tt class="py-param">list1</tt><tt class="py-op">,</tt> <tt class="py-param">list2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="extend_unique-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="extend_unique-expanded"><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-docstring">"""Extend list1 with list2 as list.extend(), but doesn't append duplicates</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> to list1"""</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list2</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list1</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">list1</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
+<a name="find_implementations"></a><div id="find_implementations-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="find_implementations-toggle" onclick="return toggle('find_implementations');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.component-module.html#find_implementations">find_implementations</a><tt class="py-op">(</tt><tt class="py-param">interface</tt><tt class="py-op">,</tt> <tt class="py-param">recurse</tt><tt class="py-op">,</tt> <tt class="py-param">abstract</tt><tt class="py-op">,</tt> <tt class="py-param">result</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="find_implementations-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="find_implementations-expanded"><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-docstring">"""Find implementations of an interface or of one of its descendants and</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> extend result with the classes found."""</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt id="link-39" class="py-name"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-39', 'MetaComponent', 'link-0');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-40', 'implementations', 'link-10');">implementations</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">[</tt><tt class="py-string">'interface'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">interface</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-41', 'abstract', 'link-3');">abstract</a></tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">item</tt><tt class="py-op">[</tt><tt class="py-string">'abstract'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt id="link-42" class="py-name" targets="Function timeside.component.extend_unique()=timeside.component-module.html#extend_unique"><a title="timeside.component.extend_unique" class="py-name" href="#" onclick="return doclink('link-42', 'extend_unique', 'link-42');">extend_unique</a></tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-43', 'result', 'link-4');">result</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">recurse</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">subinterfaces</tt> <tt class="py-op">=</tt> <tt class="py-name">interface</tt><tt class="py-op">.</tt><tt class="py-name">__subclasses__</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">subinterfaces</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">subinterfaces</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="timeside.component.find_implementations" class="py-name" href="#" onclick="return doclink('link-44', 'find_implementations', 'link-5');">find_implementations</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">recurse</tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-45', 'abstract', 'link-3');">abstract</a></tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-46', 'result', 'link-4');">result</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> </tt>
+<a name="ComponentError"></a><div id="ComponentError-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="ComponentError-toggle" onclick="return toggle('ComponentError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.component.ComponentError-class.html">ComponentError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ComponentError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ComponentError-expanded"><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component.Component</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.component-module.html">Module component</a> ::
+ Class Component
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component.Component-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Component</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.component-pysrc.html#Component">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">Component</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.core.Processor-class.html">core.Processor</a></li><li class="private">, <a href="timeside.tests.testcomponent.C1-class.html" onclick="show_private();">tests.testcomponent.C1</a></li><li class="private">, <a href="timeside.tests.testcomponent.C10-class.html" onclick="show_private();">tests.testcomponent.C10</a></li><li class="private">, <a href="timeside.tests.testcomponent.C11-class.html" onclick="show_private();">tests.testcomponent.C11</a></li><li class="private">, <a href="timeside.tests.testcomponent.C2-class.html" onclick="show_private();">tests.testcomponent.C2</a></li><li class="private">, <a href="timeside.tests.testcomponent.C3-class.html" onclick="show_private();">tests.testcomponent.C3</a></li><li class="private">, <a href="timeside.tests.testcomponent.C4-class.html" onclick="show_private();">tests.testcomponent.C4</a></li><li class="private">, <a href="timeside.tests.testcomponent.C5-class.html" onclick="show_private();">tests.testcomponent.C5</a></li><li class="private">, <a href="timeside.tests.testcomponent.C6-class.html" onclick="show_private();">tests.testcomponent.C6</a></li><li class="private">, <a href="timeside.tests.testcomponent.C8-class.html" onclick="show_private();">tests.testcomponent.C8</a></li><li class="private">, <a href="timeside.tests.testcomponent.C9-class.html" onclick="show_private();">tests.testcomponent.C9</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Base class of all components</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.MetaComponent-class.html" class="summary-name">__metaclass__</a><br />
+ Metaclass of the Component class, used mainly to register the
+ interface declared to be implemented by a component.
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component.ComponentError</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.component-module.html">Module component</a> ::
+ Class ComponentError
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component.ComponentError-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ComponentError</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.component-pysrc.html#ComponentError">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+exceptions.BaseException --+
+ |
+ exceptions.Exception --+
+ |
+ <strong class="uidshort">ComponentError</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+ <code>__init__</code>,
+ <code>__new__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__getitem__</code>,
+ <code>__getslice__</code>,
+ <code>__reduce__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__setstate__</code>,
+ <code>__str__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__hash__</code>,
+ <code>__reduce_ex__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>args</code>,
+ <code>message</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component.Interface</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.component-module.html">Module component</a> ::
+ Class Interface
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component.Interface-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Interface</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.component-pysrc.html#Interface">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">Interface</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.api.IProcessor-class.html">api.IProcessor</a></li><li class="private">, <a href="timeside.tests.testcomponent.I1-class.html" onclick="show_private();">tests.testcomponent.I1</a></li><li class="private">, <a href="timeside.tests.testcomponent.I10-class.html" onclick="show_private();">tests.testcomponent.I10</a></li><li class="private">, <a href="timeside.tests.testcomponent.I11-class.html" onclick="show_private();">tests.testcomponent.I11</a></li><li class="private">, <a href="timeside.tests.testcomponent.I2-class.html" onclick="show_private();">tests.testcomponent.I2</a></li><li class="private">, <a href="timeside.tests.testcomponent.I3-class.html" onclick="show_private();">tests.testcomponent.I3</a></li><li class="private">, <a href="timeside.tests.testcomponent.I4-class.html" onclick="show_private();">tests.testcomponent.I4</a></li><li class="private">, <a href="timeside.tests.testcomponent.I5-class.html" onclick="show_private();">tests.testcomponent.I5</a></li><li class="private">, <a href="timeside.tests.testcomponent.I7-class.html" onclick="show_private();">tests.testcomponent.I7</a></li><li class="private">, <a href="timeside.tests.testcomponent.I8-class.html" onclick="show_private();">tests.testcomponent.I8</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Marker base class for interfaces.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.component.MetaComponent</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.component-module.html">Module component</a> ::
+ Class MetaComponent
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.component.MetaComponent-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== TYPE DESCRIPTION ==================== -->
+<h1 class="epydoc">Type MetaComponent</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.component-pysrc.html#MetaComponent">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ type --+
+ |
+ <strong class="uidshort">MetaComponent</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.core.MetaProcessor-class.html">core.MetaProcessor</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Metaclass of the Component class, used mainly to register the
+ interface declared to be implemented by a component.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
+ <code>__call__</code>,
+ <code>__cmp__</code>,
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__subclasses__</code>,
+ <code>mro</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__init__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">a new object with type S, a subtype of T</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.component.MetaComponent-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">cls</span>,
+ <span class="summary-sig-arg">name</span>,
+ <span class="summary-sig-arg">bases</span>,
+ <span class="summary-sig-arg">d</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#MetaComponent.__new__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="abstract"></a><span class="summary-name">abstract</span> = <code title="False">False</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.component.MetaComponent-class.html#implementations" class="summary-name">implementations</a> = <code title="[{'abstract': True,
+ 'class': <class 'timeside.core.Processor'>,
+ 'interface': <class 'timeside.api.IProcessor'>},
+ {'abstract': False,
+ 'class': <class 'timeside.decode.ogg.OggDecoder'>,
+ 'interface': <class 'timeside.api.IDecoder'>},
+ {'abstract': False,
+ 'class': <class 'timeside.decode.flac.FlacDecoder'>,
+..."><code class="variable-group">[</code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">abstract</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">class</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timesid<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="implements"></a><span class="summary-name">implements</span> = <code title="[<class 'timeside.tests.testcomponent.I1'>]"><code class="variable-group">[</code><class 'timeside.tests.testcomponent.I1'><code class="variable-group">]</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
+ <code>__base__</code>,
+ <code>__bases__</code>,
+ <code>__basicsize__</code>,
+ <code>__dictoffset__</code>,
+ <code>__flags__</code>,
+ <code>__itemsize__</code>,
+ <code>__mro__</code>,
+ <code>__name__</code>,
+ <code>__weakrefoffset__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__new__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">cls</span>,
+ <span class="sig-arg">name</span>,
+ <span class="sig-arg">bases</span>,
+ <span class="sig-arg">d</span>)</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.component-pysrc.html#MetaComponent.__new__">source code</a></span>
+ </td>
+ </tr></table>
+
+
+ <dl class="fields">
+ <dt>Returns: a new object with type S, a subtype of T</dt>
+ <dt>Overrides:
+ object.__new__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="implementations"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">implementations</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">abstract</code><code class="variable-quote">'</code><code class="variable-op">: </code>True<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">class</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.core.Processor'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">interface</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.api.IProcessor'><code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">abstract</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">class</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.decode.ogg.OggDecoder'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">interface</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.api.IDecoder'><code class="variable-group">}</code><code class="variable-op">,</code>
+ <code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">abstract</code><code class="variable-quote">'</code><code class="variable-op">: </code>False<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">class</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.decode.flac.FlacDecoder'><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core.MetaProcessor-class.html" class="summary-name">MetaProcessor</a><br />
+ Metaclass of the Processor class, used mainly for ensuring that
+ processor id's are wellformed and unique
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core.Processor-class.html" class="summary-name">Processor</a><br />
+ Base component class of all processors
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core.FixedSizeInputAdapter-class.html" class="summary-name">FixedSizeInputAdapter</a><br />
+ Utility to make it easier to write processors which require
+ fixed-sized input buffers.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core.ProcessPipe-class.html" class="summary-name">ProcessPipe</a><br />
+ Handle a pipe of processors
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Functions</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Functions"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="processors"></a><span class="summary-sig-name">processors</span>(<span class="summary-sig-arg">interface</span>=<span class="summary-sig-default"><class 'timeside.api.IProcessor'></span>,
+ <span class="summary-sig-arg">recurse</span>=<span class="summary-sig-default">True</span>)</span><br />
+ Returns the processors implementing a given interface and, if
+ recurse, any of the descendants of this interface.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#processors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_processor"></a><span class="summary-sig-name">get_processor</span>(<span class="summary-sig-arg">processor_id</span>)</span><br />
+ Return a processor by its id</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#get_processor">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="abstract"></a><span class="summary-sig-name">abstract</span>()</span><br />
+ Declare a component as abstract when placed in the class header</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#abstract">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="implements"></a><span class="summary-sig-name">implements</span>(<span class="summary-sig-arg">*interfaces</span>)</span><br />
+ Registers the interfaces implemented by a component when placed in
+ the class header</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#implements">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="interfacedoc"></a><span class="summary-sig-name">interfacedoc</span>(<span class="summary-sig-arg">func</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.component-pysrc.html#interfacedoc">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core-module.html#_processors" class="summary-name" onclick="show_private();">_processors</a> = <code title="{'dc': <class 'timeside.analyze.dc.MeanDCShiftAnalyser'>,
+ 'duration': <class 'timeside.analyze.duration.DurationAnalyzer'>,
+ 'encoding': <class 'timeside.analyze.encoding.EncodingAnalyser'>,
+ 'flacdec': <class 'timeside.decode.flac.FlacDecoder'>,
+ 'flacenc': <class 'timeside.encode.flac.FlacEncoder'>,
+ 'format': <class 'timeside.analyze.format.FormatAnalyser'>,
+ 'max_level': <class 'timeside.analyze.max_level.MaxLevelAnalyzer'>,
+ 'meanlevel': <class 'timeside.analyze.mean_level.MeanLevelAnalyser'>,
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">dc</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.dc.MeanDCShiftAn<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="_processors"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">_processors</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">dc</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.dc.MeanDCShiftAnalyser'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">duration</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.duration.DurationAnalyzer'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">encoding</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.encoding.EncodingAnalyser'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">flacdec</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.decode.flac.FlacDecoder'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">flacenc</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.encode.flac.FlacEncoder'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">format</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.format.FormatAnalyser'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">max_level</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.max_level.MaxLevelAnalyzer'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">meanlevel</code><code class="variable-quote">'</code><code class="variable-op">: </code><class 'timeside.analyze.mean_level.MeanLevelAnalyser'><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.core-module.html">Module timeside.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2009 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.component=timeside.component-module.html"><a title="timeside.component" class="py-name" href="#" onclick="return doclink('link-1', 'component', 'link-1');">component</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-3', 'api', 'link-3');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class timeside.api.IProcessor=timeside.api.IProcessor-class.html"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-4', 'IProcessor', 'link-4');">IProcessor</a></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-5', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.exceptions=timeside.exceptions-module.html"><a title="timeside.exceptions" class="py-name" href="#" onclick="return doclink('link-6', 'exceptions', 'link-6');">exceptions</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class timeside.exceptions.Error=timeside.exceptions.Error-class.html"><a title="timeside.exceptions.Error" class="py-name" href="#" onclick="return doclink('link-7', 'Error', 'link-7');">Error</a></tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Class timeside.exceptions.ApiError=timeside.exceptions.ApiError-class.html"><a title="timeside.exceptions.ApiError" class="py-name" href="#" onclick="return doclink('link-8', 'ApiError', 'link-8');">ApiError</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'Processor'</tt><tt class="py-op">,</tt> <tt class="py-string">'MetaProcessor'</tt><tt class="py-op">,</tt> <tt class="py-string">'implements'</tt><tt class="py-op">,</tt> <tt class="py-string">'abstract'</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-string">'interfacedoc'</tt><tt class="py-op">,</tt> <tt class="py-string">'processors'</tt><tt class="py-op">,</tt> <tt class="py-string">'get_processor'</tt><tt class="py-op">,</tt> <tt class="py-string">'ProcessPipe'</tt><tt class="py-op">,</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-string">'FixedSizeInputAdapter'</tt><tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable timeside.core._processors=timeside.core-module.html#_processors"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-9', '_processors', 'link-9');">_processors</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="MetaProcessor"></a><div id="MetaProcessor-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="MetaProcessor-toggle" onclick="return toggle('MetaProcessor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.core.MetaProcessor-class.html">MetaProcessor</a><tt class="py-op">(</tt><tt class="py-base-class">MetaComponent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MetaProcessor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MetaProcessor-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-docstring">"""Metaclass of the Processor class, used mainly for ensuring that processor</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> id's are wellformed and unique"""</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable timeside.core.MetaProcessor.valid_id=timeside.core.MetaProcessor-class.html#valid_id"><a title="timeside.core.MetaProcessor.valid_id" class="py-name" href="#" onclick="return doclink('link-10', 'valid_id', 'link-10');">valid_id</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">"^[a-z][_a-z0-9]*$"</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
+<a name="MetaProcessor.__new__"></a><div id="MetaProcessor.__new__-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="MetaProcessor.__new__-toggle" onclick="return toggle('MetaProcessor.__new__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.MetaProcessor-class.html#__new__">__new__</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">bases</tt><tt class="py-op">,</tt> <tt class="py-param">d</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MetaProcessor.__new__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MetaProcessor.__new__-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">new_class</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name" targets="Class timeside.component.MetaComponent=timeside.component.MetaComponent-class.html"><a title="timeside.component.MetaComponent" class="py-name" href="#" onclick="return doclink('link-11', 'MetaComponent', 'link-11');">MetaComponent</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Static Method timeside.component.MetaComponent.__new__()=timeside.component.MetaComponent-class.html#__new__,Static Method timeside.core.MetaProcessor.__new__()=timeside.core.MetaProcessor-class.html#__new__"><a title="timeside.component.MetaComponent.__new__
+timeside.core.MetaProcessor.__new__" class="py-name" href="#" onclick="return doclink('link-12', '__new__', 'link-12');">__new__</a></tt><tt class="py-op">(</tt><tt class="py-name">cls</tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-13', 'name', 'link-13');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">bases</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">new_class</tt> <tt class="py-keyword">in</tt> <tt id="link-14" class="py-name" targets="Variable timeside.component.MetaComponent.implementations=timeside.component.MetaComponent-class.html#implementations,Function timeside.component.implementations()=timeside.component-module.html#implementations"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-14', 'implementations', 'link-14');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-15', 'IProcessor', 'link-4');">IProcessor</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Static Method timeside.analyze.channels.ChannelAnalyser.id()=timeside.analyze.channels.ChannelAnalyser-class.html#id,Static Method timeside.analyze.dc.MeanDCShiftAnalyser.id()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id,Static Method timeside.analyze.duration.DurationAnalyzer.id()=timeside.analyze.duration.DurationAnalyzer-class.html#id,Static Method timeside.analyze.encoding.EncodingAnalyser.id()=timeside.analyze.encoding.EncodingAnalyser-class.html#id,Static Method timeside.analyze.format.FormatAnalyser.id()=timeside.analyze.format.FormatAnalyser-class.html#id,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.id()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id,Static Method timeside.analyze.mean_level.MeanLevelAnalyser.id()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id,Static Method timeside.analyze.resolution.ResolutionAnalyser.id()=timeside.analyze.resolution.ResolutionAnalyser-class.html#id,Static Method timeside.analyze.samplerate.SampleRateAnalyzer.id()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id,Method timeside.analyze.vamp.core.VampCoreAnalyzer.id()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id,Static Method timeside.api.IProcessor.id()=timeside.api.IProcessor-class.html#id,Static Method timeside.decode.flac.FlacDecoder.id()=timeside.decode.flac.FlacDecoder-class.html#id,Static Method timeside.decode.mp3.Mp3Decoder.id()=timeside.decode.mp3.Mp3Decoder-class.html#id,Static Method timeside.decode.ogg.OggDecoder.id()=timeside.decode.ogg.OggDecoder-class.html#id,Static Method timeside.decode.wav.WavDecoder.id()=timeside.decode.wav.WavDecoder-class.html#id,Static Method timeside.encode.flac.FlacEncoder.id()=timeside.encode.flac.FlacEncoder-class.html#id,Static Method timeside.encode.mp3.Mp3Encoder.id()=timeside.encode.mp3.Mp3Encoder-class.html#id,Static Method timeside.encode.ogg.OggVorbisEncoder.id()=timeside.encode.ogg.OggVorbisEncoder-class.html#id,Static Method timeside.encode.wav.WavEncoder.id()=timeside.encode.wav.WavEncoder-class.html#id,Static Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id,Static Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id,Static Method timeside.tests.api.examples.Duration.id()=timeside.tests.api.examples.Duration-class.html#id,Static Method timeside.tests.api.examples.FileDecoder.id()=timeside.tests.api.examples.FileDecoder-class.html#id,Static Method timeside.tests.api.examples.FixedInputProcessor.id()=timeside.tests.api.examples.FixedInputProcessor-class.html#id,Static Method timeside.tests.api.examples.Gain.id()=timeside.tests.api.examples.Gain-class.html#id,Static Method timeside.tests.api.examples.MaxLevel.id()=timeside.tests.api.examples.MaxLevel-class.html#id,Static Method timeside.tests.api.examples.Spectrogram.id()=timeside.tests.api.examples.Spectrogram-class.html#id,Static Method timeside.tests.api.examples.WavEncoder.id()=timeside.tests.api.examples.WavEncoder-class.html#id,Static Method timeside.tests.api.examples.Waveform.id()=timeside.tests.api.examples.Waveform-class.html#id,Static Method timeside.tests.api.gstreamer.FileDecoder.id()=timeside.tests.api.gstreamer.FileDecoder-class.html#id,Static Method timeside.tests.api.gstreamer.WavEncoder.id()=timeside.tests.api.gstreamer.WavEncoder-class.html#id"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-16', 'id', 'link-16');">id</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-17', 'id', 'link-16');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-18" class="py-name"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-18', '_processors', 'link-9');">_processors</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-19', 'id', 'link-16');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-20" class="py-name"><a title="timeside.exceptions.ApiError" class="py-name" href="#" onclick="return doclink('link-20', 'ApiError', 'link-8');">ApiError</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s and %s have the same id: '%s'"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-21', '_processors', 'link-9');">_processors</a></tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-22', 'id', 'link-16');">id</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-23', 'id', 'link-16');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-24" class="py-name" targets="Class timeside.core.MetaProcessor=timeside.core.MetaProcessor-class.html"><a title="timeside.core.MetaProcessor" class="py-name" href="#" onclick="return doclink('link-24', 'MetaProcessor', 'link-24');">MetaProcessor</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="timeside.core.MetaProcessor.valid_id" class="py-name" href="#" onclick="return doclink('link-25', 'valid_id', 'link-10');">valid_id</a></tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-26', 'id', 'link-16');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-27" class="py-name"><a title="timeside.exceptions.ApiError" class="py-name" href="#" onclick="return doclink('link-27', 'ApiError', 'link-8');">ApiError</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s has a malformed id: '%s'"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">new_class</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-28', 'id', 'link-16');">id</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-29', '_processors', 'link-9');">_processors</a></tt><tt class="py-op">[</tt><tt id="link-30" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-30', 'id', 'link-16');">id</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">new_class</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">new_class</tt> </tt>
+</div></div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
+<a name="Processor"></a><div id="Processor-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Processor-toggle" onclick="return toggle('Processor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.core.Processor-class.html">Processor</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Processor-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"""Base component class of all processors"""</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">__metaclass__</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="timeside.core.MetaProcessor" class="py-name" href="#" onclick="return doclink('link-31', 'MetaProcessor', 'link-24');">MetaProcessor</a></tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt id="link-32" class="py-name" targets="Variable timeside.component.MetaComponent.abstract=timeside.component.MetaComponent-class.html#abstract,Function timeside.component.abstract()=timeside.component-module.html#abstract"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-32', 'abstract', 'link-32');">abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt id="link-33" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-33', 'implements', 'link-33');">implements</a></tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-34', 'IProcessor', 'link-4');">IProcessor</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.setup"></a><div id="Processor.setup-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="Processor.setup-toggle" onclick="return toggle('Processor.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.setup-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_channels</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-35', 'channels', 'link-35');">channels</a></tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_samplerate</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-36', 'samplerate', 'link-36');">samplerate</a></tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_nframes</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-37', 'nframes', 'link-37');">nframes</a></tt> </tt>
+</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-comment"># default channels(), samplerate() and nframes() implementations returns </tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># the input characteristics, but processors may change this behaviour by </tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># overloading those methods</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.channels"></a><div id="Processor.channels-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="Processor.channels-toggle" onclick="return toggle('Processor.channels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#channels">channels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.channels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.channels-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_channels</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.samplerate"></a><div id="Processor.samplerate-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="Processor.samplerate-toggle" onclick="return toggle('Processor.samplerate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#samplerate">samplerate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.samplerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.samplerate-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_samplerate</tt> </tt>
+</div><a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.nframes"></a><div id="Processor.nframes-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="Processor.nframes-toggle" onclick="return toggle('Processor.nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#nframes">nframes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.nframes-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_nframes</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.process"></a><div id="Processor.process-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="Processor.process-toggle" onclick="return toggle('Processor.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.process-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-38" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-38', 'frames', 'link-38');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name" targets="Variable timeside.tests.api.test_lolevel.eod=timeside.tests.api.test_lolevel-module.html#eod"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-39', 'eod', 'link-39');">eod</a></tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Processor.release"></a><div id="Processor.release-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="Processor.release-toggle" onclick="return toggle('Processor.release');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#release">release</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.release-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.release-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
+<a name="Processor.__del__"></a><div id="Processor.__del__-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="Processor.__del__-toggle" onclick="return toggle('Processor.__del__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#__del__">__del__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.__del__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.__del__-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method timeside.api.IProcessor.release()=timeside.api.IProcessor-class.html#release,Method timeside.core.Processor.release()=timeside.core.Processor-class.html#release,Method timeside.tests.api.examples.FileDecoder.release()=timeside.tests.api.examples.FileDecoder-class.html#release,Method timeside.tests.api.gstreamer.FileDecoder.release()=timeside.tests.api.gstreamer.FileDecoder-class.html#release"><a title="timeside.api.IProcessor.release
+timeside.core.Processor.release
+timeside.tests.api.examples.FileDecoder.release
+timeside.tests.api.gstreamer.FileDecoder.release" class="py-name" href="#" onclick="return doclink('link-40', 'release', 'link-40');">release</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
+<a name="Processor.__or__"></a><div id="Processor.__or__-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="Processor.__or__-toggle" onclick="return toggle('Processor.__or__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.Processor-class.html#__or__">__or__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Processor.__or__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Processor.__or__-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-41" class="py-name" targets="Class timeside.core.ProcessPipe=timeside.core.ProcessPipe-class.html"><a title="timeside.core.ProcessPipe" class="py-name" href="#" onclick="return doclink('link-41', 'ProcessPipe', 'link-41');">ProcessPipe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
+<a name="FixedSizeInputAdapter"></a><div id="FixedSizeInputAdapter-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="FixedSizeInputAdapter-toggle" onclick="return toggle('FixedSizeInputAdapter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.core.FixedSizeInputAdapter-class.html">FixedSizeInputAdapter</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedSizeInputAdapter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FixedSizeInputAdapter-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-docstring">"""Utility to make it easier to write processors which require fixed-sized</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> input buffers."""</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
+<a name="FixedSizeInputAdapter.__init__"></a><div id="FixedSizeInputAdapter.__init__-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="FixedSizeInputAdapter.__init__-toggle" onclick="return toggle('FixedSizeInputAdapter.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.FixedSizeInputAdapter-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">buffer_size</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">,</tt> <tt class="py-param">pad</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedSizeInputAdapter.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedSizeInputAdapter.__init__-expanded"><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-docstring">"""Construct a new adapter: buffer_size is the desired buffer size in frames,</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> channels the number of channels, and pad indicates whether the last block should </tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> be padded with zeros."""</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">empty</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-42', 'channels', 'link-35');">channels</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-name">buffer_size</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pad</tt> <tt class="py-op">=</tt> <tt class="py-name">pad</tt> </tt>
+</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
+<a name="FixedSizeInputAdapter.nframes"></a><div id="FixedSizeInputAdapter.nframes-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="FixedSizeInputAdapter.nframes-toggle" onclick="return toggle('FixedSizeInputAdapter.nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.FixedSizeInputAdapter-class.html#nframes">nframes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">input_nframes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedSizeInputAdapter.nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedSizeInputAdapter.nframes-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the total number of frames that this adapter will output according to the</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> input_nframes argument"""</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-43', 'nframes', 'link-37');">nframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">input_nframes</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pad</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">mod</tt> <tt class="py-op">=</tt> <tt class="py-name">input_nframes</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">mod</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-44', 'nframes', 'link-37');">nframes</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">-</tt> <tt class="py-name">mod</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-45" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-45', 'nframes', 'link-37');">nframes</a></tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> </tt>
+<a name="FixedSizeInputAdapter.process"></a><div id="FixedSizeInputAdapter.process-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="FixedSizeInputAdapter.process-toggle" onclick="return toggle('FixedSizeInputAdapter.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.FixedSizeInputAdapter-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedSizeInputAdapter.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedSizeInputAdapter.process-expanded"><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns an iterator over tuples of the form (buffer, eod) where buffer is a </tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> fixed-sized block of data, and eod indicates whether this is the last block.</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> In case padding is deactivated the last block may be smaller than the buffer size.</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">src_index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">remaining</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-46', 'frames', 'link-38');">frames</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">remaining</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">space</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">copylen</tt> <tt class="py-op">=</tt> <tt class="py-name">remaining</tt> <tt class="py-op"><</tt> <tt class="py-name">space</tt> <tt class="py-keyword">and</tt> <tt class="py-name">remaining</tt> <tt class="py-keyword">or</tt> <tt class="py-name">space</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">src</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-47', 'frames', 'link-38');">frames</a></tt><tt class="py-op">[</tt><tt class="py-name">src_index</tt><tt class="py-op">:</tt><tt class="py-name">src_index</tt> <tt class="py-op">+</tt> <tt class="py-name">copylen</tt><tt class="py-op">]</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">copylen</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-comment"># avoid unnecessary copy</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">src</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">buffer</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">+</tt> <tt class="py-name">copylen</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">src</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">remaining</tt> <tt class="py-op">-=</tt> <tt class="py-name">copylen</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">src_index</tt> <tt class="py-op">+=</tt> <tt class="py-name">copylen</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">+=</tt> <tt class="py-name">copylen</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-48', 'eod', 'link-39');">eod</a></tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">remaining</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-49" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-49', 'eod', 'link-39');">eod</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pad</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt><tt class="py-op">]</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">block</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">len</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div></div><a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> </tt>
+<a name="processors"></a><div id="processors-def"><a name="L159"></a><tt class="py-lineno">159</tt> <a class="py-toggle" href="#" id="processors-toggle" onclick="return toggle('processors');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core-module.html#processors">processors</a><tt class="py-op">(</tt><tt class="py-param">interface</tt><tt class="py-op">=</tt><tt id="link-50" class="py-name"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-50', 'IProcessor', 'link-4');">IProcessor</a></tt><tt class="py-op">,</tt> <tt class="py-param">recurse</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="processors-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="processors-expanded"><a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns the processors implementing a given interface and, if recurse,</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> any of the descendants of this interface."""</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-51" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-51', 'implementations', 'link-14');">implementations</a></tt><tt class="py-op">(</tt><tt class="py-name">interface</tt><tt class="py-op">,</tt> <tt class="py-name">recurse</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> </tt>
+<a name="get_processor"></a><div id="get_processor-def"><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="get_processor-toggle" onclick="return toggle('get_processor');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core-module.html#get_processor">get_processor</a><tt class="py-op">(</tt><tt class="py-param">processor_id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="get_processor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_processor-expanded"><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-docstring">"""Return a processor by its id"""</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-52" class="py-name"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-52', '_processors', 'link-9');">_processors</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">processor_id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-53" class="py-name"><a title="timeside.exceptions.Error" class="py-name" href="#" onclick="return doclink('link-53', 'Error', 'link-7');">Error</a></tt><tt class="py-op">(</tt><tt class="py-string">"No processor registered with id: '%s'"</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-name">processor_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-54" class="py-name"><a title="timeside.core._processors" class="py-name" href="#" onclick="return doclink('link-54', '_processors', 'link-9');">_processors</a></tt><tt class="py-op">[</tt><tt class="py-name">processor_id</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> </tt>
+<a name="ProcessPipe"></a><div id="ProcessPipe-def"><a name="L173"></a><tt class="py-lineno">173</tt> <a class="py-toggle" href="#" id="ProcessPipe-toggle" onclick="return toggle('ProcessPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.core.ProcessPipe-class.html">ProcessPipe</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProcessPipe-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProcessPipe-expanded"><a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-docstring">"""Handle a pipe of processors"""</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
+<a name="ProcessPipe.__init__"></a><div id="ProcessPipe.__init__-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="ProcessPipe.__init__-toggle" onclick="return toggle('ProcessPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.ProcessPipe-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">others</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProcessPipe.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProcessPipe.__init__-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Function timeside.core.processors()=timeside.core-module.html#processors"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-55', 'processors', 'link-55');">processors</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">self</tt> <tt class="py-op">|=</tt> <tt class="py-name">others</tt> </tt>
+</div><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> </tt>
+<a name="ProcessPipe.__or__"></a><div id="ProcessPipe.__or__-def"><a name="L180"></a><tt class="py-lineno">180</tt> <a class="py-toggle" href="#" id="ProcessPipe.__or__-toggle" onclick="return toggle('ProcessPipe.__or__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.ProcessPipe-class.html#__or__">__or__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProcessPipe.__or__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProcessPipe.__or__-expanded"><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-56" class="py-name"><a title="timeside.core.ProcessPipe" class="py-name" href="#" onclick="return doclink('link-56', 'ProcessPipe', 'link-41');">ProcessPipe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
+<a name="ProcessPipe.__ior__"></a><div id="ProcessPipe.__ior__-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="ProcessPipe.__ior__-toggle" onclick="return toggle('ProcessPipe.__ior__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.ProcessPipe-class.html#__ior__">__ior__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProcessPipe.__ior__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProcessPipe.__ior__-expanded"><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">,</tt> <tt id="link-57" class="py-name" targets="Class timeside.core.Processor=timeside.core.Processor-class.html"><a title="timeside.core.Processor" class="py-name" href="#" onclick="return doclink('link-57', 'Processor', 'link-57');">Processor</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-58', 'processors', 'link-55');">processors</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="timeside.core.ProcessPipe" class="py-name" href="#" onclick="return doclink('link-59', 'ProcessPipe', 'link-41');">ProcessPipe</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-60', 'processors', 'link-55');">processors</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-61', 'processors', 'link-55');">processors</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">iter</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-62" class="py-name"><a title="timeside.exceptions.Error" class="py-name" href="#" onclick="return doclink('link-62', 'Error', 'link-7');">Error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Can not add this type of object to a pipe: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">other</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">self</tt> <tt class="py-op">|=</tt> <tt class="py-name">item</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> </tt>
+<a name="ProcessPipe.run"></a><div id="ProcessPipe.run-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="ProcessPipe.run-toggle" onclick="return toggle('ProcessPipe.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.core.ProcessPipe-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProcessPipe.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProcessPipe.run-expanded"><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-docstring">"""Setup/reset all processors in cascade and stream audio data along</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> the pipe. Also returns the pipe itself."""</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt id="link-63" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-63', 'source', 'link-63');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-64', 'processors', 'link-55');">processors</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-65', 'processors', 'link-55');">processors</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-comment"># setup/reset processors and configure channels and samplerate throughout the pipe</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-66" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-66', 'source', 'link-63');">source</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method timeside.api.IProcessor.setup()=timeside.api.IProcessor-class.html#setup,Method timeside.core.Processor.setup()=timeside.core.Processor-class.html#setup,Method timeside.tests.api.examples.Duration.setup()=timeside.tests.api.examples.Duration-class.html#setup,Method timeside.tests.api.examples.FileDecoder.setup()=timeside.tests.api.examples.FileDecoder-class.html#setup,Method timeside.tests.api.examples.FixedInputProcessor.setup()=timeside.tests.api.examples.FixedInputProcessor-class.html#setup,Method timeside.tests.api.examples.MaxLevel.setup()=timeside.tests.api.examples.MaxLevel-class.html#setup,Method timeside.tests.api.examples.Spectrogram.setup()=timeside.tests.api.examples.Spectrogram-class.html#setup,Method timeside.tests.api.examples.WavEncoder.setup()=timeside.tests.api.examples.WavEncoder-class.html#setup,Method timeside.tests.api.examples.Waveform.setup()=timeside.tests.api.examples.Waveform-class.html#setup,Method timeside.tests.api.gstreamer.FileDecoder.setup()=timeside.tests.api.gstreamer.FileDecoder-class.html#setup,Method timeside.tests.api.gstreamer.WavEncoder.setup()=timeside.tests.api.gstreamer.WavEncoder-class.html#setup"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-67', 'setup', 'link-67');">setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">last</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-68', 'source', 'link-63');">source</a></tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">items</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">item</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-69', 'setup', 'link-67');">setup</a></tt><tt class="py-op">(</tt><tt class="py-name">last</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-70', 'channels', 'link-35');">channels</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">last</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-71', 'samplerate', 'link-36');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">last</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-72', 'nframes', 'link-37');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">last</tt> <tt class="py-op">=</tt> <tt class="py-name">item</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-comment"># now stream audio data along the pipe</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-73" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-73', 'eod', 'link-39');">eod</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt id="link-74" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-74', 'eod', 'link-39');">eod</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt id="link-75" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-75', 'frames', 'link-38');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-76" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-76', 'eod', 'link-39');">eod</a></tt> <tt class="py-op">=</tt> <tt id="link-77" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-77', 'source', 'link-63');">source</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-78', 'process', 'link-78');">process</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">items</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt id="link-79" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-79', 'frames', 'link-38');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-80" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-80', 'eod', 'link-39');">eod</a></tt> <tt class="py-op">=</tt> <tt class="py-name">item</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-81', 'process', 'link-78');">process</a></tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-82', 'frames', 'link-38');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-83', 'eod', 'link-39');">eod</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core.FixedSizeInputAdapter</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.core-module.html">Module core</a> ::
+ Class FixedSizeInputAdapter
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core.FixedSizeInputAdapter-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FixedSizeInputAdapter</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">FixedSizeInputAdapter</strong>
+</pre>
+
+<hr />
+<p>Utility to make it easier to write processors which require
+ fixed-sized input buffers.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.FixedSizeInputAdapter-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">buffer_size</span>,
+ <span class="summary-sig-arg">channels</span>,
+ <span class="summary-sig-arg">pad</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Construct a new adapter: buffer_size is the desired buffer size in
+ frames, channels the number of channels, and pad indicates whether
+ the last block should be padded with zeros.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="nframes"></a><span class="summary-sig-name">nframes</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">input_nframes</span>)</span><br />
+ Return the total number of frames that this adapter will output
+ according to the input_nframes argument</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter.nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.FixedSizeInputAdapter-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>)</span><br />
+ Returns an iterator over tuples of the form (buffer, eod) where
+ buffer is a fixed-sized block of data, and eod indicates whether this
+ is the last block.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">buffer_size</span>,
+ <span class="sig-arg">channels</span>,
+ <span class="sig-arg">pad</span>=<span class="sig-default">False</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Construct a new adapter: buffer_size is the desired buffer size in
+ frames, channels the number of channels, and pad indicates whether the
+ last block should be padded with zeros.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#FixedSizeInputAdapter.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Returns an iterator over tuples of the form (buffer, eod) where buffer
+ is a fixed-sized block of data, and eod indicates whether this is the
+ last block. In case padding is deactivated the last block may be smaller
+ than the buffer size.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core.MetaProcessor</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.core-module.html">Module core</a> ::
+ Class MetaProcessor
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core.MetaProcessor-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== TYPE DESCRIPTION ==================== -->
+<h1 class="epydoc">Type MetaProcessor</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.core-pysrc.html#MetaProcessor">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+ type --+
+ |
+<a href="timeside.component.MetaComponent-class.html">component.MetaComponent</a> --+
+ |
+ <strong class="uidshort">MetaProcessor</strong>
+</pre>
+
+<hr />
+<p>Metaclass of the Processor class, used mainly for ensuring that
+ processor id's are wellformed and unique</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
+ <code>__call__</code>,
+ <code>__cmp__</code>,
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__subclasses__</code>,
+ <code>mro</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__init__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">a new object with type S, a subtype of T</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.MetaProcessor-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">cls</span>,
+ <span class="summary-sig-arg">name</span>,
+ <span class="summary-sig-arg">bases</span>,
+ <span class="summary-sig-arg">d</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#MetaProcessor.__new__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="valid_id"></a><span class="summary-name">valid_id</span> = <code title="re.compile(r'^[a-z][_a-z0-9]*$')">re.compile(r'^<code class="re-group">[</code>a<code class="re-op">-</code>z<code class="re-group">]</code><code class="re-group">[</code>_a<code class="re-op">-</code>z0<code class="re-op">-</code>9<code class="re-group">]</code><code class="re-op">*</code>$')</code>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.MetaComponent-class.html">component.MetaComponent</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html#abstract">abstract</a></code>,
+ <code><a href="timeside.component.MetaComponent-class.html#implementations">implementations</a></code>,
+ <code><a href="timeside.component.MetaComponent-class.html#implements">implements</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
+ <code>__base__</code>,
+ <code>__bases__</code>,
+ <code>__basicsize__</code>,
+ <code>__dictoffset__</code>,
+ <code>__flags__</code>,
+ <code>__itemsize__</code>,
+ <code>__mro__</code>,
+ <code>__name__</code>,
+ <code>__weakrefoffset__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__new__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">cls</span>,
+ <span class="sig-arg">name</span>,
+ <span class="sig-arg">bases</span>,
+ <span class="sig-arg">d</span>)</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#MetaProcessor.__new__">source code</a></span>
+ </td>
+ </tr></table>
+
+
+ <dl class="fields">
+ <dt>Returns: a new object with type S, a subtype of T</dt>
+ <dt>Overrides:
+ object.__new__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core.ProcessPipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.core-module.html">Module core</a> ::
+ Class ProcessPipe
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core.ProcessPipe-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ProcessPipe</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">ProcessPipe</strong>
+</pre>
+
+<hr />
+<p>Handle a pipe of processors</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.ProcessPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">*others</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__or__"></a><span class="summary-sig-name">__or__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">other</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.__or__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__ior__"></a><span class="summary-sig-name">__ior__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">other</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.__ior__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.ProcessPipe-class.html#run" class="summary-sig-name">run</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Setup/reset all processors in cascade and stream audio data along the
+ pipe.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.run">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">*others</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="run"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">run</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#ProcessPipe.run">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Setup/reset all processors in cascade and stream audio data along the
+ pipe. Also returns the pipe itself.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.core.Processor</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.core-module.html">Module core</a> ::
+ Class Processor
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.core.Processor-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Processor</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.core-pysrc.html#Processor">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">Processor</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab</a></li><li>, <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">grapher.waveform_audiolab.WaveFormGrapherAudiolab</a></li><li>, <a href="timeside.decode.core.DecoderCore-class.html">decode.core.DecoderCore</a></li><li>, <a href="timeside.tests.api.examples.Duration-class.html">tests.api.examples.Duration</a></li><li>, <a href="timeside.tests.api.examples.FileDecoder-class.html">tests.api.examples.FileDecoder</a></li><li>, <a href="timeside.tests.api.examples.FixedInputProcessor-class.html">tests.api.examples.FixedInputProcessor</a></li><li>, <a href="timeside.tests.api.examples.Gain-class.html">tests.api.examples.Gain</a></li><li>, <a href="timeside.tests.api.examples.MaxLevel-class.html">tests.api.examples.MaxLevel</a></li><li>, <a href="timeside.tests.api.examples.Spectrogram-class.html">tests.api.examples.Spectrogram</a></li><li>, <a href="timeside.tests.api.examples.WavEncoder-class.html">tests.api.examples.WavEncoder</a></li><li>, <a href="timeside.tests.api.examples.Waveform-class.html">tests.api.examples.Waveform</a></li><li>, <a href="timeside.tests.api.gstreamer.FileDecoder-class.html">tests.api.gstreamer.FileDecoder</a></li><li>, <a href="timeside.tests.api.gstreamer.WavEncoder-class.html">tests.api.gstreamer.WavEncoder</a></li><li>, <a href="timeside.analyze.core.AudioProcessor-class.html">analyze.core.AudioProcessor</a></li><li>, <a href="timeside.encode.core.EncoderCore-class.html">encode.core.EncoderCore</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Base component class of all processors</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.core.MetaProcessor-class.html" class="summary-name">__metaclass__</a><br />
+ Metaclass of the Processor class, used mainly for ensuring that
+ processor id's are wellformed and unique
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.__del__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__or__"></a><span class="summary-sig-name">__or__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">other</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.__or__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#channels" class="summary-sig-name">channels</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Number of channels in the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.channels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#nframes" class="summary-sig-name">nframes</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ The total number of frames that this processor can output, or None if
+ the duration is unknown.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#release" class="summary-sig-name">release</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Release resources owned by this processor.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.release">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#samplerate" class="summary-sig-name">samplerate</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Samplerate of the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.samplerate">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.core.Processor-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.core-pysrc.html#Processor.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="channels"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">channels</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.channels">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Number of channels in the data returned by process(). May be different
+ from the number of channels passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="nframes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">nframes</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.nframes">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>The total number of frames that this processor can output, or None if
+ the duration is unknown.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="release"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">release</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.release">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Release resources owned by this processor. The processor cannot be
+ used anymore after calling this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="samplerate"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">samplerate</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.samplerate">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Samplerate of the data returned by process(). May be different from
+ the samplerate passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.core-pysrc.html#Processor.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package decode
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package decode</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.decode.core-module.html">timeside.decode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.flac-module.html">timeside.decode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.mp3-module.html">timeside.decode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.ogg-module.html">timeside.decode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.decode.wav-module.html">timeside.decode.wav</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package decode
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode-module.html">Package timeside.decode</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-4', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.decode.ogg=timeside.decode.ogg-module.html,Module timeside.encode.ogg=timeside.encode.ogg-module.html"><a title="timeside.decode.ogg
+timeside.encode.ogg" class="py-name" href="#" onclick="return doclink('link-5', 'ogg', 'link-5');">ogg</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-7', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.decode.flac=timeside.decode.flac-module.html,Module timeside.encode.flac=timeside.encode.flac-module.html"><a title="timeside.decode.flac
+timeside.encode.flac" class="py-name" href="#" onclick="return doclink('link-8', 'flac', 'link-8');">flac</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-9', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-10', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Module timeside.decode.wav=timeside.decode.wav-module.html,Module timeside.encode.wav=timeside.encode.wav-module.html"><a title="timeside.decode.wav
+timeside.encode.wav" class="py-name" href="#" onclick="return doclink('link-11', 'wav', 'link-11');">wav</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-12" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-12', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-13', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module timeside.decode.mp3=timeside.decode.mp3-module.html,Module timeside.encode.mp3=timeside.encode.mp3-module.html"><a title="timeside.decode.mp3
+timeside.encode.mp3" class="py-name" href="#" onclick="return doclink('link-14', 'mp3', 'link-14');">mp3</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">8</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.core.SubProcessPipe-class.html" class="summary-name">SubProcessPipe</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.core.DecoderCore-class.html" class="summary-name">DecoderCore</a><br />
+ Defines the main parts of the decoding tools : paths, metadata
+ parsing, data streaming thru system command
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode.core-module.html">Module timeside.decode.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#!/usr/bin/python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-3', 'core', 'link-3');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="SubProcessPipe"></a><div id="SubProcessPipe-def"><a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="SubProcessPipe-toggle" onclick="return toggle('SubProcessPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.core.SubProcessPipe-class.html">SubProcessPipe</a><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessPipe-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="SubProcessPipe-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="SubProcessPipe.__init__"></a><div id="SubProcessPipe.__init__-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="SubProcessPipe.__init__-toggle" onclick="return toggle('SubProcessPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.core.SubProcessPipe-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">stdin</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessPipe.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SubProcessPipe.__init__-expanded"><a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-docstring">"""Read media and stream data through a generator.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt class="py-docstring"> Taken from Telemeta (see http://telemeta.org)"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0xFFFF</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">stdin</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-4', 'encode', 'link-4');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-name">shell</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">stdin</tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">close_fds</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt> </tt>
+</div></div><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="DecoderCore"></a><div id="DecoderCore-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="DecoderCore-toggle" onclick="return toggle('DecoderCore');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.core.DecoderCore-class.html">DecoderCore</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DecoderCore-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="DecoderCore-expanded"><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines the main parts of the decoding tools :</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-docstring"> paths, metadata parsing, data streaming thru system command"""</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> </tt>
+<a name="DecoderCore.__init__"></a><div id="DecoderCore.__init__-def"><a name="L53"></a><tt class="py-lineno">53</tt> <a class="py-toggle" href="#" id="DecoderCore.__init__-toggle" onclick="return toggle('DecoderCore.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.core.DecoderCore-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DecoderCore.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DecoderCore.__init__-expanded"><a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'ffmpeg -i "%s" -f wav - '</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> </tt>
+<a name="DecoderCore.process"></a><div id="DecoderCore.process-def"><a name="L56"></a><tt class="py-lineno">56</tt> <a class="py-toggle" href="#" id="DecoderCore.process-toggle" onclick="return toggle('DecoderCore.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.core.DecoderCore-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DecoderCore.process-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DecoderCore.process-expanded"><a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-docstring">"""Encode and stream audio data through a generator"""</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command</tt> <tt class="py-op">%</tt> <tt id="link-5" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-5', 'source', 'link-5');">source</a></tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-name">proc</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name" targets="Class timeside.decode.core.SubProcessPipe=timeside.decode.core.SubProcessPipe-class.html,Class timeside.encode.core.SubProcessPipe=timeside.encode.core.SubProcessPipe-class.html"><a title="timeside.decode.core.SubProcessPipe
+timeside.encode.core.SubProcessPipe" class="py-name" href="#" onclick="return doclink('link-6', 'SubProcessPipe', 'link-6');">SubProcessPipe</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">output</tt> </tt>
+</div></div><a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-comment">#while True:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#__chunk = proc.output.read(self.proc.buffer_size)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#status = proc.poll()</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#if status != None and status != 0:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#raise ExportProcessError('Command failure:', command, proc)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#if len(__chunk) == 0:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#break</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#yield __chunk</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.core.DecoderCore</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.core-module.html">Module core</a> ::
+ Class DecoderCore
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.core.DecoderCore-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class DecoderCore</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.core-pysrc.html#DecoderCore">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">DecoderCore</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.decode.mp3.Mp3Decoder-class.html">mp3.Mp3Decoder</a></li><li>, <a href="timeside.decode.ogg.OggDecoder-class.html">ogg.OggDecoder</a></li><li>, <a href="timeside.decode.wav.WavDecoder-class.html">wav.WavDecoder</a></li><li>, <a href="timeside.decode.flac.FlacDecoder-class.html">flac.FlacDecoder</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Defines the main parts of the decoding tools : paths, metadata
+ parsing, data streaming thru system command</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.decode.core.DecoderCore-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.core-pysrc.html#DecoderCore.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.decode.core.DecoderCore-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Encode and stream audio data through a generator</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.core-pysrc.html#DecoderCore.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.decode.core-pysrc.html#DecoderCore.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">source</span>,
+ <span class="sig-arg">options</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.decode.core-pysrc.html#DecoderCore.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Encode and stream audio data through a generator</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.core.SubProcessPipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.core-module.html">Module core</a> ::
+ Class SubProcessPipe
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.core.SubProcessPipe-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SubProcessPipe</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.core-pysrc.html#SubProcessPipe">source code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.decode.core.SubProcessPipe-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">command</span>,
+ <span class="summary-sig-arg">stdin</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Read media and stream data through a generator.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.core-pysrc.html#SubProcessPipe.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">command</span>,
+ <span class="sig-arg">stdin</span>=<span class="sig-default">None</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.decode.core-pysrc.html#SubProcessPipe.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Read media and stream data through a generator. Taken from Telemeta
+ (see http://telemeta.org)</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module flac
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.flac-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module flac</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.flac-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.flac.FlacDecoder-class.html" class="summary-name">FlacDecoder</a><br />
+ Defines methods to decode from FLAC
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module flac
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.flac-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode.flac-module.html">Module timeside.decode.flac</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-5', 'IDecoder', 'link-5');">IDecoder</a></tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mutagen</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.decode.flac=timeside.decode.flac-module.html,Module timeside.encode.flac=timeside.encode.flac-module.html"><a title="timeside.decode.flac
+timeside.encode.flac" class="py-name" href="#" onclick="return doclink('link-6', 'flac', 'link-6');">flac</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">FLAC</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">tempfile</tt> <tt class="py-keyword">import</tt> <tt class="py-name">NamedTemporaryFile</tt> </tt>
+<a name="FlacDecoder"></a><div id="FlacDecoder-def"><a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="FlacDecoder-toggle" onclick="return toggle('FlacDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html">FlacDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">DecoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="FlacDecoder-expanded"><a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to decode from FLAC"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt id="link-7" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-7', 'implements', 'link-7');">implements</a></tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-8', 'IDecoder', 'link-5');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="FlacDecoder.id"></a><div id="FlacDecoder.id-def"><a name="L37"></a><tt class="py-lineno">37</tt> <a class="py-toggle" href="#" id="FlacDecoder.id-toggle" onclick="return toggle('FlacDecoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.id-expanded"><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"flacdec"</tt> </tt>
+</div><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> </tt>
+<a name="FlacDecoder.format"></a><div id="FlacDecoder.format-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="FlacDecoder.format-toggle" onclick="return toggle('FlacDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.format-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.format-expanded"><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'FLAC'</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
+<a name="FlacDecoder.file_extension"></a><div id="FlacDecoder.file_extension-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="FlacDecoder.file_extension-toggle" onclick="return toggle('FlacDecoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.file_extension-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.file_extension-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'flac'</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
+<a name="FlacDecoder.mime_type"></a><div id="FlacDecoder.mime_type-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="FlacDecoder.mime_type-toggle" onclick="return toggle('FlacDecoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.mime_type-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.mime_type-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/x-flac'</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="FlacDecoder.description"></a><div id="FlacDecoder.description-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="FlacDecoder.description-toggle" onclick="return toggle('FlacDecoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.description-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.description-expanded"><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-string"> Free Lossless Audio Codec (FLAC) is a file format for lossless audio</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"><tt class="py-string"> data compression. During compression, FLAC does not lose quality from</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-string"> the audio stream, as lossy compression formats such as MP3, AAC, and</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-string"> Vorbis do. Josh Coalson is the primary author of FLAC.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-string"> (source Wikipedia)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> </tt>
+<a name="FlacDecoder.get_file_info"></a><div id="FlacDecoder.get_file_info-def"><a name="L58"></a><tt class="py-lineno">58</tt> <a class="py-toggle" href="#" id="FlacDecoder.get_file_info-toggle" onclick="return toggle('FlacDecoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.flac.FlacDecoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacDecoder.get_file_info-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FlacDecoder.get_file_info-expanded"><a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-name">file1</tt><tt class="py-op">,</tt> <tt class="py-name">file2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'metaflac --list "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'DecoderError: metaflac is not installed or '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-string">'file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.flac.FlacDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.flac-module.html">Module flac</a> ::
+ Class FlacDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.flac.FlacDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FlacDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a> --+
+ |
+ <strong class="uidshort">FlacDecoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to decode from FLAC</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a></code></b>:
+ <code><a href="timeside.decode.core.DecoderCore-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.decode.core.DecoderCore-class.html#process">process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.flac-pysrc.html#FlacDecoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module mp3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.mp3-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mp3</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.mp3-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.mp3.Mp3Decoder-class.html" class="summary-name">Mp3Decoder</a><br />
+ Defines methods to decode from MP3
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module mp3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.mp3-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode.mp3-module.html">Module timeside.decode.mp3</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2007 Parisson SARL</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2006-2007 Guillaume Pellerin <pellerin@parisson.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-5', 'IDecoder', 'link-5');">IDecoder</a></tt> </tt>
+<a name="Mp3Decoder"></a><div id="Mp3Decoder-def"><a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="Mp3Decoder-toggle" onclick="return toggle('Mp3Decoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html">Mp3Decoder</a><tt class="py-op">(</tt><tt class="py-base-class">DecoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Mp3Decoder-expanded"><a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to decode from MP3"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-7', 'IDecoder', 'link-5');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.__init__"></a><div id="Mp3Decoder.__init__-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="Mp3Decoder.__init__-toggle" onclick="return toggle('Mp3Decoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.__init__-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'sox -t mp3 "%s" -q -b 16 -r 44100 -t wav -c2 - '</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="Mp3Decoder.id"></a><div id="Mp3Decoder.id-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="Mp3Decoder.id-toggle" onclick="return toggle('Mp3Decoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.id-expanded"><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"mp3dec"</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.format"></a><div id="Mp3Decoder.format-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="Mp3Decoder.format-toggle" onclick="return toggle('Mp3Decoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.format-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.format-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'MP3'</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.file_extension"></a><div id="Mp3Decoder.file_extension-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="Mp3Decoder.file_extension-toggle" onclick="return toggle('Mp3Decoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.file_extension-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.file_extension-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'mp3'</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.mime_type"></a><div id="Mp3Decoder.mime_type-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="Mp3Decoder.mime_type-toggle" onclick="return toggle('Mp3Decoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.mime_type-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.mime_type-expanded"><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/mpeg'</tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.description"></a><div id="Mp3Decoder.description-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="Mp3Decoder.description-toggle" onclick="return toggle('Mp3Decoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.description-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.description-expanded"><a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-string"> MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a patented</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-string"> digital audio encoding format using a form of lossy data compression.</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-string"> It is a common audio format for consumer audio storage, as well as a</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"><tt class="py-string"> de facto standard of digital audio compression for the transfer and</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"><tt class="py-string"> playback of music on digital audio players. MP3 is an audio-specific</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"><tt class="py-string"> format that was designed by the Moving Picture Experts Group as part</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"><tt class="py-string"> of its MPEG-1 standard. (source Wikipedia)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> </tt>
+<a name="Mp3Decoder.get_file_info"></a><div id="Mp3Decoder.get_file_info-def"><a name="L63"></a><tt class="py-lineno">63</tt> <a class="py-toggle" href="#" id="Mp3Decoder.get_file_info-toggle" onclick="return toggle('Mp3Decoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.mp3.Mp3Decoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Decoder.get_file_info-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Mp3Decoder.get_file_info-expanded"><a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-name">file_out1</tt><tt class="py-op">,</tt> <tt class="py-name">file_out2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'mp3info "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_out2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'DecoderError: file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L73"></a><tt class="py-lineno">73</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.mp3.Mp3Decoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.mp3-module.html">Module mp3</a> ::
+ Class Mp3Decoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.mp3.Mp3Decoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Mp3Decoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a> --+
+ |
+ <strong class="uidshort">Mp3Decoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to decode from MP3</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.decode.mp3.Mp3Decoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a></code></b>:
+ <code><a href="timeside.decode.core.DecoderCore-class.html#process">process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.decode.mp3-pysrc.html#Mp3Decoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module ogg
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.ogg-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module ogg</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.ogg-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.ogg.OggDecoder-class.html" class="summary-name">OggDecoder</a><br />
+ Defines methods to decode from OGG Vorbis
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module ogg
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.ogg-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode.ogg-module.html">Module timeside.decode.ogg</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-5', 'IDecoder', 'link-5');">IDecoder</a></tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mutagen</tt><tt class="py-op">.</tt><tt class="py-name">oggvorbis</tt> <tt class="py-keyword">import</tt> <tt class="py-name">OggVorbis</tt> </tt>
+<a name="OggDecoder"></a><div id="OggDecoder-def"><a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <a class="py-toggle" href="#" id="OggDecoder-toggle" onclick="return toggle('OggDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html">OggDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">DecoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="OggDecoder-expanded"><a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to decode from OGG Vorbis"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-7', 'IDecoder', 'link-5');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="OggDecoder.id"></a><div id="OggDecoder.id-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="OggDecoder.id-toggle" onclick="return toggle('OggDecoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.id-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"oggdec"</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="OggDecoder.format"></a><div id="OggDecoder.format-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="OggDecoder.format-toggle" onclick="return toggle('OggDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.format-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.format-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'OggVorbis'</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
+<a name="OggDecoder.file_extension"></a><div id="OggDecoder.file_extension-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="OggDecoder.file_extension-toggle" onclick="return toggle('OggDecoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.file_extension-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.file_extension-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'ogg'</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt>
+<a name="OggDecoder.mime_type"></a><div id="OggDecoder.mime_type-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="OggDecoder.mime_type-toggle" onclick="return toggle('OggDecoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.mime_type-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.mime_type-expanded"><a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'application/ogg'</tt> </tt>
+</div><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> </tt>
+<a name="OggDecoder.description"></a><div id="OggDecoder.description-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="OggDecoder.description-toggle" onclick="return toggle('OggDecoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.description-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.description-expanded"><a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt class="py-string"> Vorbis is a free software / open source project headed by the Xiph.Org</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-string"> Foundation (formerly Xiphophorus company). The project produces an audio</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"><tt class="py-string"> format specification and software implementation (codec) for lossy audio</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-string"> compression. Vorbis is most commonly used in conjunction with the Ogg</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-string"> container format and it is therefore often referred to as Ogg Vorbis.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-string"> (source Wikipedia)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> </tt>
+<a name="OggDecoder.get_file_info"></a><div id="OggDecoder.get_file_info-def"><a name="L58"></a><tt class="py-lineno">58</tt> <a class="py-toggle" href="#" id="OggDecoder.get_file_info-toggle" onclick="return toggle('OggDecoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.ogg.OggDecoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggDecoder.get_file_info-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="OggDecoder.get_file_info-expanded"><a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-name">file_out1</tt><tt class="py-op">,</tt> <tt class="py-name">file_out2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'ogginfo "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_out2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'DecoderError: file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.ogg.OggDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.ogg-module.html">Module ogg</a> ::
+ Class OggDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.ogg.OggDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OggDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a> --+
+ |
+ <strong class="uidshort">OggDecoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to decode from OGG Vorbis</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a></code></b>:
+ <code><a href="timeside.decode.core.DecoderCore-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.decode.core.DecoderCore-class.html#process">process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.ogg-pysrc.html#OggDecoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module wav
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.wav-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module wav</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.wav-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.decode.wav.WavDecoder-class.html" class="summary-name">WavDecoder</a><br />
+ Defines methods to decode from WAV
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ Module wav
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.wav-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.decode.wav-module.html">Module timeside.decode.wav</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.decode=timeside.decode-module.html"><a title="timeside.decode" class="py-name" href="#" onclick="return doclink('link-1', 'decode', 'link-1');">decode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-5', 'IDecoder', 'link-5');">IDecoder</a></tt> </tt>
+<a name="WavDecoder"></a><div id="WavDecoder-def"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="WavDecoder-toggle" onclick="return toggle('WavDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html">WavDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">DecoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="WavDecoder-expanded"><a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to decode from WAV"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-7', 'IDecoder', 'link-5');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="WavDecoder.id"></a><div id="WavDecoder.id-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="WavDecoder.id-toggle" onclick="return toggle('WavDecoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.id-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"wavdec"</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="WavDecoder.format"></a><div id="WavDecoder.format-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="WavDecoder.format-toggle" onclick="return toggle('WavDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.format-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.format-expanded"><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'WAV'</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt>
+<a name="WavDecoder.file_extension"></a><div id="WavDecoder.file_extension-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="WavDecoder.file_extension-toggle" onclick="return toggle('WavDecoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.file_extension-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.file_extension-expanded"><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'wav'</tt> </tt>
+</div><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> </tt>
+<a name="WavDecoder.mime_type"></a><div id="WavDecoder.mime_type-def"><a name="L44"></a><tt class="py-lineno">44</tt> <a class="py-toggle" href="#" id="WavDecoder.mime_type-toggle" onclick="return toggle('WavDecoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.mime_type-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.mime_type-expanded"><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/x-wav'</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> </tt>
+<a name="WavDecoder.description"></a><div id="WavDecoder.description-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="WavDecoder.description-toggle" onclick="return toggle('WavDecoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.description-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.description-expanded"><a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"><tt class="py-string"> WAV (or WAVE), short for Waveform audio format, also known as Audio for</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt class="py-string"> Windows, is a Microsoft and IBM audio file format standard for storing</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-string"> an audio bitstream on PCs. It is an application of the RIFF bitstream</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"><tt class="py-string"> format method for storing data in “chunks”, and thus is also close to</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-string"> the 8SVX and the AIFF format used on Amiga and Macintosh computers,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-string"> respectively. It is the main format used on Windows systems for raw and</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-string"> typically uncompressed audio. The usual bitstream encoding is the Pulse</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-string"> Code Modulation (PCM) format.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> </tt>
+<a name="WavDecoder.get_file_info"></a><div id="WavDecoder.get_file_info-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="WavDecoder.get_file_info-toggle" onclick="return toggle('WavDecoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.decode.wav.WavDecoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavDecoder.get_file_info-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavDecoder.get_file_info-expanded"><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-name">file1</tt><tt class="py-op">,</tt> <tt class="py-name">file2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'wavinfo "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'DecoderError: wavinfo id not installed or file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.decode.wav.WavDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.decode-module.html">Package decode</a> ::
+ <a href="timeside.decode.wav-module.html">Module wav</a> ::
+ Class WavDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.decode.wav.WavDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WavDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a> --+
+ |
+ <strong class="uidshort">WavDecoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to decode from WAV</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.decode.core.DecoderCore-class.html">core.DecoderCore</a></code></b>:
+ <code><a href="timeside.decode.core.DecoderCore-class.html#__init__">__init__</a></code>,
+ <code><a href="timeside.decode.core.DecoderCore-class.html#process">process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.decode.wav-pysrc.html#WavDecoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package encode
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package encode</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.encode.core-module.html">timeside.encode.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.flac-module.html">timeside.encode.flac</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.mp3-module.html">timeside.encode.mp3</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.ogg-module.html">timeside.encode.ogg</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.encode.wav-module.html">timeside.encode.wav</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package encode
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode-module.html">Package timeside.encode</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-4', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.decode.ogg=timeside.decode.ogg-module.html,Module timeside.encode.ogg=timeside.encode.ogg-module.html"><a title="timeside.decode.ogg
+timeside.encode.ogg" class="py-name" href="#" onclick="return doclink('link-5', 'ogg', 'link-5');">ogg</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-7', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.decode.wav=timeside.decode.wav-module.html,Module timeside.encode.wav=timeside.encode.wav-module.html"><a title="timeside.decode.wav
+timeside.encode.wav" class="py-name" href="#" onclick="return doclink('link-8', 'wav', 'link-8');">wav</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-9', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-10', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Module timeside.decode.mp3=timeside.decode.mp3-module.html,Module timeside.encode.mp3=timeside.encode.mp3-module.html"><a title="timeside.decode.mp3
+timeside.encode.mp3" class="py-name" href="#" onclick="return doclink('link-11', 'mp3', 'link-11');">mp3</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-12" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-12', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-13', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Module timeside.decode.flac=timeside.decode.flac-module.html,Module timeside.encode.flac=timeside.encode.flac-module.html"><a title="timeside.decode.flac
+timeside.encode.flac" class="py-name" href="#" onclick="return doclink('link-14', 'flac', 'link-14');">flac</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">8</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.core.SubProcessPipe-class.html" class="summary-name">SubProcessPipe</a><br />
+ Read media and stream data through a generator.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.core.EncoderCore-class.html" class="summary-name">EncoderCore</a><br />
+ Defines the main parts of the encoding tools : paths, metadata
+ parsing, data streaming thru system command
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode.core-module.html">Module timeside.encode.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#!/usr/bin/python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-3', 'core', 'link-3');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="SubProcessPipe"></a><div id="SubProcessPipe-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="SubProcessPipe-toggle" onclick="return toggle('SubProcessPipe');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.core.SubProcessPipe-class.html">SubProcessPipe</a><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessPipe-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="SubProcessPipe-expanded"><a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-docstring">"""Read media and stream data through a generator.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt class="py-docstring"> Taken from Telemeta (see http://telemeta.org)"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
+<a name="SubProcessPipe.__init__"></a><div id="SubProcessPipe.__init__-def"><a name="L33"></a><tt class="py-lineno">33</tt> <a class="py-toggle" href="#" id="SubProcessPipe.__init__-toggle" onclick="return toggle('SubProcessPipe.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.core.SubProcessPipe-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">stdin</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessPipe.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SubProcessPipe.__init__-expanded"><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0xFFFF</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">stdin</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-4', 'encode', 'link-1');">encode</a></tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-name">shell</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">bufsize</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">stdin</tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-name">stdout</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">PIPE</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">close_fds</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt> </tt>
+</div></div><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> </tt>
+<a name="EncoderCore"></a><div id="EncoderCore-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="EncoderCore-toggle" onclick="return toggle('EncoderCore');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.core.EncoderCore-class.html">EncoderCore</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncoderCore-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="EncoderCore-expanded"><a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines the main parts of the encoding tools :</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt class="py-docstring"> paths, metadata parsing, data streaming thru system command"""</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> </tt>
+<a name="EncoderCore.core_process"></a><div id="EncoderCore.core_process-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="EncoderCore.core_process-toggle" onclick="return toggle('EncoderCore.core_process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.core.EncoderCore-class.html#core_process">core_process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">stdin</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="EncoderCore.core_process-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="EncoderCore.core_process-expanded"><a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-docstring">"""Encode and stream audio data through a generator"""</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-name">proc</tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name" targets="Class timeside.decode.core.SubProcessPipe=timeside.decode.core.SubProcessPipe-class.html,Class timeside.encode.core.SubProcessPipe=timeside.encode.core.SubProcessPipe-class.html"><a title="timeside.decode.core.SubProcessPipe
+timeside.encode.core.SubProcessPipe" class="py-name" href="#" onclick="return doclink('link-5', 'SubProcessPipe', 'link-5');">SubProcessPipe</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">stdin</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-name">__chunk</tt> <tt class="py-op">=</tt> <tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">output</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">proc</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-comment">#status = proc.poll()</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#if status != None and status != 0:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#raise EncodeProcessError('Command failure:', command, proc)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">__chunk</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+</div></div><a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.core.EncoderCore</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.core-module.html">Module core</a> ::
+ Class EncoderCore
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.core.EncoderCore-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class EncoderCore</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.core-pysrc.html#EncoderCore">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">EncoderCore</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.encode.wav.WavEncoder-class.html">wav.WavEncoder</a></li><li>, <a href="timeside.encode.mp3.Mp3Encoder-class.html">mp3.Mp3Encoder</a></li><li>, <a href="timeside.encode.flac.FlacEncoder-class.html">flac.FlacEncoder</a></li><li>, <a href="timeside.encode.ogg.OggVorbisEncoder-class.html">ogg.OggVorbisEncoder</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Defines the main parts of the encoding tools : paths, metadata
+ parsing, data streaming thru system command</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="core_process"></a><span class="summary-sig-name">core_process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">command</span>,
+ <span class="summary-sig-arg">stdin</span>)</span><br />
+ Encode and stream audio data through a generator</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.core-pysrc.html#EncoderCore.core_process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.core.SubProcessPipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.core-module.html">Module core</a> ::
+ Class SubProcessPipe
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.core.SubProcessPipe-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SubProcessPipe</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.core-pysrc.html#SubProcessPipe">source code</a></span></p>
+<p>Read media and stream data through a generator. Taken from Telemeta
+ (see http://telemeta.org)</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">command</span>,
+ <span class="summary-sig-arg">stdin</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.core-pysrc.html#SubProcessPipe.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module flac
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.flac-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module flac</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.flac-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.flac.FlacEncoder-class.html" class="summary-name">FlacEncoder</a><br />
+ Defines methods to encode to FLAC
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module flac
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.flac-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode.flac-module.html">Module timeside.encode.flac</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-5', 'IEncoder', 'link-5');">IEncoder</a></tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">tempfile</tt> <tt class="py-keyword">import</tt> <tt class="py-name">NamedTemporaryFile</tt> </tt>
+<a name="FlacEncoder"></a><div id="FlacEncoder-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="FlacEncoder-toggle" onclick="return toggle('FlacEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html">FlacEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">EncoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FlacEncoder-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to encode to FLAC"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-7', 'IEncoder', 'link-5');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.__init__"></a><div id="FlacEncoder.__init__-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="FlacEncoder.__init__-toggle" onclick="return toggle('FlacEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.__init__-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">quality_default</tt> <tt class="py-op">=</tt> <tt class="py-string">'-5'</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'creator'</tt><tt class="py-op">:</tt> <tt class="py-string">'artist'</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-string">'relation'</tt><tt class="py-op">:</tt> <tt class="py-string">'album'</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="FlacEncoder.id"></a><div id="FlacEncoder.id-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="FlacEncoder.id-toggle" onclick="return toggle('FlacEncoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.id-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"flacenc"</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.format"></a><div id="FlacEncoder.format-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="FlacEncoder.format-toggle" onclick="return toggle('FlacEncoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.format-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'FLAC'</tt> </tt>
+</div><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.file_extension"></a><div id="FlacEncoder.file_extension-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="FlacEncoder.file_extension-toggle" onclick="return toggle('FlacEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.file_extension-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'flac'</tt> </tt>
+</div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.mime_type"></a><div id="FlacEncoder.mime_type-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="FlacEncoder.mime_type-toggle" onclick="return toggle('FlacEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.mime_type-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/x-flac'</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.description"></a><div id="FlacEncoder.description-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="FlacEncoder.description-toggle" onclick="return toggle('FlacEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.description-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-string"> Free Lossless Audio Codec (FLAC) is a file format for lossless audio</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-string"> data compression.</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.get_file_info"></a><div id="FlacEncoder.get_file_info-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="FlacEncoder.get_file_info-toggle" onclick="return toggle('FlacEncoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.get_file_info-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.get_file_info-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">file1</tt><tt class="py-op">,</tt> <tt class="py-name">file2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'metaflac --list "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: metaflac is not installed or '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-string">'file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.write_tags"></a><div id="FlacEncoder.write_tags-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="FlacEncoder.write_tags-toggle" onclick="return toggle('FlacEncoder.write_tags');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#write_tags">write_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.write_tags-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.write_tags-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">mutagen</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.decode.flac=timeside.decode.flac-module.html,Module timeside.encode.flac=timeside.encode.flac-module.html"><a title="timeside.decode.flac
+timeside.encode.flac" class="py-name" href="#" onclick="return doclink('link-8', 'flac', 'link-8');">flac</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">FLAC</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">media</tt> <tt class="py-op">=</tt> <tt class="py-name">FLAC</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-9', 'metadata', 'link-9');">metadata</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-10', 'name', 'link-10');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-11" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-11', 'name', 'link-10');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-12', 'name', 'link-10');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">[</tt><tt id="link-13" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-13', 'name', 'link-10');">name</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-14" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-10');">name</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'comment'</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">media</tt><tt class="py-op">[</tt><tt class="py-string">'DESCRIPTION'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">media</tt><tt class="py-op">[</tt><tt id="link-15" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-15', 'name', 'link-10');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.save()=timeside.grapher.core.SpectrogramImage-class.html#save,Method timeside.grapher.core.WaveformImage.save()=timeside.grapher.core.WaveformImage-class.html#save"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-16', 'save', 'link-16');">save</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: cannot write tags.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.get_args"></a><div id="FlacEncoder.get_args-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="FlacEncoder.get_args-toggle" onclick="return toggle('FlacEncoder.get_args');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#get_args">get_args</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.get_args-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.get_args-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-docstring">"""Get process options and return arguments for the encoder"""</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">options</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-string">'verbose'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'verbose'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'0'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-s'</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'flac_quality'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-f '</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'flac_quality'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-f '</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">quality_default</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-s -f '</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">quality_default</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-comment">#for tag in self.metadata.keys():</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#value = clean_word(self.metadata[tag])</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#args.append('-c %s="%s"' % (tag, value))</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#if tag in self.dub2args_dict.keys():</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#arg = self.dub2args_dict[tag]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#args.append('-c %s="%s"' % (arg, value))</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">args</tt> </tt>
+</div><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> </tt>
+<a name="FlacEncoder.process"></a><div id="FlacEncoder.process-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="FlacEncoder.process-toggle" onclick="return toggle('FlacEncoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.flac.FlacEncoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlacEncoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlacEncoder.process-expanded"><a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-number">0xFFFF</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-17', 'metadata', 'link-9');">metadata</a></tt><tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-18', 'metadata', 'link-9');">metadata</a></tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method timeside.encode.flac.FlacEncoder.get_args()=timeside.encode.flac.FlacEncoder-class.html#get_args,Method timeside.encode.mp3.Mp3Encoder.get_args()=timeside.encode.mp3.Mp3Encoder-class.html#get_args,Method timeside.encode.ogg.OggVorbisEncoder.get_args()=timeside.encode.ogg.OggVorbisEncoder-class.html#get_args"><a title="timeside.encode.flac.FlacEncoder.get_args
+timeside.encode.mp3.Mp3Encoder.get_args
+timeside.encode.ogg.OggVorbisEncoder.get_args" class="py-name" href="#" onclick="return doclink('link-19', 'get_args', 'link-19');">get_args</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">ext</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Static Method timeside.api.IEncoder.file_extension()=timeside.api.IEncoder-class.html#file_extension,Method timeside.decode.flac.FlacDecoder.file_extension()=timeside.decode.flac.FlacDecoder-class.html#file_extension,Method timeside.decode.mp3.Mp3Decoder.file_extension()=timeside.decode.mp3.Mp3Decoder-class.html#file_extension,Method timeside.decode.ogg.OggDecoder.file_extension()=timeside.decode.ogg.OggDecoder-class.html#file_extension,Method timeside.decode.wav.WavDecoder.file_extension()=timeside.decode.wav.WavDecoder-class.html#file_extension,Method timeside.encode.flac.FlacEncoder.file_extension()=timeside.encode.flac.FlacEncoder-class.html#file_extension,Method timeside.encode.mp3.Mp3Encoder.file_extension()=timeside.encode.mp3.Mp3Encoder-class.html#file_extension,Method timeside.encode.ogg.OggVorbisEncoder.file_extension()=timeside.encode.ogg.OggVorbisEncoder-class.html#file_extension,Method timeside.encode.wav.WavEncoder.file_extension()=timeside.encode.wav.WavEncoder-class.html#file_extension,Static Method timeside.tests.api.examples.WavEncoder.file_extension()=timeside.tests.api.examples.WavEncoder-class.html#file_extension,Static Method timeside.tests.api.gstreamer.WavEncoder.file_extension()=timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension"><a title="timeside.api.IEncoder.file_extension
+timeside.decode.flac.FlacDecoder.file_extension
+timeside.decode.mp3.Mp3Decoder.file_extension
+timeside.decode.ogg.OggDecoder.file_extension
+timeside.decode.wav.WavDecoder.file_extension
+timeside.encode.flac.FlacEncoder.file_extension
+timeside.encode.mp3.Mp3Encoder.file_extension
+timeside.encode.ogg.OggVorbisEncoder.file_extension
+timeside.encode.wav.WavEncoder.file_extension
+timeside.tests.api.examples.WavEncoder.file_extension
+timeside.tests.api.gstreamer.WavEncoder.file_extension" class="py-name" href="#" onclick="return doclink('link-20', 'file_extension', 'link-20');">file_extension</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">temp_file</tt> <tt class="py-op">=</tt> <tt class="py-name">NamedTemporaryFile</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'flac %s - -o %s '</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">temp_file</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-21', 'name', 'link-10');">name</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.core_process()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process,Method timeside.encode.core.EncoderCore.core_process()=timeside.encode.core.EncoderCore-class.html#core_process"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-22', 'core_process', 'link-22');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-23', 'source', 'link-23');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">__chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-comment">#temp_file.write(__chunk)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#temp_file.flush()</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">pass</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-comment">#self.write_tags(temp_file.name)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">__chunk</tt> <tt class="py-op">=</tt> <tt class="py-name">temp_file</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-24', 'read', 'link-24');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">buffer_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">__chunk</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">temp_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.flac.FlacEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.flac-module.html">Module flac</a> ::
+ Class FlacEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.flac.FlacEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FlacEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a> --+
+ |
+ <strong class="uidshort">FlacEncoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to encode to FLAC</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.flac.FlacEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="write_tags"></a><span class="summary-sig-name">write_tags</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">file</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.write_tags">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_args"></a><span class="summary-sig-name">get_args</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Get process options and return arguments for the encoder</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.get_args">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.flac.FlacEncoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">metadata</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a></code></b>:
+ <code><a href="timeside.encode.core.EncoderCore-class.html#core_process">core_process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">source</span>,
+ <span class="sig-arg">metadata</span>,
+ <span class="sig-arg">options</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.flac-pysrc.html#FlacEncoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module mp3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.mp3-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mp3</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.mp3-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.mp3.Mp3Encoder-class.html" class="summary-name">Mp3Encoder</a><br />
+ Defines methods to encode to MP3
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module mp3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.mp3-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode.mp3-module.html">Module timeside.encode.mp3</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2007 Parisson SARL</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2006-2007 Guillaume Pellerin <pellerin@parisson.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-5', 'IEncoder', 'link-5');">IEncoder</a></tt> </tt>
+<a name="Mp3Encoder"></a><div id="Mp3Encoder-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="Mp3Encoder-toggle" onclick="return toggle('Mp3Encoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html">Mp3Encoder</a><tt class="py-op">(</tt><tt class="py-base-class">EncoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Mp3Encoder-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to encode to MP3"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-7', 'IEncoder', 'link-5');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.__init__"></a><div id="Mp3Encoder.__init__-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="Mp3Encoder.__init__-toggle" onclick="return toggle('Mp3Encoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.__init__-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bitrate_default</tt> <tt class="py-op">=</tt> <tt class="py-string">'192'</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2id3_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'title'</tt><tt class="py-op">:</tt> <tt class="py-string">'TIT2'</tt><tt class="py-op">,</tt> <tt class="py-comment">#title2</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-string">'creator'</tt><tt class="py-op">:</tt> <tt class="py-string">'TCOM'</tt><tt class="py-op">,</tt> <tt class="py-comment">#composer</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-string">'creator'</tt><tt class="py-op">:</tt> <tt class="py-string">'TPE1'</tt><tt class="py-op">,</tt> <tt class="py-comment">#lead</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-string">'identifier'</tt><tt class="py-op">:</tt> <tt class="py-string">'UFID'</tt><tt class="py-op">,</tt> <tt class="py-comment">#Unique ID...</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-string">'identifier'</tt><tt class="py-op">:</tt> <tt class="py-string">'TALB'</tt><tt class="py-op">,</tt> <tt class="py-comment">#album</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'TCON'</tt><tt class="py-op">,</tt> <tt class="py-comment">#genre</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-string">'publisher'</tt><tt class="py-op">:</tt> <tt class="py-string">'TPUB'</tt><tt class="py-op">,</tt> <tt class="py-comment">#comment</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-comment">#'date': 'TYER', #year</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'title'</tt><tt class="py-op">:</tt> <tt class="py-string">'tt'</tt><tt class="py-op">,</tt> <tt class="py-comment">#title2</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-string">'creator'</tt><tt class="py-op">:</tt> <tt class="py-string">'ta'</tt><tt class="py-op">,</tt> <tt class="py-comment">#composerS</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-string">'relation'</tt><tt class="py-op">:</tt> <tt class="py-string">'tl'</tt><tt class="py-op">,</tt> <tt class="py-comment">#album</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-comment">#'type': 'tg', #genre</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-string">'publisher'</tt><tt class="py-op">:</tt> <tt class="py-string">'tc'</tt><tt class="py-op">,</tt> <tt class="py-comment">#comment</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-string">'date'</tt><tt class="py-op">:</tt> <tt class="py-string">'ty'</tt><tt class="py-op">,</tt> <tt class="py-comment">#year</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="Mp3Encoder.id"></a><div id="Mp3Encoder.id-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="Mp3Encoder.id-toggle" onclick="return toggle('Mp3Encoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.id-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"mp3enc"</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.format"></a><div id="Mp3Encoder.format-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="Mp3Encoder.format-toggle" onclick="return toggle('Mp3Encoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.format-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'MP3'</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.file_extension"></a><div id="Mp3Encoder.file_extension-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="Mp3Encoder.file_extension-toggle" onclick="return toggle('Mp3Encoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.file_extension-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'mp3'</tt> </tt>
+</div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.mime_type"></a><div id="Mp3Encoder.mime_type-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="Mp3Encoder.mime_type-toggle" onclick="return toggle('Mp3Encoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.mime_type-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/mpeg'</tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.description"></a><div id="Mp3Encoder.description-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="Mp3Encoder.description-toggle" onclick="return toggle('Mp3Encoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.description-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-string"> MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a patented</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-string"> digital audio encoding format using a form of lossy data compression.</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.get_file_info"></a><div id="Mp3Encoder.get_file_info-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="Mp3Encoder.get_file_info-toggle" onclick="return toggle('Mp3Encoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.get_file_info-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.get_file_info-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">file_out1</tt><tt class="py-op">,</tt> <tt class="py-name">file_out2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'mp3info "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_out2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.write_tags"></a><div id="Mp3Encoder.write_tags-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="Mp3Encoder.write_tags-toggle" onclick="return toggle('Mp3Encoder.write_tags');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#write_tags">write_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.write_tags-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.write_tags-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-docstring">"""Write all ID3v2.4 tags by mapping dub2id3_dict dictionnary with the</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> respect of mutagen classes and methods"""</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">mutagen</tt> <tt class="py-keyword">import</tt> <tt class="py-name">id3</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">id3</tt> <tt class="py-op">=</tt> <tt class="py-name">id3</tt><tt class="py-op">.</tt><tt class="py-name">ID3</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-8', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2id3_dict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">frame_text</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2id3_dict</tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-9', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">frame</tt> <tt class="py-op">=</tt> <tt class="py-name">mutagen</tt><tt class="py-op">.</tt><tt class="py-name">id3</tt><tt class="py-op">.</tt><tt class="py-name">Frames</tt><tt class="py-op">[</tt><tt class="py-name">frame_text</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">id3</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: cannot tag "'</tt><tt class="py-op">+</tt><tt class="py-name">tag</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">id3</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.save()=timeside.grapher.core.SpectrogramImage-class.html#save,Method timeside.grapher.core.WaveformImage.save()=timeside.grapher.core.WaveformImage-class.html#save"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-10', 'save', 'link-10');">save</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: cannot write tags'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.get_args"></a><div id="Mp3Encoder.get_args-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="Mp3Encoder.get_args-toggle" onclick="return toggle('Mp3Encoder.get_args');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#get_args">get_args</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.get_args-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.get_args-expanded"><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-docstring">"""Get process options and return arguments for the encoder"""</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt> <tt class="py-string">'verbose'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'verbose'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'0'</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'mp3_bitrate'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-b '</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'mp3_bitrate'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-b '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bitrate_default</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-comment">#Copyrights, etc..</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-c -o'</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-S -c --tt "unknown" -o'</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-11', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt id="link-12" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-12', 'name', 'link-12');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-13" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-13', 'name', 'link-12');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">arg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">[</tt><tt id="link-14" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-12');">name</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'--'</tt> <tt class="py-op">+</tt> <tt class="py-name">arg</tt> <tt class="py-op">+</tt> <tt class="py-string">' "'</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">args</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt>
+<a name="Mp3Encoder.process"></a><div id="Mp3Encoder.process-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="Mp3Encoder.process-toggle" onclick="return toggle('Mp3Encoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.mp3.Mp3Encoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Mp3Encoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Mp3Encoder.process-expanded"><a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-15', 'metadata', 'link-8');">metadata</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-16', 'metadata', 'link-8');">metadata</a></tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method timeside.encode.flac.FlacEncoder.get_args()=timeside.encode.flac.FlacEncoder-class.html#get_args,Method timeside.encode.mp3.Mp3Encoder.get_args()=timeside.encode.mp3.Mp3Encoder-class.html#get_args,Method timeside.encode.ogg.OggVorbisEncoder.get_args()=timeside.encode.ogg.OggVorbisEncoder-class.html#get_args"><a title="timeside.encode.flac.FlacEncoder.get_args
+timeside.encode.mp3.Mp3Encoder.get_args
+timeside.encode.ogg.OggVorbisEncoder.get_args" class="py-name" href="#" onclick="return doclink('link-17', 'get_args', 'link-17');">get_args</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'lame %s - -'</tt> <tt class="py-op">%</tt> <tt class="py-name">args</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.core_process()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process,Method timeside.encode.core.EncoderCore.core_process()=timeside.encode.core.EncoderCore-class.html#core_process"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-18', 'core_process', 'link-18');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-19', 'source', 'link-19');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">__chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+</div></div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.mp3.Mp3Encoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.mp3-module.html">Module mp3</a> ::
+ Class Mp3Encoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.mp3.Mp3Encoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Mp3Encoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a> --+
+ |
+ <strong class="uidshort">Mp3Encoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to encode to MP3</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.mp3.Mp3Encoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="write_tags"></a><span class="summary-sig-name">write_tags</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Write all ID3v2.4 tags by mapping dub2id3_dict dictionnary with the
+ respect of mutagen classes and methods</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.write_tags">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_args"></a><span class="summary-sig-name">get_args</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Get process options and return arguments for the encoder</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.get_args">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.mp3.Mp3Encoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">metadata</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a></code></b>:
+ <code><a href="timeside.encode.core.EncoderCore-class.html#core_process">core_process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">source</span>,
+ <span class="sig-arg">metadata</span>,
+ <span class="sig-arg">options</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.mp3-pysrc.html#Mp3Encoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module ogg
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.ogg-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module ogg</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.ogg-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.ogg.OggVorbisEncoder-class.html" class="summary-name">OggVorbisEncoder</a><br />
+ Defines methods to encode to OGG Vorbis
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module ogg
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.ogg-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode.ogg-module.html">Module timeside.encode.ogg</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-5', 'IEncoder', 'link-5');">IEncoder</a></tt> </tt>
+<a name="OggVorbisEncoder"></a><div id="OggVorbisEncoder-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder-toggle" onclick="return toggle('OggVorbisEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html">OggVorbisEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">EncoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OggVorbisEncoder-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to encode to OGG Vorbis"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-7', 'IEncoder', 'link-5');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.__init__"></a><div id="OggVorbisEncoder.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.__init__-toggle" onclick="return toggle('OggVorbisEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bitrate_default</tt> <tt class="py-op">=</tt> <tt class="py-string">'192'</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'creator'</tt><tt class="py-op">:</tt> <tt class="py-string">'artist'</tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-string">'relation'</tt><tt class="py-op">:</tt> <tt class="py-string">'album'</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
+</div><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="OggVorbisEncoder.id"></a><div id="OggVorbisEncoder.id-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.id-toggle" onclick="return toggle('OggVorbisEncoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.id-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"oggenc"</tt> </tt>
+</div><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.format"></a><div id="OggVorbisEncoder.format-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.format-toggle" onclick="return toggle('OggVorbisEncoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.format-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'OggVorbis'</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.file_extension"></a><div id="OggVorbisEncoder.file_extension-def"><a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.file_extension-toggle" onclick="return toggle('OggVorbisEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.file_extension-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'ogg'</tt> </tt>
+</div><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.mime_type"></a><div id="OggVorbisEncoder.mime_type-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.mime_type-toggle" onclick="return toggle('OggVorbisEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.mime_type-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'application/ogg'</tt> </tt>
+</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.description"></a><div id="OggVorbisEncoder.description-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.description-toggle" onclick="return toggle('OggVorbisEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.description-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-string"> Vorbis is a free software / open source project headed by the Xiph.Org</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-string"> Foundation (formerly Xiphophorus company). The project produces an audio</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-string"> format specification and software implementation (codec) for lossy audio</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-string"> compression. Vorbis is most commonly used in conjunction with the Ogg</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-string"> container format and it is therefore often referred to as Ogg Vorbis.</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-string"> (source Wikipedia)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.get_file_info"></a><div id="OggVorbisEncoder.get_file_info-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.get_file_info-toggle" onclick="return toggle('OggVorbisEncoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.get_file_info-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.get_file_info-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">file_out1</tt><tt class="py-op">,</tt> <tt class="py-name">file_out2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'ogginfo "'</tt> <tt class="py-op">+</tt> <tt class="py-name">file</tt> <tt class="py-op">+</tt> <tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file_out2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.write_tags"></a><div id="OggVorbisEncoder.write_tags-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.write_tags-toggle" onclick="return toggle('OggVorbisEncoder.write_tags');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#write_tags">write_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.write_tags-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.write_tags-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">mutagen</tt><tt class="py-op">.</tt><tt class="py-name">oggvorbis</tt> <tt class="py-keyword">import</tt> <tt class="py-name">OggVorbis</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">media</tt> <tt class="py-op">=</tt> <tt class="py-name">OggVorbis</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-8', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">media</tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-9', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.save()=timeside.grapher.core.SpectrogramImage-class.html#save,Method timeside.grapher.core.WaveformImage.save()=timeside.grapher.core.WaveformImage-class.html#save"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-10', 'save', 'link-10');">save</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.get_args"></a><div id="OggVorbisEncoder.get_args-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.get_args-toggle" onclick="return toggle('OggVorbisEncoder.get_args');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#get_args">get_args</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.get_args-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.get_args-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-docstring">"""Get process options and return arguments for the encoder"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-string">'verbose'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'verbose'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'0'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-Q '</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'ogg_bitrate'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-b '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'ogg_bitrate'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">'ogg_quality'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-q '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'ogg_quality'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-b '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bitrate_default</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-Q -b '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bitrate_default</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-11', 'metadata', 'link-8');">metadata</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt id="link-12" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-12', 'name', 'link-12');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-c %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-13', 'name', 'link-12');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-14" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-12');">name</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">arg</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dub2args_dict</tt><tt class="py-op">[</tt><tt id="link-15" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-15', 'name', 'link-12');">name</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'-c %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">args</tt> </tt>
+</div><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt>
+<a name="OggVorbisEncoder.process"></a><div id="OggVorbisEncoder.process-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="OggVorbisEncoder.process-toggle" onclick="return toggle('OggVorbisEncoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.ogg.OggVorbisEncoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OggVorbisEncoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OggVorbisEncoder.process-expanded"><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-16', 'metadata', 'link-8');">metadata</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-17', 'metadata', 'link-8');">metadata</a></tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method timeside.encode.flac.FlacEncoder.get_args()=timeside.encode.flac.FlacEncoder-class.html#get_args,Method timeside.encode.mp3.Mp3Encoder.get_args()=timeside.encode.mp3.Mp3Encoder-class.html#get_args,Method timeside.encode.ogg.OggVorbisEncoder.get_args()=timeside.encode.ogg.OggVorbisEncoder-class.html#get_args"><a title="timeside.encode.flac.FlacEncoder.get_args
+timeside.encode.mp3.Mp3Encoder.get_args
+timeside.encode.ogg.OggVorbisEncoder.get_args" class="py-name" href="#" onclick="return doclink('link-18', 'get_args', 'link-18');">get_args</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'oggenc %s -'</tt> <tt class="py-op">%</tt> <tt class="py-name">args</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.core_process()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process,Method timeside.encode.core.EncoderCore.core_process()=timeside.encode.core.EncoderCore-class.html#core_process"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-19', 'core_process', 'link-19');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-20', 'source', 'link-20');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">__chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+</div></div><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.ogg.OggVorbisEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.ogg-module.html">Module ogg</a> ::
+ Class OggVorbisEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.ogg.OggVorbisEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OggVorbisEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a> --+
+ |
+ <strong class="uidshort">OggVorbisEncoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to encode to OGG Vorbis</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">file</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="write_tags"></a><span class="summary-sig-name">write_tags</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">file</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.write_tags">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_args"></a><span class="summary-sig-name">get_args</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Get process options and return arguments for the encoder</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.get_args">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.ogg.OggVorbisEncoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">metadata</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a></code></b>:
+ <code><a href="timeside.encode.core.EncoderCore-class.html#core_process">core_process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">source</span>,
+ <span class="sig-arg">metadata</span>,
+ <span class="sig-arg">options</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.ogg-pysrc.html#OggVorbisEncoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module wav
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.wav-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module wav</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.wav-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.encode.wav.WavEncoder-class.html" class="summary-name">WavEncoder</a><br />
+ Defines methods to encode to WAV
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ Module wav
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.wav-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.encode.wav-module.html">Module timeside.encode.wav</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.encode=timeside.encode-module.html"><a title="timeside.encode" class="py-name" href="#" onclick="return doclink('link-1', 'encode', 'link-1');">encode</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-4', 'api', 'link-4');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-5', 'IEncoder', 'link-5');">IEncoder</a></tt> </tt>
+<a name="WavEncoder"></a><div id="WavEncoder-def"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="WavEncoder-toggle" onclick="return toggle('WavEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html">WavEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">EncoderCore</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="WavEncoder-expanded"><a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-docstring">"""Defines methods to encode to WAV"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-6', 'implements', 'link-6');">implements</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-7', 'IEncoder', 'link-5');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.__init__"></a><div id="WavEncoder.__init__-def"><a name="L33"></a><tt class="py-lineno">33</tt> <a class="py-toggle" href="#" id="WavEncoder.__init__-toggle" onclick="return toggle('WavEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.__init__-expanded"><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="WavEncoder.id"></a><div id="WavEncoder.id-def"><a name="L37"></a><tt class="py-lineno">37</tt> <a class="py-toggle" href="#" id="WavEncoder.id-toggle" onclick="return toggle('WavEncoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.id-expanded"><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"wavenc"</tt> </tt>
+</div><a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.format"></a><div id="WavEncoder.format-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="WavEncoder.format-toggle" onclick="return toggle('WavEncoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.format-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.format-expanded"><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'WAV'</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.file_extension"></a><div id="WavEncoder.file_extension-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="WavEncoder.file_extension-toggle" onclick="return toggle('WavEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.file_extension-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.file_extension-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'wav'</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.mime_type"></a><div id="WavEncoder.mime_type-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="WavEncoder.mime_type-toggle" onclick="return toggle('WavEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.mime_type-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.mime_type-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'audio/x-wav'</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.description"></a><div id="WavEncoder.description-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="WavEncoder.description-toggle" onclick="return toggle('WavEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.description-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.description-expanded"><a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt class="py-string"> WAV (or WAVE), short for Waveform audio format, also known as Audio for</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"><tt class="py-string"> Windows, is a Microsoft and IBM audio file format standard for storing</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-string"> an audio bitstream on PCs. It is an application of the RIFF bitstream</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"><tt class="py-string"> format method for storing data in “chunks”, and thus is also close to</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-string"> the 8SVX and the AIFF format used on Amiga and Macintosh computers,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"><tt class="py-string"> respectively. It is the main format used on Windows systems for raw and</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"><tt class="py-string"> typically uncompressed audio. The usual bitstream encoding is the Pulse</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"><tt class="py-string"> Code Modulation (PCM) format.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"><tt class="py-string"> """</tt> </tt>
+</div><a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.get_file_info"></a><div id="WavEncoder.get_file_info-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="WavEncoder.get_file_info-toggle" onclick="return toggle('WavEncoder.get_file_info');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#get_file_info">get_file_info</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.get_file_info-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.get_file_info-expanded"><a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">file1</tt><tt class="py-op">,</tt> <tt class="py-name">file2</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen4</tt><tt class="py-op">(</tt><tt class="py-string">'wavinfo "'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dest</tt><tt class="py-op">+</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">file2</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">clean_word</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">info</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">'EncoderError: wavinfo id not installed or file does not exist.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.process"></a><div id="WavEncoder.process-def"><a name="L72"></a><tt class="py-lineno">72</tt> <a class="py-toggle" href="#" id="WavEncoder.process-toggle" onclick="return toggle('WavEncoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.encode.wav.WavEncoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.process-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WavEncoder.process-expanded"><a name="L73"></a><tt class="py-lineno">73</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-8', 'metadata', 'link-8');">metadata</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-9', 'metadata', 'link-8');">metadata</a></tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt> <tt class="py-line"> <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">'sox -t wav - -s -q -b 16 -r 44100 -t wav -c2 -'</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt> <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.analyze.vamp.core.VampCoreAnalyzer.core_process()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#core_process,Method timeside.encode.core.EncoderCore.core_process()=timeside.encode.core.EncoderCore-class.html#core_process"><a title="timeside.analyze.vamp.core.VampCoreAnalyzer.core_process
+timeside.encode.core.EncoderCore.core_process" class="py-name" href="#" onclick="return doclink('link-10', 'core_process', 'link-10');">core_process</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-11', 'source', 'link-11');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">78</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">__chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">__chunk</tt> </tt>
+</div></div><a name="L80"></a><tt class="py-lineno">80</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.encode.wav.WavEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.encode-module.html">Package encode</a> ::
+ <a href="timeside.encode.wav-module.html">Module wav</a> ::
+ Class WavEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.encode.wav.WavEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WavEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a> --+
+ |
+ <strong class="uidshort">WavEncoder</strong>
+</pre>
+
+<hr />
+<p>Defines methods to encode to WAV</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.wav.WavEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="file_extension"></a><span class="summary-sig-name">file_extension</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mime_type"></a><span class="summary-sig-name">mime_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="description"></a><span class="summary-sig-name">description</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_file_info"></a><span class="summary-sig-name">get_file_info</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.get_file_info">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.encode.wav.WavEncoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">metadata</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.encode.core.EncoderCore-class.html">core.EncoderCore</a></code></b>:
+ <code><a href="timeside.encode.core.EncoderCore-class.html#core_process">core_process</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">source</span>,
+ <span class="sig-arg">metadata</span>,
+ <span class="sig-arg">options</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.encode.wav-pysrc.html#WavEncoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.exceptions</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module exceptions
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.exceptions-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module exceptions</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.exceptions-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.exceptions.Error-class.html" class="summary-name">Error</a><br />
+ Exception base class for errors in TimeSide.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.exceptions.ApiError-class.html" class="summary-name">ApiError</a><br />
+ Exception base class for errors in TimeSide.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.exceptions.SubProcessError-class.html" class="summary-name">SubProcessError</a><br />
+ Exception for reporting errors from a subprocess
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.exceptions</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module exceptions
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.exceptions-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.exceptions-module.html">Module timeside.exceptions</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2009 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="Error"></a><div id="Error-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.exceptions.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Error-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Error-expanded"><a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-docstring">"""Exception base class for errors in TimeSide."""</tt> </tt>
+</div><a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
+<a name="ApiError"></a><div id="ApiError-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="ApiError-toggle" onclick="return toggle('ApiError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.exceptions.ApiError-class.html">ApiError</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ApiError-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ApiError-expanded"><a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> <tt class="py-docstring">"""Exception base class for errors in TimeSide."""</tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="SubProcessError"></a><div id="SubProcessError-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="SubProcessError-toggle" onclick="return toggle('SubProcessError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.exceptions.SubProcessError-class.html">SubProcessError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessError-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="SubProcessError-expanded"><a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-docstring">"""Exception for reporting errors from a subprocess"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="SubProcessError.__init__"></a><div id="SubProcessError.__init__-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="SubProcessError.__init__-toggle" onclick="return toggle('SubProcessError.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.exceptions.SubProcessError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">,</tt> <tt class="py-param">command</tt><tt class="py-op">,</tt> <tt class="py-param">subprocess</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessError.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SubProcessError.__init__-expanded"><a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subprocess</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
+<a name="SubProcessError.__str__"></a><div id="SubProcessError.__str__-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="SubProcessError.__str__-toggle" onclick="return toggle('SubProcessError.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.exceptions.SubProcessError-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubProcessError.__str__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SubProcessError.__str__-expanded"><a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">stderr</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">error</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">stderr</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-0', 'read', 'link-0');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-name">error</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"%s ; command: %s; error: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.exceptions.ApiError</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.exceptions-module.html">Module exceptions</a> ::
+ Class ApiError
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.exceptions.ApiError-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ApiError</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.exceptions-pysrc.html#ApiError">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+exceptions.BaseException --+
+ |
+ exceptions.Exception --+
+ |
+ <strong class="uidshort">ApiError</strong>
+</pre>
+
+<hr />
+<p>Exception base class for errors in TimeSide.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+ <code>__init__</code>,
+ <code>__new__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__getitem__</code>,
+ <code>__getslice__</code>,
+ <code>__reduce__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__setstate__</code>,
+ <code>__str__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__hash__</code>,
+ <code>__reduce_ex__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>args</code>,
+ <code>message</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.exceptions.Error</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.exceptions-module.html">Module exceptions</a> ::
+ Class Error
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.exceptions.Error-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.exceptions-pysrc.html#Error">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+exceptions.BaseException --+
+ |
+ exceptions.Exception --+
+ |
+ <strong class="uidshort">Error</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.exceptions.SubProcessError-class.html">SubProcessError</a></li> </ul>
+</dd></dl>
+
+<hr />
+<p>Exception base class for errors in TimeSide.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+ <code>__init__</code>,
+ <code>__new__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__getitem__</code>,
+ <code>__getslice__</code>,
+ <code>__reduce__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__setstate__</code>,
+ <code>__str__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__hash__</code>,
+ <code>__reduce_ex__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>args</code>,
+ <code>message</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.exceptions.SubProcessError</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.exceptions-module.html">Module exceptions</a> ::
+ Class SubProcessError
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.exceptions.SubProcessError-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SubProcessError</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.exceptions-pysrc.html#SubProcessError">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+exceptions.BaseException --+
+ |
+ exceptions.Exception --+
+ |
+ <a href="timeside.exceptions.Error-class.html">Error</a> --+
+ |
+ <strong class="uidshort">SubProcessError</strong>
+</pre>
+
+<hr />
+<p>Exception for reporting errors from a subprocess</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.exceptions.SubProcessError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">message</span>,
+ <span class="summary-sig-arg">command</span>,
+ <span class="summary-sig-arg">subprocess</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.exceptions-pysrc.html#SubProcessError.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.exceptions.SubProcessError-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ str(x)</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.exceptions-pysrc.html#SubProcessError.__str__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+ <code>__new__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__getitem__</code>,
+ <code>__getslice__</code>,
+ <code>__reduce__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__setstate__</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__hash__</code>,
+ <code>__reduce_ex__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+ <code>args</code>,
+ <code>message</code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">message</span>,
+ <span class="sig-arg">command</span>,
+ <span class="sig-arg">subprocess</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.exceptions-pysrc.html#SubProcessError.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="__str__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">(Informal representation operator)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.exceptions-pysrc.html#SubProcessError.__str__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>str(x)</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__str__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package grapher
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package grapher</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.grapher.core-module.html">timeside.grapher.core</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.spectrogram_audiolab-module.html">timeside.grapher.spectrogram_audiolab</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.grapher.waveform_audiolab-module.html">timeside.grapher.waveform_audiolab</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher-module.html#color_schemes" class="summary-name">color_schemes</a> = <code title="{'default': {'spectrogram': [(0, 0, 0),
+ (14, 17, 16),
+ (40, 50, 76),
+ (90, 180, 100),
+ (224, 224, 44),
+ (255, 60, 30),
+ (255, 255, 255)],
+ 'waveform': [(50, 0, 200), (0, 220, 80), (255, 224, 0), (\
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>14<code class="variable-op">, </code>1<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="color_schemes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">color_schemes</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>14<code class="variable-op">, </code>17<code class="variable-op">, </code>16<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>40<code class="variable-op">, </code>50<code class="variable-op">, </code>76<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>90<code class="variable-op">, </code>180<code class="variable-op">, </code>100<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>224<code class="variable-op">, </code>224<code class="variable-op">, </code>44<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>60<code class="variable-op">, </code>30<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>255<code class="variable-op">, </code>255<code class="variable-group">)</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">waveform</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>50<code class="variable-op">, </code>0<code class="variable-op">, </code>200<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>0<code class="variable-op">, </code>220<code class="variable-op">, </code>80<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>255<code class="variable-op">, </code>224<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package grapher
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.grapher-module.html">Package timeside.grapher</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-1', 'grapher', 'link-1');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-4', 'grapher', 'link-1');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.grapher.waveform_audiolab=timeside.grapher.waveform_audiolab-module.html"><a title="timeside.grapher.waveform_audiolab" class="py-name" href="#" onclick="return doclink('link-5', 'waveform_audiolab', 'link-5');">waveform_audiolab</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-7', 'grapher', 'link-1');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module timeside.grapher.spectrogram_audiolab=timeside.grapher.spectrogram_audiolab-module.html"><a title="timeside.grapher.spectrogram_audiolab" class="py-name" href="#" onclick="return doclink('link-8', 'spectrogram_audiolab', 'link-8');">spectrogram_audiolab</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">6</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module core</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.core-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.core.SpectralCentroid-class.html" class="summary-name">SpectralCentroid</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.core.WaveformImage-class.html" class="summary-name">WaveformImage</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.core.SpectrogramImage-class.html" class="summary-name">SpectrogramImage</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.core.Noise-class.html" class="summary-name">Noise</a><br />
+ A class that mimics audiolab.sndfile but generates noise instead of
+ reading a wave file.
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Functions</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Functions"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core-module.html#interpolate_colors" class="summary-sig-name">interpolate_colors</a>(<span class="summary-sig-arg">colors</span>,
+ <span class="summary-sig-arg">flat</span>=<span class="summary-sig-default">False</span>,
+ <span class="summary-sig-arg">num_colors</span>=<span class="summary-sig-default">256</span>)</span><br />
+ given a list of colors, create a larger list of colors interpolating
+ the first one.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#interpolate_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.core-module.html#color_schemes" class="summary-name">color_schemes</a> = <code title="{'default': {'spectrogram': [(0, 0, 0),
+ (14, 17, 16),
+ (40, 50, 76),
+ (90, 180, 100),
+ (224, 224, 44),
+ (255, 60, 30),
+ (255, 255, 255)],
+ 'waveform': [(50, 0, 200), (0, 220, 80), (255, 224, 0), (\
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>14<code class="variable-op">, </code>1<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Function Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-FunctionDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="interpolate_colors"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">interpolate_colors</span>(<span class="sig-arg">colors</span>,
+ <span class="sig-arg">flat</span>=<span class="sig-default">False</span>,
+ <span class="sig-arg">num_colors</span>=<span class="sig-default">256</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#interpolate_colors">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>given a list of colors, create a larger list of colors interpolating
+ the first one. If flatten is True a list of numers will be returned. If
+ False, a list of (r,g,b) tuples. num_colors is the number of colors
+ wanted in the final list</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="color_schemes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">color_schemes</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>14<code class="variable-op">, </code>17<code class="variable-op">, </code>16<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>40<code class="variable-op">, </code>50<code class="variable-op">, </code>76<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>90<code class="variable-op">, </code>180<code class="variable-op">, </code>100<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>224<code class="variable-op">, </code>224<code class="variable-op">, </code>44<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>60<code class="variable-op">, </code>30<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>255<code class="variable-op">, </code>255<code class="variable-group">)</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">waveform</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>50<code class="variable-op">, </code>0<code class="variable-op">, </code>200<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>0<code class="variable-op">, </code>220<code class="variable-op">, </code>80<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>255<code class="variable-op">, </code>224<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module core
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.grapher.core-module.html">Module timeside.grapher.core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"># wav2png.py -- converts wave files to wave file and spectrogram images</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2008 MUSIC TECHNOLOGY GROUP (MTG)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># UNIVERSITAT POMPEU FABRA</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This program is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU Affero General Public License as</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># published by the Free Software Foundation, either version 3 of the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># License, or (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU Affero General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># You should have received a copy of the GNU Affero General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with this program. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Authors:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Bram de Jong <bram.dejong at domain.com where domain in gmail></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">optparse</tt><tt class="py-op">,</tt> <tt class="py-name">math</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">ImageFilter</tt><tt class="py-op">,</tt> <tt class="py-name">ImageChops</tt><tt class="py-op">,</tt> <tt class="py-name">Image</tt><tt class="py-op">,</tt> <tt class="py-name">ImageDraw</tt><tt class="py-op">,</tt> <tt class="py-name">ImageColor</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.core.FixedSizeInputAdapter=timeside.core.FixedSizeInputAdapter-class.html"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-2', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable timeside.grapher.color_schemes=timeside.grapher-module.html#color_schemes,Variable timeside.grapher.core.color_schemes=timeside.grapher.core-module.html#color_schemes,Variable timeside.grapher.spectrogram_audiolab.color_schemes=timeside.grapher.spectrogram_audiolab-module.html#color_schemes,Variable timeside.grapher.waveform_audiolab.color_schemes=timeside.grapher.waveform_audiolab-module.html#color_schemes,Variable timeside.tests.api.examples.color_schemes=timeside.tests.api.examples-module.html#color_schemes"><a title="timeside.grapher.color_schemes
+timeside.grapher.core.color_schemes
+timeside.grapher.spectrogram_audiolab.color_schemes
+timeside.grapher.waveform_audiolab.color_schemes
+timeside.tests.api.examples.color_schemes" class="py-name" href="#" onclick="return doclink('link-3', 'color_schemes', 'link-3');">color_schemes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-string">'waveform'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">200</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">220</tt><tt class="py-op">,</tt><tt class="py-number">80</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-string">'spectrogram'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">58</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">68</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">65</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">80</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">153</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">90</tt><tt class="py-op">,</tt><tt class="py-number">180</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">44</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">60</tt><tt class="py-op">,</tt><tt class="py-number">30</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-string">'iso'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-string">'waveform'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-string">'spectrogram'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">58</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">68</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">65</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">80</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">153</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">90</tt><tt class="py-op">,</tt><tt class="py-number">180</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">44</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">60</tt><tt class="py-op">,</tt><tt class="py-number">30</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-string">'waveform'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">173</tt><tt class="py-op">,</tt><tt class="py-number">173</tt><tt class="py-op">,</tt><tt class="py-number">173</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">147</tt><tt class="py-op">,</tt><tt class="py-number">149</tt><tt class="py-op">,</tt><tt class="py-number">196</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">77</tt><tt class="py-op">,</tt><tt class="py-number">80</tt><tt class="py-op">,</tt><tt class="py-number">138</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">108</tt><tt class="py-op">,</tt><tt class="py-number">66</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-string">'spectrogram'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">58</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">68</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">65</tt><tt class="py-op">/</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">80</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">153</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">90</tt><tt class="py-op">,</tt><tt class="py-number">180</tt><tt class="py-op">,</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">224</tt><tt class="py-op">,</tt><tt class="py-number">44</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">60</tt><tt class="py-op">,</tt><tt class="py-number">30</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">,</tt><tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
+<a name="SpectralCentroid"></a><div id="SpectralCentroid-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="SpectralCentroid-toggle" onclick="return toggle('SpectralCentroid');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.core.SpectralCentroid-class.html">SpectralCentroid</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectralCentroid-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SpectralCentroid-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
+<a name="SpectralCentroid.__init__"></a><div id="SpectralCentroid.__init__-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="SpectralCentroid.__init__-toggle" onclick="return toggle('SpectralCentroid.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectralCentroid-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fft_size</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">,</tt> <tt class="py-param">lower</tt><tt class="py-op">,</tt> <tt class="py-param">higher</tt><tt class="py-op">,</tt> <tt class="py-param">window_function</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">ones</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectralCentroid.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectralCentroid.__init__-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-name">fft_size</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window</tt> <tt class="py-op">=</tt> <tt class="py-name">window_function</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt> <tt class="py-op">=</tt> <tt class="py-name">lower</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt> <tt class="py-op">=</tt> <tt class="py-name">higher</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher_log</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt> <tt class="py-op">=</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">val</tt><tt class="py-op">,</tt> <tt class="py-name">low</tt><tt class="py-op">,</tt> <tt class="py-name">high</tt><tt class="py-op">:</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">high</tt><tt class="py-op">,</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">low</tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-4', 'nframes', 'link-4');">nframes</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-5', 'nframes', 'link-4');">nframes</a></tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-6', 'samplerate', 'link-6');">samplerate</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-7', 'samplerate', 'link-6');">samplerate</a></tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_adapter</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-8', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
+<a name="SpectralCentroid.process"></a><div id="SpectralCentroid.process-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="SpectralCentroid.process-toggle" onclick="return toggle('SpectralCentroid.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectralCentroid-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">,</tt> <tt class="py-param">spec_range</tt><tt class="py-op">=</tt><tt class="py-number">120.0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectralCentroid.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectralCentroid.process-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-name">end</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_adapter</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-9', 'process', 'link-9');">process</a></tt><tt class="py-op">(</tt><tt id="link-10" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-10', 'frames', 'link-10');">frames</a></tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">buffer</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">end</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">*=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">window</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">fft</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fft</tt><tt class="py-op">.</tt><tt class="py-name">fft</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">spectrum</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">fft</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">fft</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">/</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">)</tt> <tt class="py-comment"># normalized abs(FFT) between 0 and 1</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">(</tt><tt class="py-name">spectrum</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-comment"># scale the db spectrum from [- spec_range db ... 0 db] > [0..1]</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">db_spectrum</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">spectrum</tt> <tt class="py-op">+</tt> <tt class="py-number">1e-30</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-name">spec_range</tt><tt class="py-op">,</tt> <tt class="py-number">0.0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">spec_range</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">spec_range</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">energy</tt> <tt class="py-op">=</tt> <tt class="py-name">spectrum</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.spectral_centroid()=timeside.analyze.core.AudioProcessor-class.html#spectral_centroid"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-11', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">energy</tt> <tt class="py-op">></tt> <tt class="py-number">1e-20</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-comment"># calculate the spectral centroid</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-12', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">spectrum</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spectrum_range</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">energy</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">length</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-13', 'samplerate', 'link-6');">samplerate</a></tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-comment"># clip > log10 > scale between 0 and 1</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-14" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-14', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clip</tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-15', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher_log</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower_log</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-16', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">db_spectrum</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt>
+<a name="interpolate_colors"></a><div id="interpolate_colors-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="interpolate_colors-toggle" onclick="return toggle('interpolate_colors');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core-module.html#interpolate_colors">interpolate_colors</a><tt class="py-op">(</tt><tt class="py-param">colors</tt><tt class="py-op">,</tt> <tt class="py-param">flat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">num_colors</tt><tt class="py-op">=</tt><tt class="py-number">256</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="interpolate_colors-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="interpolate_colors-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-docstring">""" given a list of colors, create a larger list of colors interpolating</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> the first one. If flatten is True a list of numers will be returned. If</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> False, a list of (r,g,b) tuples. num_colors is the number of colors wanted</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> in the final list """</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">palette</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">num_colors</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">colors</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-op">(</tt><tt class="py-name">num_colors</tt> <tt class="py-op">-</tt> <tt class="py-number">1.0</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">index_int</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">alpha</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">index_int</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">alpha</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-name">index_int</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">flat</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">palette</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">g</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">palette</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">g</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">palette</tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage"></a><div id="WaveformImage-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="WaveformImage-toggle" onclick="return toggle('WaveformImage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html">WaveformImage</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WaveformImage-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.__init__"></a><div id="WaveformImage.__init__-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="WaveformImage.__init__-toggle" onclick="return toggle('WaveformImage.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">image_width</tt><tt class="py-op">,</tt> <tt class="py-param">image_height</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">,</tt> <tt class="py-param">fft_size</tt><tt class="py-op">,</tt> <tt class="py-param">bg_color</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">color_scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.__init__-expanded"><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-name">image_width</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-name">image_height</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-17', 'nframes', 'link-4');">nframes</a></tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-18', 'nframes', 'link-4');">nframes</a></tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-19', 'samplerate', 'link-6');">samplerate</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-20', 'samplerate', 'link-6');">samplerate</a></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-name">fft_size</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-21', 'bg_color', 'link-21');">bg_color</a></tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-22', 'bg_color', 'link-21');">bg_color</a></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-23" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-23', 'bg_color', 'link-21');">bg_color</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-24', 'bg_color', 'link-21');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-25', 'color_scheme', 'link-25');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-26', 'color_scheme', 'link-25');">color_scheme</a></tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-27" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-27', 'color_scheme', 'link-25');">color_scheme</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-28', 'color_scheme', 'link-25');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'default'</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="timeside.grapher.color_schemes
+timeside.grapher.core.color_schemes
+timeside.grapher.spectrogram_audiolab.color_schemes
+timeside.grapher.waveform_audiolab.color_schemes
+timeside.tests.api.examples.color_schemes" class="py-name" href="#" onclick="return doclink('link-29', 'color_schemes', 'link-3');">color_schemes</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-30', 'color_scheme', 'link-25');">color_scheme</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'waveform'</tt><tt class="py-op">]</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">color_lookup</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name" targets="Function timeside.grapher.core.interpolate_colors()=timeside.grapher.core-module.html#interpolate_colors"><a title="timeside.grapher.core.interpolate_colors" class="py-name" href="#" onclick="return doclink('link-31', 'interpolate_colors', 'link-31');">interpolate_colors</a></tt><tt class="py-op">(</tt><tt class="py-name">colors</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-32', 'nframes', 'link-4');">nframes</a></tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-33', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter_nframes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-34', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-35', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt> <tt class="py-op">=</tt> <tt class="py-number">500</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt> <tt class="py-op">=</tt> <tt class="py-number">16000</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-36', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name" targets="Class timeside.grapher.core.SpectralCentroid=timeside.grapher.core.SpectralCentroid-class.html"><a title="timeside.grapher.core.SpectralCentroid" class="py-name" href="#" onclick="return doclink('link-37', 'SpectralCentroid', 'link-37');">SpectralCentroid</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-38', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-39', 'samplerate', 'link-6');">samplerate</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">hanning</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-string">"RGB"</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-40', 'bg_color', 'link-21');">bg_color</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">draw</tt> <tt class="py-op">=</tt> <tt class="py-name">ImageDraw</tt><tt class="py-op">.</tt><tt class="py-name">Draw</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_y</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">frame_cursor</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.peaks"></a><div id="WaveformImage.peaks-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="WaveformImage.peaks-toggle" onclick="return toggle('WaveformImage.peaks');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#peaks">peaks</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">samples</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.peaks-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.peaks-expanded"><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-docstring">""" read all samples between start_seek and end_seek, then find the minimum and maximum peak</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> in that range. Returns that pair in the order they were found. So if min was found first,</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> it returns (min, max) else the other way around. """</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">max_index</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">argmax</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">max_value</tt> <tt class="py-op">=</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-name">max_index</tt><tt class="py-op">]</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">min_index</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">argmin</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">min_value</tt> <tt class="py-op">=</tt> <tt class="py-name">samples</tt><tt class="py-op">[</tt><tt class="py-name">min_index</tt><tt class="py-op">]</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">min_index</tt> <tt class="py-op"><</tt> <tt class="py-name">max_index</tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">min_value</tt><tt class="py-op">,</tt> <tt class="py-name">max_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">max_value</tt><tt class="py-op">,</tt> <tt class="py-name">min_value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.color_from_value"></a><div id="WaveformImage.color_from_value-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="WaveformImage.color_from_value-toggle" onclick="return toggle('WaveformImage.color_from_value');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#color_from_value">color_from_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.color_from_value-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.color_from_value-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-docstring">""" given a value between 0 and 1, return an (r,g,b) tuple """</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ImageColor</tt><tt class="py-op">.</tt><tt class="py-name">getrgb</tt><tt class="py-op">(</tt><tt class="py-string">"hsl(%d,%d%%,%d%%)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">360</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">80</tt><tt class="py-op">,</tt> <tt class="py-number">50</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.draw_peaks"></a><div id="WaveformImage.draw_peaks-def"><a name="L181"></a><tt class="py-lineno">181</tt> <a class="py-toggle" href="#" id="WaveformImage.draw_peaks-toggle" onclick="return toggle('WaveformImage.draw_peaks');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#draw_peaks">draw_peaks</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">peaks</tt><tt class="py-op">,</tt> <tt class="py-param">spectral_centroid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.draw_peaks-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.draw_peaks-expanded"><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-docstring">""" draw 2 peaks at x using the spectral_centroid for color """</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">y1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> <tt class="py-op">-</tt> <tt id="link-41" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.peaks()=timeside.analyze.core.AudioProcessor-class.html#peaks,Method timeside.grapher.core.WaveformImage.peaks()=timeside.grapher.core.WaveformImage-class.html#peaks"><a title="timeside.analyze.core.AudioProcessor.peaks
+timeside.grapher.core.WaveformImage.peaks" class="py-name" href="#" onclick="return doclink('link-41', 'peaks', 'link-41');">peaks</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">-</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">y2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> <tt class="py-op">-</tt> <tt id="link-42" class="py-name"><a title="timeside.analyze.core.AudioProcessor.peaks
+timeside.grapher.core.WaveformImage.peaks" class="py-name" href="#" onclick="return doclink('link-42', 'peaks', 'link-41');">peaks</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">-</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">0.5</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">line_color</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">color_lookup</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-43', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">*</tt><tt class="py-number">255.0</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_y</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">draw</tt><tt class="py-op">.</tt><tt class="py-name">line</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_y</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y1</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">line_color</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">draw</tt><tt class="py-op">.</tt><tt class="py-name">line</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y1</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">line_color</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">previous_y</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method timeside.grapher.core.WaveformImage.draw_anti_aliased_pixels()=timeside.grapher.core.WaveformImage-class.html#draw_anti_aliased_pixels"><a title="timeside.grapher.core.WaveformImage.draw_anti_aliased_pixels" class="py-name" href="#" onclick="return doclink('link-44', 'draw_anti_aliased_pixels', 'link-44');">draw_anti_aliased_pixels</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y1</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt><tt class="py-op">,</tt> <tt class="py-name">line_color</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.draw_anti_aliased_pixels"></a><div id="WaveformImage.draw_anti_aliased_pixels-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="WaveformImage.draw_anti_aliased_pixels-toggle" onclick="return toggle('WaveformImage.draw_anti_aliased_pixels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#draw_anti_aliased_pixels">draw_anti_aliased_pixels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">y1</tt><tt class="py-op">,</tt> <tt class="py-param">y2</tt><tt class="py-op">,</tt> <tt class="py-param">color</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.draw_anti_aliased_pixels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.draw_anti_aliased_pixels-expanded"><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-docstring">""" vertical anti-aliasing at y1 and y2 """</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">y_max</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">y1</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">y_max_int</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">y_max</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">alpha</tt> <tt class="py-op">=</tt> <tt class="py-name">y_max</tt> <tt class="py-op">-</tt> <tt class="py-name">y_max_int</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">alpha</tt> <tt class="py-op">></tt> <tt class="py-number">0.0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">alpha</tt> <tt class="py-op"><</tt> <tt class="py-number">1.0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">y_max_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">current_pix</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y_max_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y_max_int</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">,</tt><tt class="py-name">g</tt><tt class="py-op">,</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">y_min</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">y1</tt><tt class="py-op">,</tt> <tt class="py-name">y2</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">y_min_int</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">y_min</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">alpha</tt> <tt class="py-op">=</tt> <tt class="py-number">1.0</tt> <tt class="py-op">-</tt> <tt class="py-op">(</tt><tt class="py-name">y_min</tt> <tt class="py-op">-</tt> <tt class="py-name">y_min_int</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">alpha</tt> <tt class="py-op">></tt> <tt class="py-number">0.0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">alpha</tt> <tt class="py-op"><</tt> <tt class="py-number">1.0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">y_min_int</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">>=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">current_pix</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y_min_int</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">current_pix</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt><tt class="py-op">*</tt><tt class="py-name">color</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y_min_int</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">,</tt><tt class="py-name">g</tt><tt class="py-op">,</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.process"></a><div id="WaveformImage.process-def"><a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="WaveformImage.process-toggle" onclick="return toggle('WaveformImage.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.process-expanded"><a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-45', 'frames', 'link-10');">frames</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt id="link-46" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-46', 'frames', 'link-10');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-47', 'frames', 'link-10');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-48', 'frames', 'link-10');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-49', 'frames', 'link-10');">frames</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">buffer</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-50', 'frames', 'link-10');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-51" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-51', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">db_spectrum</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-52', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-53', 'process', 'link-9');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">samples</tt><tt class="py-op">,</tt> <tt class="py-name">end</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-54', 'process', 'link-9');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name" targets="Variable timeside.tests.api.test_lolevel.eod=timeside.tests.api.test_lolevel-module.html#eod"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-55', 'eod', 'link-55');">eod</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt id="link-56" class="py-name"><a title="timeside.analyze.core.AudioProcessor.peaks
+timeside.grapher.core.WaveformImage.peaks" class="py-name" href="#" onclick="return doclink('link-56', 'peaks', 'link-41');">peaks</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="timeside.analyze.core.AudioProcessor.peaks
+timeside.grapher.core.WaveformImage.peaks" class="py-name" href="#" onclick="return doclink('link-57', 'peaks', 'link-41');">peaks</a></tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method timeside.grapher.core.WaveformImage.draw_peaks()=timeside.grapher.core.WaveformImage-class.html#draw_peaks"><a title="timeside.grapher.core.WaveformImage.draw_peaks" class="py-name" href="#" onclick="return doclink('link-58', 'draw_peaks', 'link-58');">draw_peaks</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="timeside.analyze.core.AudioProcessor.peaks
+timeside.grapher.core.WaveformImage.peaks" class="py-name" href="#" onclick="return doclink('link-59', 'peaks', 'link-41');">peaks</a></tt><tt class="py-op">,</tt> <tt id="link-60" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-60', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> </tt>
+<a name="WaveformImage.save"></a><div id="WaveformImage.save-def"><a name="L242"></a><tt class="py-lineno">242</tt> <a class="py-toggle" href="#" id="WaveformImage.save-toggle" onclick="return toggle('WaveformImage.save');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.WaveformImage-class.html#save">save</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveformImage.save-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WaveformImage.save-expanded"><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-number">25</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">p</tt><tt class="py-op">:</tt> <tt class="py-name">p</tt><tt class="py-op">+</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.save()=timeside.grapher.core.SpectrogramImage-class.html#save,Method timeside.grapher.core.WaveformImage.save()=timeside.grapher.core.WaveformImage-class.html#save"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-61', 'save', 'link-61');">save</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramImage"></a><div id="SpectrogramImage-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="SpectrogramImage-toggle" onclick="return toggle('SpectrogramImage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.core.SpectrogramImage-class.html">SpectrogramImage</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramImage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SpectrogramImage-expanded"><a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramImage.__init__"></a><div id="SpectrogramImage.__init__-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="SpectrogramImage.__init__-toggle" onclick="return toggle('SpectrogramImage.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectrogramImage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">image_width</tt><tt class="py-op">,</tt> <tt class="py-param">image_height</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">,</tt> <tt class="py-param">fft_size</tt><tt class="py-op">,</tt> <tt class="py-param">bg_color</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">color_scheme</tt><tt class="py-op">=</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramImage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectrogramImage.__init__-expanded"><a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-name">image_width</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-name">image_height</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-62', 'nframes', 'link-4');">nframes</a></tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-63', 'nframes', 'link-4');">nframes</a></tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-64', 'samplerate', 'link-6');">samplerate</a></tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-65', 'samplerate', 'link-6');">samplerate</a></tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-name">fft_size</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-66', 'color_scheme', 'link-25');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-67', 'color_scheme', 'link-25');">color_scheme</a></tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-string">"P"</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="timeside.grapher.color_schemes
+timeside.grapher.core.color_schemes
+timeside.grapher.spectrogram_audiolab.color_schemes
+timeside.grapher.waveform_audiolab.color_schemes
+timeside.tests.api.examples.color_schemes" class="py-name" href="#" onclick="return doclink('link-68', 'color_schemes', 'link-3');">color_schemes</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-69', 'color_scheme', 'link-25');">color_scheme</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'spectrogram'</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">putpalette</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="timeside.grapher.core.interpolate_colors" class="py-name" href="#" onclick="return doclink('link-70', 'interpolate_colors', 'link-31');">interpolate_colors</a></tt><tt class="py-op">(</tt><tt class="py-name">colors</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-71', 'nframes', 'link-4');">nframes</a></tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-72', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">buffer_size</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter_nframes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-73', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-74', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt> <tt class="py-op">=</tt> <tt class="py-number">20</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt> <tt class="py-op">=</tt> <tt class="py-number">16000</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-75', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="timeside.grapher.core.SpectralCentroid" class="py-name" href="#" onclick="return doclink('link-76', 'SpectralCentroid', 'link-37');">SpectralCentroid</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-77', 'nframes', 'link-4');">nframes</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-78', 'samplerate', 'link-6');">samplerate</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">hanning</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-comment"># generate the lookup which translates y-coordinate to fft-bin</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y_to_bin</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">f_min</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">f_max</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">higher</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">y_min</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">f_min</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">y_max</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">log10</tt><tt class="py-op">(</tt><tt class="py-name">f_max</tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">y</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">freq</tt> <tt class="py-op">=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">pow</tt><tt class="py-op">(</tt><tt class="py-number">10.0</tt><tt class="py-op">,</tt> <tt class="py-name">y_min</tt> <tt class="py-op">+</tt> <tt class="py-name">y</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">image_height</tt> <tt class="py-op">-</tt> <tt class="py-number">1.0</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">y_max</tt> <tt class="py-op">-</tt> <tt class="py-name">y_min</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">bin</tt> <tt class="py-op">=</tt> <tt class="py-name">freq</tt> <tt class="py-op">/</tt> <tt class="py-number">22050.0</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">/</tt><tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bin</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fft_size</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">alpha</tt> <tt class="py-op">=</tt> <tt class="py-name">bin</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">bin</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y_to_bin</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">bin</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">alpha</tt> <tt class="py-op">*</tt> <tt class="py-number">255</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-comment"># this is a bit strange, but using image.load()[x,y] = ... is</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># a lot slower than using image.putadata and then rotating the image</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># so we store all the pixels in an array and then create the image when saving</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramImage.draw_spectrum"></a><div id="SpectrogramImage.draw_spectrum-def"><a name="L294"></a><tt class="py-lineno">294</tt> <a class="py-toggle" href="#" id="SpectrogramImage.draw_spectrum-toggle" onclick="return toggle('SpectrogramImage.draw_spectrum');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectrogramImage-class.html#draw_spectrum">draw_spectrum</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">spectrum</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramImage.draw_spectrum-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectrogramImage.draw_spectrum-expanded"><a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y_to_bin</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">255.0</tt><tt class="py-op">-</tt><tt class="py-name">alpha</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">spectrum</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">alpha</tt> <tt class="py-op">*</tt> <tt class="py-name">spectrum</tt><tt class="py-op">[</tt><tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">y</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">y_to_bin</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_height</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramImage.process"></a><div id="SpectrogramImage.process-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="SpectrogramImage.process-toggle" onclick="return toggle('SpectrogramImage.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectrogramImage-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramImage.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectrogramImage.process-expanded"><a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-79', 'frames', 'link-10');">frames</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-80', 'frames', 'link-10');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-81', 'frames', 'link-10');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt id="link-82" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-82', 'frames', 'link-10');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-83', 'frames', 'link-10');">frames</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">buffer</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-comment"># FIXME : breaks spectrum linearity</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">samples</tt><tt class="py-op">,</tt> <tt class="py-name">end</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels_adapter</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-84', 'process', 'link-9');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt id="link-85" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-85', 'eod', 'link-55');">eod</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image_width</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-86" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-86', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">,</tt> <tt class="py-name">db_spectrum</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="timeside.analyze.core.AudioProcessor.spectral_centroid" class="py-name" href="#" onclick="return doclink('link-87', 'spectral_centroid', 'link-11');">spectral_centroid</a></tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-88', 'process', 'link-9');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.draw_spectrum()=timeside.grapher.core.SpectrogramImage-class.html#draw_spectrum"><a title="timeside.grapher.core.SpectrogramImage.draw_spectrum" class="py-name" href="#" onclick="return doclink('link-89', 'draw_spectrum', 'link-89');">draw_spectrum</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt><tt class="py-op">,</tt> <tt class="py-name">db_spectrum</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixel_cursor</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramImage.save"></a><div id="SpectrogramImage.save-def"><a name="L316"></a><tt class="py-lineno">316</tt> <a class="py-toggle" href="#" id="SpectrogramImage.save-toggle" onclick="return toggle('SpectrogramImage.save');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.SpectrogramImage-class.html#save">save</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramImage.save-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SpectrogramImage.save-expanded"><a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">putdata</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pixels</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">transpose</tt><tt class="py-op">(</tt><tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">ROTATE_90</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-90', 'save', 'link-61');">save</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> </tt>
+<a name="Noise"></a><div id="Noise-def"><a name="L321"></a><tt class="py-lineno">321</tt> <a class="py-toggle" href="#" id="Noise-toggle" onclick="return toggle('Noise');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html">Noise</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Noise-expanded"><a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-docstring">"""A class that mimics audiolab.sndfile but generates noise instead of reading</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"><tt class="py-docstring"> a wave file. Additionally it can be told to have a "broken" header and thus crashing</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"><tt class="py-docstring"> in the middle of the file. Also useful for testing ultra-short files of 20 samples."""</tt> </tt>
+<a name="Noise.__init__"></a><div id="Noise.__init__-def"><a name="L325"></a><tt class="py-lineno">325</tt> <a class="py-toggle" href="#" id="Noise.__init__-toggle" onclick="return toggle('Noise.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num_frames</tt><tt class="py-op">,</tt> <tt class="py-param">has_broken_header</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.__init__-expanded"><a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seekpoint</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num_frames</tt> <tt class="py-op">=</tt> <tt class="py-name">num_frames</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">has_broken_header</tt> <tt class="py-op">=</tt> <tt class="py-name">has_broken_header</tt> </tt>
+</div><a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> </tt>
+<a name="Noise.seek"></a><div id="Noise.seek-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="Noise.seek-toggle" onclick="return toggle('Noise.seek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#seek">seek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">seekpoint</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.seek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.seek-expanded"><a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seekpoint</tt> <tt class="py-op">=</tt> <tt class="py-name">seekpoint</tt> </tt>
+</div><a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> </tt>
+<a name="Noise.get_nframes"></a><div id="Noise.get_nframes-def"><a name="L333"></a><tt class="py-lineno">333</tt> <a class="py-toggle" href="#" id="Noise.get_nframes-toggle" onclick="return toggle('Noise.get_nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#get_nframes">get_nframes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.get_nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.get_nframes-expanded"><a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num_frames</tt> </tt>
+</div><a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> </tt>
+<a name="Noise.get_samplerate"></a><div id="Noise.get_samplerate-def"><a name="L336"></a><tt class="py-lineno">336</tt> <a class="py-toggle" href="#" id="Noise.get_samplerate-toggle" onclick="return toggle('Noise.get_samplerate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#get_samplerate">get_samplerate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.get_samplerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.get_samplerate-expanded"><a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">44100</tt> </tt>
+</div><a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> </tt>
+<a name="Noise.get_channels"></a><div id="Noise.get_channels-def"><a name="L339"></a><tt class="py-lineno">339</tt> <a class="py-toggle" href="#" id="Noise.get_channels-toggle" onclick="return toggle('Noise.get_channels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#get_channels">get_channels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.get_channels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.get_channels-expanded"><a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> </tt>
+<a name="Noise.read_frames"></a><div id="Noise.read_frames-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="Noise.read_frames-toggle" onclick="return toggle('Noise.read_frames');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.core.Noise-class.html#read_frames">read_frames</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames_to_read</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Noise.read_frames-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Noise.read_frames-expanded"><a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">has_broken_header</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seekpoint</tt> <tt class="py-op">+</tt> <tt class="py-name">frames_to_read</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num_frames</tt> <tt class="py-op">/</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-name">num_frames_left</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num_frames</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seekpoint</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">num_frames_left</tt> <tt class="py-op"><</tt> <tt class="py-name">frames_to_read</tt><tt class="py-op">:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-name">will_read</tt> <tt class="py-op">=</tt> <tt class="py-name">num_frames_left</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-name">will_read</tt> <tt class="py-op">=</tt> <tt class="py-name">frames_to_read</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seekpoint</tt> <tt class="py-op">+=</tt> <tt class="py-name">will_read</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt><tt class="py-op">(</tt><tt class="py-name">will_read</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">2</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+</div></div><a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core.Noise</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.core-module.html">Module core</a> ::
+ Class Noise
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core.Noise-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Noise</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">Noise</strong>
+</pre>
+
+<hr />
+<p>A class that mimics audiolab.sndfile but generates noise instead of
+ reading a wave file. Additionally it can be told to have a
+ "broken" header and thus crashing in the middle of the file.
+ Also useful for testing ultra-short files of 20 samples.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core.Noise-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">num_frames</span>,
+ <span class="summary-sig-arg">has_broken_header</span>=<span class="summary-sig-default">False</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="seek"></a><span class="summary-sig-name">seek</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">seekpoint</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.seek">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_nframes"></a><span class="summary-sig-name">get_nframes</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.get_nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_samplerate"></a><span class="summary-sig-name">get_samplerate</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.get_samplerate">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_channels"></a><span class="summary-sig-name">get_channels</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.get_channels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="read_frames"></a><span class="summary-sig-name">read_frames</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames_to_read</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.read_frames">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">num_frames</span>,
+ <span class="sig-arg">has_broken_header</span>=<span class="sig-default">False</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#Noise.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core.SpectralCentroid</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.core-module.html">Module core</a> ::
+ Class SpectralCentroid
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core.SpectralCentroid-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SpectralCentroid</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectralCentroid">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">SpectralCentroid</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core.SpectralCentroid-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">fft_size</span>,
+ <span class="summary-sig-arg">nframes</span>,
+ <span class="summary-sig-arg">samplerate</span>,
+ <span class="summary-sig-arg">lower</span>,
+ <span class="summary-sig-arg">higher</span>,
+ <span class="summary-sig-arg">window_function</span>=<span class="summary-sig-default"><function ones at 0x917279c></span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectralCentroid.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="process"></a><span class="summary-sig-name">process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>,
+ <span class="summary-sig-arg">spec_range</span>=<span class="summary-sig-default">120.0</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectralCentroid.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">fft_size</span>,
+ <span class="sig-arg">nframes</span>,
+ <span class="sig-arg">samplerate</span>,
+ <span class="sig-arg">lower</span>,
+ <span class="sig-arg">higher</span>,
+ <span class="sig-arg">window_function</span>=<span class="sig-default"><function ones at 0x917279c></span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectralCentroid.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core.SpectrogramImage</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.core-module.html">Module core</a> ::
+ Class SpectrogramImage
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core.SpectrogramImage-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SpectrogramImage</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">SpectrogramImage</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core.SpectrogramImage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">image_width</span>,
+ <span class="summary-sig-arg">image_height</span>,
+ <span class="summary-sig-arg">nframes</span>,
+ <span class="summary-sig-arg">samplerate</span>,
+ <span class="summary-sig-arg">fft_size</span>,
+ <span class="summary-sig-arg">bg_color</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">color_scheme</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code></span>,
+ <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="draw_spectrum"></a><span class="summary-sig-name">draw_spectrum</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">x</span>,
+ <span class="summary-sig-arg">spectrum</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage.draw_spectrum">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="process"></a><span class="summary-sig-name">process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="save"></a><span class="summary-sig-name">save</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage.save">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">image_width</span>,
+ <span class="sig-arg">image_height</span>,
+ <span class="sig-arg">nframes</span>,
+ <span class="sig-arg">samplerate</span>,
+ <span class="sig-arg">fft_size</span>,
+ <span class="sig-arg">bg_color</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">color_scheme</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code></span>,
+ <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#SpectrogramImage.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.core.WaveformImage</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.core-module.html">Module core</a> ::
+ Class WaveformImage
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.core.WaveformImage-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WaveformImage</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">WaveformImage</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core.WaveformImage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">image_width</span>,
+ <span class="summary-sig-arg">image_height</span>,
+ <span class="summary-sig-arg">nframes</span>,
+ <span class="summary-sig-arg">samplerate</span>,
+ <span class="summary-sig-arg">fft_size</span>,
+ <span class="summary-sig-arg">bg_color</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">color_scheme</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.grapher.core.WaveformImage-class.html#peaks" class="summary-sig-name">peaks</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">samples</span>)</span><br />
+ read all samples between start_seek and end_seek, then find the
+ minimum and maximum peak in that range.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.peaks">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="color_from_value"></a><span class="summary-sig-name">color_from_value</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">value</span>)</span><br />
+ given a value between 0 and 1, return an (r,g,b) tuple</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.color_from_value">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="draw_peaks"></a><span class="summary-sig-name">draw_peaks</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">x</span>,
+ <span class="summary-sig-arg">peaks</span>,
+ <span class="summary-sig-arg">spectral_centroid</span>)</span><br />
+ draw 2 peaks at x using the spectral_centroid for color</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.draw_peaks">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="draw_anti_aliased_pixels"></a><span class="summary-sig-name">draw_anti_aliased_pixels</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">x</span>,
+ <span class="summary-sig-arg">y1</span>,
+ <span class="summary-sig-arg">y2</span>,
+ <span class="summary-sig-arg">color</span>)</span><br />
+ vertical anti-aliasing at y1 and y2</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.draw_anti_aliased_pixels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="process"></a><span class="summary-sig-name">process</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="save"></a><span class="summary-sig-name">save</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.save">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">image_width</span>,
+ <span class="sig-arg">image_height</span>,
+ <span class="sig-arg">nframes</span>,
+ <span class="sig-arg">samplerate</span>,
+ <span class="sig-arg">fft_size</span>,
+ <span class="sig-arg">bg_color</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">color_scheme</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="peaks"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">peaks</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">samples</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.grapher.core-pysrc.html#WaveformImage.peaks">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>read all samples between start_seek and end_seek, then find the
+ minimum and maximum peak in that range. Returns that pair in the order
+ they were found. So if min was found first, it returns (min, max) else
+ the other way around.</p>
+ <dl class="fields">
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.spectrogram_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module spectrogram_audiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.spectrogram_audiolab-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module spectrogram_audiolab</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html" class="summary-name">SpectrogramGrapherAudiolab</a><br />
+ Spectrogram graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.spectrogram_audiolab-module.html#color_schemes" class="summary-name">color_schemes</a> = <code title="{'default': {'spectrogram': [(0, 0, 0),
+ (14, 17, 16),
+ (40, 50, 76),
+ (90, 180, 100),
+ (224, 224, 44),
+ (255, 60, 30),
+ (255, 255, 255)],
+ 'waveform': [(50, 0, 200), (0, 220, 80), (255, 224, 0), (\
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>14<code class="variable-op">, </code>1<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="color_schemes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">color_schemes</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>14<code class="variable-op">, </code>17<code class="variable-op">, </code>16<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>40<code class="variable-op">, </code>50<code class="variable-op">, </code>76<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>90<code class="variable-op">, </code>180<code class="variable-op">, </code>100<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>224<code class="variable-op">, </code>224<code class="variable-op">, </code>44<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>60<code class="variable-op">, </code>30<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>255<code class="variable-op">, </code>255<code class="variable-group">)</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">waveform</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>50<code class="variable-op">, </code>0<code class="variable-op">, </code>200<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>0<code class="variable-op">, </code>220<code class="variable-op">, </code>80<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>255<code class="variable-op">, </code>224<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.spectrogram_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module spectrogram_audiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.spectrogram_audiolab-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.grapher.spectrogram_audiolab-module.html">Module timeside.grapher.spectrogram_audiolab</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-3', 'api', 'link-3');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class timeside.api.IGrapher=timeside.api.IGrapher-class.html"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-4', 'IGrapher', 'link-4');">IGrapher</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">tempfile</tt> <tt class="py-keyword">import</tt> <tt class="py-name">NamedTemporaryFile</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-5', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-6', 'grapher', 'link-6');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-7', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="SpectrogramGrapherAudiolab"></a><div id="SpectrogramGrapherAudiolab-def"><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="SpectrogramGrapherAudiolab-toggle" onclick="return toggle('SpectrogramGrapherAudiolab');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html">SpectrogramGrapherAudiolab</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramGrapherAudiolab-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="SpectrogramGrapherAudiolab-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-docstring">"""Spectrogram graph driver (python style thanks to wav2png.py and scikits.audiolab)"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-8', 'implements', 'link-8');">implements</a></tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-9', 'IGrapher', 'link-4');">IGrapher</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-10', 'bg_color', 'link-10');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-11', 'color_scheme', 'link-11');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="SpectrogramGrapherAudiolab.id"></a><div id="SpectrogramGrapherAudiolab.id-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="SpectrogramGrapherAudiolab.id-toggle" onclick="return toggle('SpectrogramGrapherAudiolab.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramGrapherAudiolab.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SpectrogramGrapherAudiolab.id-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"spectrogram"</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramGrapherAudiolab.name"></a><div id="SpectrogramGrapherAudiolab.name-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="SpectrogramGrapherAudiolab.name-toggle" onclick="return toggle('SpectrogramGrapherAudiolab.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramGrapherAudiolab.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SpectrogramGrapherAudiolab.name-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Spectrogram (audiolab)"</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramGrapherAudiolab.set_colors"></a><div id="SpectrogramGrapherAudiolab.set_colors-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="SpectrogramGrapherAudiolab.set_colors-toggle" onclick="return toggle('SpectrogramGrapherAudiolab.set_colors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#set_colors">set_colors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">background</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramGrapherAudiolab.set_colors-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SpectrogramGrapherAudiolab.set_colors-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-12', 'bg_color', 'link-10');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">background</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-13', 'color_scheme', 'link-11');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">scheme</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
+<a name="SpectrogramGrapherAudiolab.render"></a><div id="SpectrogramGrapherAudiolab.render-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="SpectrogramGrapherAudiolab.render-toggle" onclick="return toggle('SpectrogramGrapherAudiolab.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SpectrogramGrapherAudiolab.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="SpectrogramGrapherAudiolab.render-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-docstring">"""Generator that streams the spectrogram as a PNG image with a python method"""</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-name">wav_file</tt> <tt class="py-op">=</tt> <tt class="py-name">media_item</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-name">pngFile</tt> <tt class="py-op">=</tt> <tt class="py-name">NamedTemporaryFile</tt><tt class="py-op">(</tt><tt class="py-name">suffix</tt><tt class="py-op">=</tt><tt class="py-string">'.png'</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">width</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-name">width</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-number">1500</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">height</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-name">height</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-number">200</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">wav_file</tt><tt class="py-op">,</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-14');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">image_width</tt><tt class="py-op">,</tt> <tt class="py-name">image_height</tt><tt class="py-op">,</tt> <tt class="py-name">fft_size</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-15', 'bg_color', 'link-10');">bg_color</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-16', 'color_scheme', 'link-11');">color_scheme</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">create_spectrogram_png</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-17', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">0xFFFF</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">buffer</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">buffer</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">0xFFFF</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.spectrogram_audiolab-module.html">Module spectrogram_audiolab</a> ::
+ Class SpectrogramGrapherAudiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SpectrogramGrapherAudiolab</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html#SpectrogramGrapherAudiolab">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">SpectrogramGrapherAudiolab</strong>
+</pre>
+
+<hr />
+<p>Spectrogram graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html#SpectrogramGrapherAudiolab.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="set_colors"></a><span class="summary-sig-name">set_colors</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">background</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">scheme</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html#SpectrogramGrapherAudiolab.set_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Generator that streams the spectrogram as a PNG image with a python
+ method</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html#SpectrogramGrapherAudiolab.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.spectrogram_audiolab-pysrc.html#SpectrogramGrapherAudiolab.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="bg_color"></a><span class="summary-name">bg_color</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="color_scheme"></a><span class="summary-name">color_scheme</span> = <code title="None">None</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.waveform_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module waveform_audiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.waveform_audiolab-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module waveform_audiolab</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html" class="summary-name">WaveFormGrapherAudiolab</a><br />
+ WaveForm graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.grapher.waveform_audiolab-module.html#color_schemes" class="summary-name">color_schemes</a> = <code title="{'default': {'spectrogram': [(0, 0, 0),
+ (14, 17, 16),
+ (40, 50, 76),
+ (90, 180, 100),
+ (224, 224, 44),
+ (255, 60, 30),
+ (255, 255, 255)],
+ 'waveform': [(50, 0, 200), (0, 220, 80), (255, 224, 0), (\
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>14<code class="variable-op">, </code>1<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="color_schemes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">color_schemes</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>14<code class="variable-op">, </code>17<code class="variable-op">, </code>16<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>40<code class="variable-op">, </code>50<code class="variable-op">, </code>76<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>90<code class="variable-op">, </code>180<code class="variable-op">, </code>100<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>224<code class="variable-op">, </code>224<code class="variable-op">, </code>44<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>60<code class="variable-op">, </code>30<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>255<code class="variable-op">, </code>255<code class="variable-group">)</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">waveform</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>50<code class="variable-op">, </code>0<code class="variable-op">, </code>200<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>0<code class="variable-op">, </code>220<code class="variable-op">, </code>80<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>255<code class="variable-op">, </code>224<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.waveform_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ Module waveform_audiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.waveform_audiolab-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.grapher.waveform_audiolab-module.html">Module timeside.grapher.waveform_audiolab</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># Author: Guillaume Pellerin <yomguy@parisson.com></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-3', 'api', 'link-3');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class timeside.api.IGrapher=timeside.api.IGrapher-class.html"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-4', 'IGrapher', 'link-4');">IGrapher</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">tempfile</tt> <tt class="py-keyword">import</tt> <tt class="py-name">NamedTemporaryFile</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-5', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-6', 'grapher', 'link-6');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-7', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="WaveFormGrapherAudiolab"></a><div id="WaveFormGrapherAudiolab-def"><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="WaveFormGrapherAudiolab-toggle" onclick="return toggle('WaveFormGrapherAudiolab');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html">WaveFormGrapherAudiolab</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveFormGrapherAudiolab-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="WaveFormGrapherAudiolab-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-docstring">"""WaveForm graph driver (python style thanks to wav2png.py and scikits.audiolab)"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-8', 'implements', 'link-8');">implements</a></tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-9', 'IGrapher', 'link-4');">IGrapher</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-10', 'bg_color', 'link-10');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-11', 'color_scheme', 'link-11');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="WaveFormGrapherAudiolab.id"></a><div id="WaveFormGrapherAudiolab.id-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="WaveFormGrapherAudiolab.id-toggle" onclick="return toggle('WaveFormGrapherAudiolab.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveFormGrapherAudiolab.id-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WaveFormGrapherAudiolab.id-expanded"><a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"waveform"</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="WaveFormGrapherAudiolab.name"></a><div id="WaveFormGrapherAudiolab.name-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="WaveFormGrapherAudiolab.name-toggle" onclick="return toggle('WaveFormGrapherAudiolab.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveFormGrapherAudiolab.name-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WaveFormGrapherAudiolab.name-expanded"><a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Waveform (audiolab)"</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> </tt>
+<a name="WaveFormGrapherAudiolab.set_colors"></a><div id="WaveFormGrapherAudiolab.set_colors-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="WaveFormGrapherAudiolab.set_colors-toggle" onclick="return toggle('WaveFormGrapherAudiolab.set_colors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#set_colors">set_colors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">background</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveFormGrapherAudiolab.set_colors-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WaveFormGrapherAudiolab.set_colors-expanded"><a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-12', 'bg_color', 'link-10');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">background</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-13', 'color_scheme', 'link-11');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">scheme</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
+<a name="WaveFormGrapherAudiolab.render"></a><div id="WaveFormGrapherAudiolab.render-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="WaveFormGrapherAudiolab.render-toggle" onclick="return toggle('WaveFormGrapherAudiolab.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_item</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WaveFormGrapherAudiolab.render-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="WaveFormGrapherAudiolab.render-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-docstring">"""Generator that streams the waveform as a PNG image with a python method"""</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-name">wav_file</tt> <tt class="py-op">=</tt> <tt class="py-name">media_item</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-name">pngFile</tt> <tt class="py-op">=</tt> <tt class="py-name">NamedTemporaryFile</tt><tt class="py-op">(</tt><tt class="py-name">suffix</tt><tt class="py-op">=</tt><tt class="py-string">'.png'</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">width</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-name">width</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-name">image_width</tt> <tt class="py-op">=</tt> <tt class="py-number">1500</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">height</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-name">height</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-name">image_height</tt> <tt class="py-op">=</tt> <tt class="py-number">200</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-name">fft_size</tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">wav_file</tt><tt class="py-op">,</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-14');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">image_width</tt><tt class="py-op">,</tt> <tt class="py-name">image_height</tt><tt class="py-op">,</tt> <tt class="py-name">fft_size</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-15', 'bg_color', 'link-10');">bg_color</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-16', 'color_scheme', 'link-11');">color_scheme</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">create_wavform_png</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.read()=timeside.analyze.core.AudioProcessor-class.html#read"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-17', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">0xFFFF</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">buffer</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">buffer</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"> <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.analyze.core.AudioProcessor.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">0xFFFF</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> <tt class="py-name">pngFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L72"></a><tt class="py-lineno">72</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.grapher-module.html">Package grapher</a> ::
+ <a href="timeside.grapher.waveform_audiolab-module.html">Module waveform_audiolab</a> ::
+ Class WaveFormGrapherAudiolab
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WaveFormGrapherAudiolab</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html#WaveFormGrapherAudiolab">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">WaveFormGrapherAudiolab</strong>
+</pre>
+
+<hr />
+<p>WaveForm graph driver (python style thanks to wav2png.py and
+ scikits.audiolab)</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="name"></a><span class="summary-sig-name">name</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html#WaveFormGrapherAudiolab.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="set_colors"></a><span class="summary-sig-name">set_colors</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">background</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">scheme</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html#WaveFormGrapherAudiolab.set_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="render"></a><span class="summary-sig-name">render</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_item</span>,
+ <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Generator that streams the waveform as a PNG image with a python
+ method</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html#WaveFormGrapherAudiolab.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="id"></a><span class="summary-sig-name">id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.grapher.waveform_audiolab-pysrc.html#WaveFormGrapherAudiolab.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="bg_color"></a><span class="summary-name">bg_color</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="color_scheme"></a><span class="summary-name">color_scheme</span> = <code title="None">None</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.metadata</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module metadata
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.metadata-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module metadata</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.metadata-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.metadata.Metadata-class.html" class="summary-name">Metadata</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.metadata</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Module metadata
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.metadata-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.metadata-module.html">Module timeside.metadata</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2007-2009 Parisson</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <pellerin@parisson.com></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="Metadata"></a><div id="Metadata-def"><a name="L22"></a><tt class="py-lineno">22</tt> <a class="py-toggle" href="#" id="Metadata-toggle" onclick="return toggle('Metadata');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.metadata.Metadata-class.html">Metadata</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Metadata-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Metadata-expanded"><a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.metadata.Metadata</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.metadata-module.html">Module metadata</a> ::
+ Class Metadata
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.metadata.Metadata-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Metadata</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.metadata-pysrc.html#Metadata">source code</a></span></p>
+<pre class="base-tree">
+object --+
+ |
+ <strong class="uidshort">Metadata</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package tests
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package tests</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.tests.alltests-module.html">timeside.tests.alltests</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api-module.html">timeside.tests.api</a></strong>
+ <ul>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a></strong> </li>
+ </ul>
+ </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.listprocessors-module.html">timeside.tests.listprocessors</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.test-module.html">timeside.tests.test</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testcomponent-module.html">timeside.tests.testcomponent</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.testinputadapter-module.html">timeside.tests.testinputadapter</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.TestCase-class.html" class="summary-name">TestCase</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests._TextTestResult-class.html" class="summary-name" onclick="show_private();">_TextTestResult</a><br />
+ A test result class that can print formatted text results to a
+ stream.
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests._WritelnDecorator-class.html" class="summary-name" onclick="show_private();">_WritelnDecorator</a><br />
+ Used to decorate file-like objects with a handy 'writeln' method
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.TestRunner-class.html" class="summary-name">TestRunner</a><br />
+ A test runner class that displays results in textual form.
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ Package tests
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests-module.html">Package timeside.tests</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">unittest</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
+<a name="TestCase"></a><div id="TestCase-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="TestCase-toggle" onclick="return toggle('TestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.TestCase-class.html">TestCase</a><tt class="py-op">(</tt><tt class="py-base-class">unittest</tt><tt class="py-op">.</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestCase-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestCase-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> </tt>
+<a name="TestCase.assertSameList"></a><div id="TestCase.assertSameList-def"><a name="L8"></a><tt class="py-lineno"> 8</tt> <a class="py-toggle" href="#" id="TestCase.assertSameList-toggle" onclick="return toggle('TestCase.assertSameList');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.TestCase-class.html#assertSameList">assertSameList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">list1</tt><tt class="py-op">,</tt> <tt class="py-param">list2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestCase.assertSameList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestCase.assertSameList-expanded"><a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-docstring">"Test that two lists contain the same elements, in any order"</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list1</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"Lists length differ : %d != %d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list1</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list2</tt><tt class="py-op">:</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"%s is not in list2"</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list2</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list1</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"%s is not in list1"</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult"></a><div id="_TextTestResult-def"><a name="L21"></a><tt class="py-lineno"> 21</tt> <a class="py-toggle" href="#" id="_TextTestResult-toggle" onclick="return toggle('_TextTestResult');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html">_TextTestResult</a><tt class="py-op">(</tt><tt class="py-base-class">unittest</tt><tt class="py-op">.</tt><tt class="py-base-class">TestResult</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_TextTestResult-expanded"><a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> <tt class="py-docstring">"""A test result class that can print formatted text results to a stream.</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"> Used by TextTestRunner.</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Variable timeside.tests._TextTestResult.separator1=timeside.tests._TextTestResult-class.html#separator1"><a title="timeside.tests._TextTestResult.separator1" class="py-name" href="#" onclick="return doclink('link-0', 'separator1', 'link-0');">separator1</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'='</tt> <tt class="py-op">*</tt> <tt class="py-number">70</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Variable timeside.tests._TextTestResult.separator2=timeside.tests._TextTestResult-class.html#separator2"><a title="timeside.tests._TextTestResult.separator2" class="py-name" href="#" onclick="return doclink('link-1', 'separator2', 'link-1');">separator2</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'-'</tt> <tt class="py-op">*</tt> <tt class="py-number">70</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.__init__"></a><div id="_TextTestResult.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="_TextTestResult.__init__-toggle" onclick="return toggle('_TextTestResult.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">descriptions</tt><tt class="py-op">,</tt> <tt class="py-param">verbosity</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.__init__-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestResult</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method timeside.analyze.core.AudioProcessor.__init__()=timeside.analyze.core.AudioProcessor-class.html#__init__,Method timeside.analyze.vamp.core.VampCoreAnalyzer.__init__()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#__init__,Method timeside.api.IAnalyzer.__init__()=timeside.api.IAnalyzer-class.html#__init__,Method timeside.api.IDecoder.__init__()=timeside.api.IDecoder-class.html#__init__,Method timeside.api.IEffect.__init__()=timeside.api.IEffect-class.html#__init__,Method timeside.api.IEncoder.__init__()=timeside.api.IEncoder-class.html#__init__,Method timeside.api.IGrapher.__init__()=timeside.api.IGrapher-class.html#__init__,Method timeside.core.FixedSizeInputAdapter.__init__()=timeside.core.FixedSizeInputAdapter-class.html#__init__,Method timeside.core.ProcessPipe.__init__()=timeside.core.ProcessPipe-class.html#__init__,Method timeside.decode.core.DecoderCore.__init__()=timeside.decode.core.DecoderCore-class.html#__init__,Method timeside.decode.core.SubProcessPipe.__init__()=timeside.decode.core.SubProcessPipe-class.html#__init__,Method timeside.decode.mp3.Mp3Decoder.__init__()=timeside.decode.mp3.Mp3Decoder-class.html#__init__,Method timeside.encode.core.SubProcessPipe.__init__()=timeside.encode.core.SubProcessPipe-class.html#__init__,Method timeside.encode.flac.FlacEncoder.__init__()=timeside.encode.flac.FlacEncoder-class.html#__init__,Method timeside.encode.mp3.Mp3Encoder.__init__()=timeside.encode.mp3.Mp3Encoder-class.html#__init__,Method timeside.encode.ogg.OggVorbisEncoder.__init__()=timeside.encode.ogg.OggVorbisEncoder-class.html#__init__,Method timeside.encode.wav.WavEncoder.__init__()=timeside.encode.wav.WavEncoder-class.html#__init__,Method timeside.exceptions.SubProcessError.__init__()=timeside.exceptions.SubProcessError-class.html#__init__,Method timeside.grapher.core.Noise.__init__()=timeside.grapher.core.Noise-class.html#__init__,Method timeside.grapher.core.SpectralCentroid.__init__()=timeside.grapher.core.SpectralCentroid-class.html#__init__,Method timeside.grapher.core.SpectrogramImage.__init__()=timeside.grapher.core.SpectrogramImage-class.html#__init__,Method timeside.grapher.core.WaveformImage.__init__()=timeside.grapher.core.WaveformImage-class.html#__init__,Method timeside.tests.TestRunner.__init__()=timeside.tests.TestRunner-class.html#__init__,Method timeside.tests._TextTestResult.__init__()=timeside.tests._TextTestResult-class.html#__init__,Method timeside.tests._WritelnDecorator.__init__()=timeside.tests._WritelnDecorator-class.html#__init__,Method timeside.tests.api.examples.FileDecoder.__init__()=timeside.tests.api.examples.FileDecoder-class.html#__init__,Method timeside.tests.api.examples.Gain.__init__()=timeside.tests.api.examples.Gain-class.html#__init__,Method timeside.tests.api.examples.Spectrogram.__init__()=timeside.tests.api.examples.Spectrogram-class.html#__init__,Method timeside.tests.api.examples.WavEncoder.__init__()=timeside.tests.api.examples.WavEncoder-class.html#__init__,Method timeside.tests.api.examples.Waveform.__init__()=timeside.tests.api.examples.Waveform-class.html#__init__,Method timeside.tests.api.gstreamer.FileDecoder.__init__()=timeside.tests.api.gstreamer.FileDecoder-class.html#__init__,Method timeside.tests.api.gstreamer.WavEncoder.__init__()=timeside.tests.api.gstreamer.WavEncoder-class.html#__init__"><a title="timeside.analyze.core.AudioProcessor.__init__
+timeside.analyze.vamp.core.VampCoreAnalyzer.__init__
+timeside.api.IAnalyzer.__init__
+timeside.api.IDecoder.__init__
+timeside.api.IEffect.__init__
+timeside.api.IEncoder.__init__
+timeside.api.IGrapher.__init__
+timeside.core.FixedSizeInputAdapter.__init__
+timeside.core.ProcessPipe.__init__
+timeside.decode.core.DecoderCore.__init__
+timeside.decode.core.SubProcessPipe.__init__
+timeside.decode.mp3.Mp3Decoder.__init__
+timeside.encode.core.SubProcessPipe.__init__
+timeside.encode.flac.FlacEncoder.__init__
+timeside.encode.mp3.Mp3Encoder.__init__
+timeside.encode.ogg.OggVorbisEncoder.__init__
+timeside.encode.wav.WavEncoder.__init__
+timeside.exceptions.SubProcessError.__init__
+timeside.grapher.core.Noise.__init__
+timeside.grapher.core.SpectralCentroid.__init__
+timeside.grapher.core.SpectrogramImage.__init__
+timeside.grapher.core.WaveformImage.__init__
+timeside.tests.TestRunner.__init__
+timeside.tests._TextTestResult.__init__
+timeside.tests._WritelnDecorator.__init__
+timeside.tests.api.examples.FileDecoder.__init__
+timeside.tests.api.examples.Gain.__init__
+timeside.tests.api.examples.Spectrogram.__init__
+timeside.tests.api.examples.WavEncoder.__init__
+timeside.tests.api.examples.Waveform.__init__
+timeside.tests.api.gstreamer.FileDecoder.__init__
+timeside.tests.api.gstreamer.WavEncoder.__init__" class="py-name" href="#" onclick="return doclink('link-2', '__init__', 'link-2');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">stream</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt> <tt class="py-op">=</tt> <tt class="py-name">verbosity</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dots</tt> <tt class="py-op">=</tt> <tt class="py-name">verbosity</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">descriptions</tt> <tt class="py-op">=</tt> <tt class="py-name">descriptions</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentTestCase</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.getDescription"></a><div id="_TextTestResult.getDescription-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="_TextTestResult.getDescription-toggle" onclick="return toggle('_TextTestResult.getDescription');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#getDescription">getDescription</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.getDescription-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.getDescription-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">descriptions</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-3" class="py-name" targets="Module timeside.tests.test=timeside.tests.test-module.html,Method timeside.tests.testcomponent.C10.test()=timeside.tests.testcomponent.C10-class.html#test,Method timeside.tests.testcomponent.I10.test()=timeside.tests.testcomponent.I10-class.html#test"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-3', 'test', 'link-3');">test</a></tt><tt class="py-op">.</tt><tt class="py-name">shortDescription</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-4', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-5', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.startTest"></a><div id="_TextTestResult.startTest-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="_TextTestResult.startTest-toggle" onclick="return toggle('_TextTestResult.startTest');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#startTest">startTest</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.startTest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.startTest-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestResult</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method timeside.tests._TextTestResult.startTest()=timeside.tests._TextTestResult-class.html#startTest"><a title="timeside.tests._TextTestResult.startTest" class="py-name" href="#" onclick="return doclink('link-6', 'startTest', 'link-6');">startTest</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-7', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentTestCase</tt> <tt class="py-op">!=</tt> <tt id="link-8" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-8', 'test', 'link-3');">test</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentTestCase</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-9', 'test', 'link-3');">test</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.tests._WritelnDecorator.writeln()=timeside.tests._WritelnDecorator-class.html#writeln"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-10', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-11', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"[%s]"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentTestCase</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method timeside.tests._TextTestResult.getDescription()=timeside.tests._TextTestResult-class.html#getDescription"><a title="timeside.tests._TextTestResult.getDescription" class="py-name" href="#" onclick="return doclink('link-12', 'getDescription', 'link-12');">getDescription</a></tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-13', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">" ... "</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.addSuccess"></a><div id="_TextTestResult.addSuccess-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="_TextTestResult.addSuccess-toggle" onclick="return toggle('_TextTestResult.addSuccess');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#addSuccess">addSuccess</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.addSuccess-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.addSuccess-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestResult</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method timeside.tests._TextTestResult.addSuccess()=timeside.tests._TextTestResult-class.html#addSuccess"><a title="timeside.tests._TextTestResult.addSuccess" class="py-name" href="#" onclick="return doclink('link-14', 'addSuccess', 'link-14');">addSuccess</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-15', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-16', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"ok"</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dots</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.addError"></a><div id="_TextTestResult.addError-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="_TextTestResult.addError-toggle" onclick="return toggle('_TextTestResult.addError');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#addError">addError</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">,</tt> <tt class="py-param">err</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.addError-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.addError-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestResult</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method timeside.tests._TextTestResult.addError()=timeside.tests._TextTestResult-class.html#addError"><a title="timeside.tests._TextTestResult.addError" class="py-name" href="#" onclick="return doclink('link-17', 'addError', 'link-17');">addError</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-18', 'test', 'link-3');">test</a></tt><tt class="py-op">,</tt> <tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-19', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dots</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'E'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.addFailure"></a><div id="_TextTestResult.addFailure-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="_TextTestResult.addFailure-toggle" onclick="return toggle('_TextTestResult.addFailure');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#addFailure">addFailure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">,</tt> <tt class="py-param">err</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.addFailure-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.addFailure-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestResult</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method timeside.tests._TextTestResult.addFailure()=timeside.tests._TextTestResult-class.html#addFailure"><a title="timeside.tests._TextTestResult.addFailure" class="py-name" href="#" onclick="return doclink('link-20', 'addFailure', 'link-20');">addFailure</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-21', 'test', 'link-3');">test</a></tt><tt class="py-op">,</tt> <tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-22', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"FAIL"</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dots</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'F'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.printErrors"></a><div id="_TextTestResult.printErrors-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="_TextTestResult.printErrors-toggle" onclick="return toggle('_TextTestResult.printErrors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#printErrors">printErrors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.printErrors-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.printErrors-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dots</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">showAll</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-23', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method timeside.tests._TextTestResult.printErrorList()=timeside.tests._TextTestResult-class.html#printErrorList"><a title="timeside.tests._TextTestResult.printErrorList" class="py-name" href="#" onclick="return doclink('link-24', 'printErrorList', 'link-24');">printErrorList</a></tt><tt class="py-op">(</tt><tt class="py-string">'ERROR'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="timeside.tests._TextTestResult.printErrorList" class="py-name" href="#" onclick="return doclink('link-25', 'printErrorList', 'link-24');">printErrorList</a></tt><tt class="py-op">(</tt><tt class="py-string">'FAIL'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">failures</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
+<a name="_TextTestResult.printErrorList"></a><div id="_TextTestResult.printErrorList-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="_TextTestResult.printErrorList-toggle" onclick="return toggle('_TextTestResult.printErrorList');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._TextTestResult-class.html#printErrorList">printErrorList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">flavour</tt><tt class="py-op">,</tt> <tt class="py-param">errors</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_TextTestResult.printErrorList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_TextTestResult.printErrorList-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-26" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-26', 'test', 'link-3');">test</a></tt><tt class="py-op">,</tt> <tt class="py-name">err</tt> <tt class="py-keyword">in</tt> <tt class="py-name">errors</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-27', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="timeside.tests._TextTestResult.separator1" class="py-name" href="#" onclick="return doclink('link-28', 'separator1', 'link-0');">separator1</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-29', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">flavour</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="timeside.tests._TextTestResult.getDescription" class="py-name" href="#" onclick="return doclink('link-30', 'getDescription', 'link-12');">getDescription</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-31', 'test', 'link-3');">test</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-32', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="timeside.tests._TextTestResult.separator2" class="py-name" href="#" onclick="return doclink('link-33', 'separator2', 'link-1');">separator2</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-34', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
+<a name="_WritelnDecorator"></a><div id="_WritelnDecorator-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="_WritelnDecorator-toggle" onclick="return toggle('_WritelnDecorator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests._WritelnDecorator-class.html">_WritelnDecorator</a><tt class="py-op">:</tt> </tt>
+</div><div id="_WritelnDecorator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_WritelnDecorator-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-docstring">"""Used to decorate file-like objects with a handy 'writeln' method"""</tt> </tt>
+<a name="_WritelnDecorator.__init__"></a><div id="_WritelnDecorator.__init__-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="_WritelnDecorator.__init__-toggle" onclick="return toggle('_WritelnDecorator.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._WritelnDecorator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">stream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_WritelnDecorator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_WritelnDecorator.__init__-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">stream</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
+<a name="_WritelnDecorator.__getattr__"></a><div id="_WritelnDecorator.__getattr__-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="_WritelnDecorator.__getattr__-toggle" onclick="return toggle('_WritelnDecorator.__getattr__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._WritelnDecorator-class.html#__getattr__">__getattr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_WritelnDecorator.__getattr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_WritelnDecorator.__getattr__-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">,</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
+<a name="_WritelnDecorator.writeln"></a><div id="_WritelnDecorator.writeln-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="_WritelnDecorator.writeln-toggle" onclick="return toggle('_WritelnDecorator.writeln');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests._WritelnDecorator-class.html#writeln">writeln</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">arg</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_WritelnDecorator.writeln-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_WritelnDecorator.writeln-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> <tt class="py-comment"># text-mode streams translate to \r\n if needed</tt> </tt>
+</div></div><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt>
+<a name="TestRunner"></a><div id="TestRunner-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="TestRunner-toggle" onclick="return toggle('TestRunner');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.TestRunner-class.html">TestRunner</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestRunner-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestRunner-expanded"><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-docstring">"""A test runner class that displays results in textual form.</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> It prints out the names of tests as they are run, errors as they</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> occur, and a summary of the results at the end of the test run.</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="TestRunner.__init__"></a><div id="TestRunner.__init__-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="TestRunner.__init__-toggle" onclick="return toggle('TestRunner.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.TestRunner-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">=</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">stderr</tt><tt class="py-op">,</tt> <tt class="py-param">descriptions</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-param">verbosity</tt><tt class="py-op">=</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestRunner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestRunner.__init__-expanded"><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name" targets="Class timeside.tests._WritelnDecorator=timeside.tests._WritelnDecorator-class.html"><a title="timeside.tests._WritelnDecorator" class="py-name" href="#" onclick="return doclink('link-35', '_WritelnDecorator', 'link-35');">_WritelnDecorator</a></tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">descriptions</tt> <tt class="py-op">=</tt> <tt class="py-name">descriptions</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">verbosity</tt> <tt class="py-op">=</tt> <tt class="py-name">verbosity</tt> </tt>
+</div><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> </tt>
+<a name="TestRunner._makeResult"></a><div id="TestRunner._makeResult-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="TestRunner._makeResult-toggle" onclick="return toggle('TestRunner._makeResult');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.TestRunner-class.html#_makeResult">_makeResult</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestRunner._makeResult-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestRunner._makeResult-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-36" class="py-name" targets="Class timeside.tests._TextTestResult=timeside.tests._TextTestResult-class.html"><a title="timeside.tests._TextTestResult" class="py-name" href="#" onclick="return doclink('link-36', '_TextTestResult', 'link-36');">_TextTestResult</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">descriptions</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">verbosity</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
+<a name="TestRunner.run"></a><div id="TestRunner.run-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="TestRunner.run-toggle" onclick="return toggle('TestRunner.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.TestRunner-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">test</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestRunner.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestRunner.run-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-docstring">"Run the given test case or test suite."</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt id="link-37" class="py-name" targets="Method timeside.api.IValueAnalyzer.result()=timeside.api.IValueAnalyzer-class.html#result,Method timeside.tests.api.examples.Duration.result()=timeside.tests.api.examples.Duration-class.html#result,Method timeside.tests.api.examples.MaxLevel.result()=timeside.tests.api.examples.MaxLevel-class.html#result"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-37', 'result', 'link-37');">result</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method timeside.tests.TestRunner._makeResult()=timeside.tests.TestRunner-class.html#_makeResult"><a title="timeside.tests.TestRunner._makeResult" class="py-name" href="#" onclick="return doclink('link-38', '_makeResult', 'link-38');">_makeResult</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-39', 'test', 'link-3');">test</a></tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-40', 'result', 'link-37');">result</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">stopTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">timeTaken</tt> <tt class="py-op">=</tt> <tt class="py-name">stopTime</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt id="link-41" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-41', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method timeside.tests._TextTestResult.printErrors()=timeside.tests._TextTestResult-class.html#printErrors"><a title="timeside.tests._TextTestResult.printErrors" class="py-name" href="#" onclick="return doclink('link-42', 'printErrors', 'link-42');">printErrors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-43', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-44', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="timeside.tests._TextTestResult.separator2" class="py-name" href="#" onclick="return doclink('link-45', 'separator2', 'link-1');">separator2</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt id="link-46" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-46', 'run', 'link-46');">run</a></tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-47', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt class="py-name">testsRun</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-48', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"Ran %d test%s in %.3fs"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-49" class="py-name"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-49', 'run', 'link-46');">run</a></tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-50', 'run', 'link-46');">run</a></tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"s"</tt> <tt class="py-keyword">or</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">timeTaken</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-51', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-52" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-52', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt class="py-name">wasSuccessful</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"FAILED ("</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">failed</tt><tt class="py-op">,</tt> <tt class="py-name">errored</tt> <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-53', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt class="py-name">failures</tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-54', 'result', 'link-37');">result</a></tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">failed</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"failures=%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">failed</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">errored</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">failed</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">", "</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"errors=%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">errored</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-55', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">")"</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="timeside.tests._WritelnDecorator.writeln" class="py-name" href="#" onclick="return doclink('link-56', 'writeln', 'link-10');">writeln</a></tt><tt class="py-op">(</tt><tt class="py-string">"OK"</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-57" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-57', 'result', 'link-37');">result</a></tt> </tt>
+</div></div><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.TestCase</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Class TestCase
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.TestCase-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestCase</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests-pysrc.html#TestCase">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+unittest.TestCase --+
+ |
+ <strong class="uidshort">TestCase</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li><a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">testcomponent.TestComponentArchitecture</a></li><li>, <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">testinputadapter.TestFixedSizeInputAdapter</a></li> </ul>
+</dd></dl>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code><a href="exceptions.AssertionError-class.html">failureException</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="assertSameList"></a><span class="summary-sig-name">assertSameList</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">list1</span>,
+ <span class="summary-sig-arg">list2</span>)</span><br />
+ Test that two lists contain the same elements, in any order</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#TestCase.assertSameList">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code>__call__</code>,
+ <code>__init__</code>,
+ <code>__repr__</code>,
+ <code>__str__</code>,
+ <code>assertAlmostEqual</code>,
+ <code>assertAlmostEquals</code>,
+ <code>assertEqual</code>,
+ <code>assertEquals</code>,
+ <code>assertFalse</code>,
+ <code>assertNotAlmostEqual</code>,
+ <code>assertNotAlmostEquals</code>,
+ <code>assertNotEqual</code>,
+ <code>assertNotEquals</code>,
+ <code>assertRaises</code>,
+ <code>assertTrue</code>,
+ <code>assert_</code>,
+ <code>countTestCases</code>,
+ <code>debug</code>,
+ <code>defaultTestResult</code>,
+ <code>fail</code>,
+ <code>failIf</code>,
+ <code>failIfAlmostEqual</code>,
+ <code>failIfEqual</code>,
+ <code>failUnless</code>,
+ <code>failUnlessAlmostEqual</code>,
+ <code>failUnlessEqual</code>,
+ <code>failUnlessRaises</code>,
+ <code>id</code>,
+ <code>run</code>,
+ <code>setUp</code>,
+ <code>shortDescription</code>,
+ <code>tearDown</code>
+ </p>
+ <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b> (private):
+ <code>_exc_info</code>
+ </p></div>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__setattr__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.TestRunner</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Class TestRunner
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.TestRunner-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestRunner</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests-pysrc.html#TestRunner">source code</a></span></p>
+<p>A test runner class that displays results in textual form.</p>
+ <p>It prints out the names of tests as they are run, errors as they
+ occur, and a summary of the results at the end of the test run.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">stream</span>=<span class="summary-sig-default">sys.stderr</span>,
+ <span class="summary-sig-arg">descriptions</span>=<span class="summary-sig-default">1</span>,
+ <span class="summary-sig-arg">verbosity</span>=<span class="summary-sig-default">2</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#TestRunner.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="_makeResult"></a><span class="summary-sig-name">_makeResult</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#TestRunner._makeResult">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>)</span><br />
+ Run the given test case or test suite.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#TestRunner.run">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests._TextTestResult</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Class _TextTestResult
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests._TextTestResult-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class _TextTestResult</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+unittest.TestResult --+
+ |
+ <strong class="uidshort">_TextTestResult</strong>
+</pre>
+
+<hr />
+<p>A test result class that can print formatted text results to a
+ stream.</p>
+ <p>Used by TextTestRunner.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests._TextTestResult-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">stream</span>,
+ <span class="summary-sig-arg">descriptions</span>,
+ <span class="summary-sig-arg">verbosity</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="getDescription"></a><span class="summary-sig-name">getDescription</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.getDescription">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests._TextTestResult-class.html#startTest" class="summary-sig-name">startTest</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>)</span><br />
+ Called when the given test is about to be run</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.startTest">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests._TextTestResult-class.html#addSuccess" class="summary-sig-name">addSuccess</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>)</span><br />
+ Called when a test has completed successfully</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addSuccess">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests._TextTestResult-class.html#addError" class="summary-sig-name">addError</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>,
+ <span class="summary-sig-arg">err</span>)</span><br />
+ Called when an error has occurred.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addError">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests._TextTestResult-class.html#addFailure" class="summary-sig-name">addFailure</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">test</span>,
+ <span class="summary-sig-arg">err</span>)</span><br />
+ Called when an error has occurred.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addFailure">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="printErrors"></a><span class="summary-sig-name">printErrors</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.printErrors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="printErrorList"></a><span class="summary-sig-name">printErrorList</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">flavour</span>,
+ <span class="summary-sig-arg">errors</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.printErrorList">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestResult</code></b>:
+ <code>__repr__</code>,
+ <code>stop</code>,
+ <code>stopTest</code>,
+ <code>wasSuccessful</code>
+ </p>
+ <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestResult</code></b> (private):
+ <code>_count_relevant_tb_levels</code>,
+ <code>_exc_info_to_string</code>,
+ <code>_is_relevant_tb_level</code>
+ </p></div>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests._TextTestResult-class.html#separator1" class="summary-name">separator1</a> = <code title="'=====================================================================\
+='"><code class="variable-quote">'</code><code class="variable-string">================================================</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests._TextTestResult-class.html#separator2" class="summary-name">separator2</a> = <code title="'---------------------------------------------------------------------\
+-'"><code class="variable-quote">'</code><code class="variable-string">------------------------------------------------</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">stream</span>,
+ <span class="sig-arg">descriptions</span>,
+ <span class="sig-arg">verbosity</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="startTest"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">startTest</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">test</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.startTest">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Called when the given test is about to be run</p>
+ <dl class="fields">
+ <dt>Overrides:
+ unittest.TestResult.startTest
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="addSuccess"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">addSuccess</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">test</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addSuccess">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Called when a test has completed successfully</p>
+ <dl class="fields">
+ <dt>Overrides:
+ unittest.TestResult.addSuccess
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="addError"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">addError</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">test</span>,
+ <span class="sig-arg">err</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addError">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Called when an error has occurred. 'err' is a tuple of values as
+ returned by sys.exc_info().</p>
+ <dl class="fields">
+ <dt>Overrides:
+ unittest.TestResult.addError
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="addFailure"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">addFailure</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">test</span>,
+ <span class="sig-arg">err</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests-pysrc.html#_TextTestResult.addFailure">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Called when an error has occurred. 'err' is a tuple of values as
+ returned by sys.exc_info().</p>
+ <dl class="fields">
+ <dt>Overrides:
+ unittest.TestResult.addFailure
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="separator1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">separator1</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">=====================================================================</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">=</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="separator2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">separator2</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">---------------------------------------------------------------------</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">-</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests._WritelnDecorator</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Class _WritelnDecorator
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests._WritelnDecorator-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class _WritelnDecorator</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests-pysrc.html#_WritelnDecorator">source code</a></span></p>
+<p>Used to decorate file-like objects with a handy 'writeln' method</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">stream</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_WritelnDecorator.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="__getattr__"></a><span class="summary-sig-name">__getattr__</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">attr</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_WritelnDecorator.__getattr__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="writeln"></a><span class="summary-sig-name">writeln</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">arg</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests-pysrc.html#_WritelnDecorator.writeln">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.alltests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module alltests
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.alltests-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module alltests</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.alltests-pysrc.html">source code</a></span></p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.alltests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module alltests
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.alltests-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.alltests-module.html">Module timeside.tests.alltests</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-1', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.tests.testcomponent=timeside.tests.testcomponent-module.html"><a title="timeside.tests.testcomponent" class="py-name" href="#" onclick="return doclink('link-2', 'testcomponent', 'link-2');">testcomponent</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-4', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.tests.testinputadapter=timeside.tests.testinputadapter-module.html"><a title="timeside.tests.testinputadapter" class="py-name" href="#" onclick="return doclink('link-5', 'testinputadapter', 'link-5');">testinputadapter</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-7', 'tests', 'link-1');">tests</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class timeside.tests.TestRunner=timeside.tests.TestRunner-class.html"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-8', 'TestRunner', 'link-8');">TestRunner</a></tt> </tt>
+<a name="L4"></a><tt class="py-lineno">4</tt> <tt class="py-line"> </tt>
+<a name="L5"></a><tt class="py-lineno">5</tt> <tt class="py-line"><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">main</tt><tt class="py-op">(</tt><tt class="py-name">testRunner</tt><tt class="py-op">=</tt><tt id="link-9" class="py-name"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-9', 'TestRunner', 'link-8');">TestRunner</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">6</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Package api
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package api</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Submodules</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Submodules"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr><td class="summary">
+ <ul class="nomargin">
+ <li> <strong class="uidlink"><a href="timeside.tests.api.examples-module.html">timeside.tests.api.examples</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.gstreamer-module.html">timeside.tests.api.gstreamer</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_lolevel-module.html">timeside.tests.api.test_lolevel</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe-module.html">timeside.tests.api.test_pipe</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_spectrogram-module.html">timeside.tests.api.test_pipe_spectrogram</a></strong> </li>
+ <li> <strong class="uidlink"><a href="timeside.tests.api.test_pipe_waveform-module.html">timeside.tests.api.test_pipe_waveform</a></strong> </li>
+ </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Package api
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api-module.html">Package timeside.tests.api</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module examples
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module examples</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.FileDecoder-class.html" class="summary-name">FileDecoder</a><br />
+ A simple audiolab-based example decoder
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.MaxLevel-class.html" class="summary-name">MaxLevel</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.Gain-class.html" class="summary-name">Gain</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.WavEncoder-class.html" class="summary-name">WavEncoder</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.Waveform-class.html" class="summary-name">Waveform</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.Spectrogram-class.html" class="summary-name">Spectrogram</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.Duration-class.html" class="summary-name">Duration</a><br />
+ A rather useless duration analyzer.
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples.FixedInputProcessor-class.html" class="summary-name">FixedInputProcessor</a><br />
+ Processor which does absolutely nothing except illustrating the use
+ of the FixedInputSizeAdapter.
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.examples-module.html#color_schemes" class="summary-name">color_schemes</a> = <code title="{'default': {'spectrogram': [(0, 0, 0),
+ (14, 17, 16),
+ (40, 50, 76),
+ (90, 180, 100),
+ (224, 224, 44),
+ (255, 60, 30),
+ (255, 255, 255)],
+ 'waveform': [(50, 0, 200), (0, 220, 80), (255, 224, 0), (\
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>14<code class="variable-op">, </code>1<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="color_schemes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">color_schemes</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">default</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">spectrogram</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>0<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>14<code class="variable-op">, </code>17<code class="variable-op">, </code>16<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>40<code class="variable-op">, </code>50<code class="variable-op">, </code>76<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>90<code class="variable-op">, </code>180<code class="variable-op">, </code>100<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>224<code class="variable-op">, </code>224<code class="variable-op">, </code>44<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>60<code class="variable-op">, </code>30<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code>255<code class="variable-op">, </code>255<code class="variable-op">, </code>255<code class="variable-group">)</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">waveform</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-group">(</code>50<code class="variable-op">, </code>0<code class="variable-op">, </code>200<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>0<code class="variable-op">, </code>220<code class="variable-op">, </code>80<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code>255<code class="variable-op">, </code>224<code class="variable-op">, </code>0<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module examples
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.examples-module.html">Module timeside.tests.api.examples</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.core.Processor=timeside.core.Processor-class.html"><a title="timeside.core.Processor" class="py-name" href="#" onclick="return doclink('link-2', 'Processor', 'link-2');">Processor</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-3', 'implements', 'link-3');">implements</a></tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name" targets="Function timeside.component.interfacedoc()=timeside.component-module.html#interfacedoc"><a title="timeside.component.interfacedoc" class="py-name" href="#" onclick="return doclink('link-4', 'interfacedoc', 'link-4');">interfacedoc</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Class timeside.core.FixedSizeInputAdapter=timeside.core.FixedSizeInputAdapter-class.html"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-5', 'FixedSizeInputAdapter', 'link-5');">FixedSizeInputAdapter</a></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-7', 'api', 'link-7');">api</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-8', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-9', 'grapher', 'link-9');">grapher</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-10', 'timeside', 'link-0');">timeside</a></tt> <tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Class timeside.metadata.Metadata=timeside.metadata.Metadata-class.html"><a title="timeside.metadata.Metadata" class="py-name" href="#" onclick="return doclink('link-11', 'Metadata', 'link-11');">Metadata</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">scikits</tt> <tt class="py-keyword">import</tt> <tt class="py-name">audiolab</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="FileDecoder"></a><div id="FileDecoder-def"><a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <a class="py-toggle" href="#" id="FileDecoder-toggle" onclick="return toggle('FileDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html">FileDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FileDecoder-expanded"><a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> <tt class="py-docstring">"""A simple audiolab-based example decoder"""</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-12', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-13" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-13', 'IDecoder', 'link-13');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.id"></a><div id="FileDecoder.id-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="FileDecoder.id-toggle" onclick="return toggle('FileDecoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.id-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_audiolabdec"</tt> </tt>
+</div><a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.__init__"></a><div id="FileDecoder.__init__-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="FileDecoder.__init__-toggle" onclick="return toggle('FileDecoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.__init__-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> <tt class="py-comment"># The file has to be opened here so that nframes(), samplerate(),</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># etc.. work before setup() is called.</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">audiolab</tt><tt class="py-op">.</tt><tt class="py-name">Sndfile</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.setup"></a><div id="FileDecoder.setup-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="FileDecoder.setup-toggle" onclick="return toggle('FileDecoder.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.setup-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Class timeside.tests.api.examples.FileDecoder=timeside.tests.api.examples.FileDecoder-class.html,Class timeside.tests.api.gstreamer.FileDecoder=timeside.tests.api.gstreamer.FileDecoder-class.html"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-14', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method timeside.api.IProcessor.setup()=timeside.api.IProcessor-class.html#setup,Method timeside.core.Processor.setup()=timeside.core.Processor-class.html#setup,Method timeside.tests.api.examples.Duration.setup()=timeside.tests.api.examples.Duration-class.html#setup,Method timeside.tests.api.examples.FileDecoder.setup()=timeside.tests.api.examples.FileDecoder-class.html#setup,Method timeside.tests.api.examples.FixedInputProcessor.setup()=timeside.tests.api.examples.FixedInputProcessor-class.html#setup,Method timeside.tests.api.examples.MaxLevel.setup()=timeside.tests.api.examples.MaxLevel-class.html#setup,Method timeside.tests.api.examples.Spectrogram.setup()=timeside.tests.api.examples.Spectrogram-class.html#setup,Method timeside.tests.api.examples.WavEncoder.setup()=timeside.tests.api.examples.WavEncoder-class.html#setup,Method timeside.tests.api.examples.Waveform.setup()=timeside.tests.api.examples.Waveform-class.html#setup,Method timeside.tests.api.gstreamer.FileDecoder.setup()=timeside.tests.api.gstreamer.FileDecoder-class.html#setup,Method timeside.tests.api.gstreamer.WavEncoder.setup()=timeside.tests.api.gstreamer.WavEncoder-class.html#setup"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-15', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">position</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method timeside.grapher.core.Noise.seek()=timeside.grapher.core.Noise-class.html#seek"><a title="timeside.grapher.core.Noise.seek" class="py-name" href="#" onclick="return doclink('link-16', 'seek', 'link-16');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt>
+<a name="FileDecoder.release"></a><div id="FileDecoder.release-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="FileDecoder.release-toggle" onclick="return toggle('FileDecoder.release');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#release">release</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.release-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.release-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-17', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method timeside.api.IProcessor.release()=timeside.api.IProcessor-class.html#release,Method timeside.core.Processor.release()=timeside.core.Processor-class.html#release,Method timeside.tests.api.examples.FileDecoder.release()=timeside.tests.api.examples.FileDecoder-class.html#release,Method timeside.tests.api.gstreamer.FileDecoder.release()=timeside.tests.api.gstreamer.FileDecoder-class.html#release"><a title="timeside.api.IProcessor.release
+timeside.core.Processor.release
+timeside.tests.api.examples.FileDecoder.release
+timeside.tests.api.gstreamer.FileDecoder.release" class="py-name" href="#" onclick="return doclink('link-18', 'release', 'link-18');">release</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.channels"></a><div id="FileDecoder.channels-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="FileDecoder.channels-toggle" onclick="return toggle('FileDecoder.channels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#channels">channels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.channels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.channels-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-19', 'channels', 'link-19');">channels</a></tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.samplerate"></a><div id="FileDecoder.samplerate-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="FileDecoder.samplerate-toggle" onclick="return toggle('FileDecoder.samplerate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#samplerate">samplerate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.samplerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.samplerate-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-20', 'samplerate', 'link-20');">samplerate</a></tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.nframes"></a><div id="FileDecoder.nframes-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="FileDecoder.nframes-toggle" onclick="return toggle('FileDecoder.nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#nframes">nframes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.nframes-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-21', 'nframes', 'link-21');">nframes</a></tt> </tt>
+</div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.format"></a><div id="FileDecoder.format-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="FileDecoder.format-toggle" onclick="return toggle('FileDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.format-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">file_format</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.encoding"></a><div id="FileDecoder.encoding-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="FileDecoder.encoding-toggle" onclick="return toggle('FileDecoder.encoding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#encoding">encoding</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.encoding-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.encoding-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Module timeside.analyze.encoding=timeside.analyze.encoding-module.html,Method timeside.api.IDecoder.encoding()=timeside.api.IDecoder-class.html#encoding,Method timeside.tests.api.examples.FileDecoder.encoding()=timeside.tests.api.examples.FileDecoder-class.html#encoding,Method timeside.tests.api.gstreamer.FileDecoder.encoding()=timeside.tests.api.gstreamer.FileDecoder-class.html#encoding"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-22', 'encoding', 'link-22');">encoding</a></tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.resolution"></a><div id="FileDecoder.resolution-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="FileDecoder.resolution-toggle" onclick="return toggle('FileDecoder.resolution');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#resolution">resolution</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.resolution-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.resolution-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt id="link-23" class="py-name" targets="Module timeside.analyze.resolution=timeside.analyze.resolution-module.html,Method timeside.api.IDecoder.resolution()=timeside.api.IDecoder-class.html#resolution,Method timeside.tests.api.examples.FileDecoder.resolution()=timeside.tests.api.examples.FileDecoder-class.html#resolution,Method timeside.tests.api.gstreamer.FileDecoder.resolution()=timeside.tests.api.gstreamer.FileDecoder-class.html#resolution"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-23', 'resolution', 'link-23');">resolution</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt id="link-24" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-24', 'encoding', 'link-22');">encoding</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-25', 'encoding', 'link-22');">encoding</a></tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-26" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-26', 'encoding', 'link-22');">encoding</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"pcm8"</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-27" class="py-name"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-27', 'resolution', 'link-23');">resolution</a></tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-28" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-28', 'encoding', 'link-22');">encoding</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"pcm16"</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-29', 'resolution', 'link-23');">resolution</a></tt> <tt class="py-op">=</tt> <tt class="py-number">16</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-30" class="py-name"><a title="timeside.analyze.encoding
+timeside.api.IDecoder.encoding
+timeside.tests.api.examples.FileDecoder.encoding
+timeside.tests.api.gstreamer.FileDecoder.encoding" class="py-name" href="#" onclick="return doclink('link-30', 'encoding', 'link-22');">encoding</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"pcm32"</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-31" class="py-name"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-31', 'resolution', 'link-23');">resolution</a></tt> <tt class="py-op">=</tt> <tt class="py-number">32</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-32" class="py-name"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-32', 'resolution', 'link-23');">resolution</a></tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.metadata"></a><div id="FileDecoder.metadata-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="FileDecoder.metadata-toggle" onclick="return toggle('FileDecoder.metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#metadata">metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.metadata-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-comment">#TODO</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt id="link-33" class="py-name"><a title="timeside.metadata.Metadata" class="py-name" href="#" onclick="return doclink('link-33', 'Metadata', 'link-11');">Metadata</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.process"></a><div id="FileDecoder.process-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="FileDecoder.process-toggle" onclick="return toggle('FileDecoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FileDecoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.process-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-34" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-34', 'frames', 'link-34');">frames</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Decoder doesn't accept input frames"</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">buffersize</tt> <tt class="py-op">=</tt> <tt class="py-number">0x10000</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-comment"># Need this because audiolab raises a bogus exception when asked</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># to read passed the end of the file</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">toread</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-35', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">position</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">toread</tt> <tt class="py-op">></tt> <tt class="py-name">buffersize</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">toread</tt> <tt class="py-op">=</tt> <tt class="py-name">buffersize</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-36', 'frames', 'link-34');">frames</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method timeside.grapher.core.Noise.read_frames()=timeside.grapher.core.Noise-class.html#read_frames"><a title="timeside.grapher.core.Noise.read_frames" class="py-name" href="#" onclick="return doclink('link-37', 'read_frames', 'link-37');">read_frames</a></tt><tt class="py-op">(</tt><tt class="py-name">toread</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt id="link-38" class="py-name" targets="Variable timeside.tests.api.test_lolevel.eod=timeside.tests.api.test_lolevel-module.html#eod"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-38', 'eod', 'link-38');">eod</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">toread</tt> <tt class="py-op"><</tt> <tt class="py-name">buffersize</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">position</tt> <tt class="py-op">+=</tt> <tt class="py-name">toread</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-comment"># audiolab returns a 1D array for 1 channel, need to reshape to 2D:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-39" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-39', 'frames', 'link-34');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">ndim</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-40', 'frames', 'link-34');">frames</a></tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-41', 'frames', 'link-34');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-42" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-42', 'frames', 'link-34');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-43" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-43', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-44', 'eod', 'link-38');">eod</a></tt> </tt>
+</div></div><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
+<a name="MaxLevel"></a><div id="MaxLevel-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="MaxLevel-toggle" onclick="return toggle('MaxLevel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html">MaxLevel</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MaxLevel-expanded"><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-45', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Class timeside.api.IValueAnalyzer=timeside.api.IValueAnalyzer-class.html"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-46', 'IValueAnalyzer', 'link-46');">IValueAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="MaxLevel.setup"></a><div id="MaxLevel.setup-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="MaxLevel.setup-toggle" onclick="return toggle('MaxLevel.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.setup-expanded"><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name" targets="Class timeside.tests.api.examples.MaxLevel=timeside.tests.api.examples.MaxLevel-class.html"><a title="timeside.tests.api.examples.MaxLevel" class="py-name" href="#" onclick="return doclink('link-47', 'MaxLevel', 'link-47');">MaxLevel</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-48', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-49" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-49', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-50', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-51', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_value</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="MaxLevel.id"></a><div id="MaxLevel.id-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="MaxLevel.id-toggle" onclick="return toggle('MaxLevel.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.id-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_maxlevel"</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="MaxLevel.name"></a><div id="MaxLevel.name-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="MaxLevel.name-toggle" onclick="return toggle('MaxLevel.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.name-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Max level test analyzer"</tt> </tt>
+</div><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="MaxLevel.unit"></a><div id="MaxLevel.unit-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="MaxLevel.unit-toggle" onclick="return toggle('MaxLevel.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.unit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.unit-expanded"><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-comment"># power? amplitude?</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
+<a name="MaxLevel.process"></a><div id="MaxLevel.process-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="MaxLevel.process-toggle" onclick="return toggle('MaxLevel.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.process-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">max</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-52', 'frames', 'link-34');">frames</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">max</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_value</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_value</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-53" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-53', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-54', 'eod', 'link-38');">eod</a></tt> </tt>
+</div><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> </tt>
+<a name="MaxLevel.result"></a><div id="MaxLevel.result-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="MaxLevel.result-toggle" onclick="return toggle('MaxLevel.result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.MaxLevel-class.html#result">result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MaxLevel.result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MaxLevel.result-expanded"><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_value</tt> </tt>
+</div></div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
+<a name="Gain"></a><div id="Gain-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="Gain-toggle" onclick="return toggle('Gain');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.Gain-class.html">Gain</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Gain-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Gain-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt id="link-55" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-55', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-56" class="py-name" targets="Class timeside.api.IEffect=timeside.api.IEffect-class.html"><a title="timeside.api.IEffect" class="py-name" href="#" onclick="return doclink('link-56', 'IEffect', 'link-56');">IEffect</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Gain.__init__"></a><div id="Gain.__init__-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="Gain.__init__-toggle" onclick="return toggle('Gain.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Gain-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">gain</tt><tt class="py-op">=</tt><tt class="py-number">1.0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Gain.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Gain.__init__-expanded"><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Variable timeside.tests.api.test_lolevel.gain=timeside.tests.api.test_lolevel-module.html#gain,Variable timeside.tests.api.test_pipe.gain=timeside.tests.api.test_pipe-module.html#gain"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-57', 'gain', 'link-57');">gain</a></tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-58', 'gain', 'link-57');">gain</a></tt> </tt>
+</div><a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Gain.id"></a><div id="Gain.id-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="Gain.id-toggle" onclick="return toggle('Gain.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Gain-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Gain.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Gain.id-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_gain"</tt> </tt>
+</div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Gain.name"></a><div id="Gain.name-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="Gain.name-toggle" onclick="return toggle('Gain.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Gain-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Gain.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Gain.name-expanded"><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Gain test effect"</tt> </tt>
+</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
+<a name="Gain.process"></a><div id="Gain.process-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="Gain.process-toggle" onclick="return toggle('Gain.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Gain-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Gain.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Gain.process-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">multiply</tt><tt class="py-op">(</tt><tt id="link-59" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-59', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-60', 'gain', 'link-57');">gain</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-61" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-61', 'eod', 'link-38');">eod</a></tt> </tt>
+</div></div><a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder"></a><div id="WavEncoder-def"><a name="L155"></a><tt class="py-lineno">155</tt> <a class="py-toggle" href="#" id="WavEncoder-toggle" onclick="return toggle('WavEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html">WavEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WavEncoder-expanded"><a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-62', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-63" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-63', 'IEncoder', 'link-63');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.__init__"></a><div id="WavEncoder.__init__-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="WavEncoder.__init__-toggle" onclick="return toggle('WavEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.__init__-expanded"><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">output</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Streaming not supported"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.setup"></a><div id="WavEncoder.setup-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="WavEncoder.setup-toggle" onclick="return toggle('WavEncoder.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.setup-expanded"><a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-64" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-64', 'WavEncoder', 'link-64');">WavEncoder</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-65', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-66" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-66', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-67" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-67', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-68', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt id="link-69" class="py-name" targets="Module timeside.analyze.format=timeside.analyze.format-module.html,Method timeside.api.IDecoder.format()=timeside.api.IDecoder-class.html#format,Static Method timeside.api.IEncoder.format()=timeside.api.IEncoder-class.html#format,Method timeside.decode.flac.FlacDecoder.format()=timeside.decode.flac.FlacDecoder-class.html#format,Method timeside.decode.mp3.Mp3Decoder.format()=timeside.decode.mp3.Mp3Decoder-class.html#format,Method timeside.decode.ogg.OggDecoder.format()=timeside.decode.ogg.OggDecoder-class.html#format,Method timeside.decode.wav.WavDecoder.format()=timeside.decode.wav.WavDecoder-class.html#format,Method timeside.encode.flac.FlacEncoder.format()=timeside.encode.flac.FlacEncoder-class.html#format,Method timeside.encode.mp3.Mp3Encoder.format()=timeside.encode.mp3.Mp3Encoder-class.html#format,Method timeside.encode.ogg.OggVorbisEncoder.format()=timeside.encode.ogg.OggVorbisEncoder-class.html#format,Method timeside.encode.wav.WavEncoder.format()=timeside.encode.wav.WavEncoder-class.html#format,Method timeside.tests.api.examples.FileDecoder.format()=timeside.tests.api.examples.FileDecoder-class.html#format,Method timeside.tests.api.gstreamer.FileDecoder.format()=timeside.tests.api.gstreamer.FileDecoder-class.html#format"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-69', 'format', 'link-69');">format</a></tt> <tt class="py-op">=</tt> <tt class="py-name">audiolab</tt><tt class="py-op">.</tt><tt class="py-name">Format</tt><tt class="py-op">(</tt><tt class="py-string">"wav"</tt><tt class="py-op">,</tt> <tt class="py-string">"pcm16"</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">audiolab</tt><tt class="py-op">.</tt><tt class="py-name">Sndfile</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt id="link-70" class="py-name"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-70', 'format', 'link-69');">format</a></tt><tt class="py-op">=</tt><tt id="link-71" class="py-name"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-71', 'format', 'link-69');">format</a></tt><tt class="py-op">,</tt> <tt id="link-72" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-72', 'channels', 'link-19');">channels</a></tt><tt class="py-op">=</tt><tt id="link-73" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-73', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-74', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">=</tt><tt id="link-75" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-75', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.id"></a><div id="WavEncoder.id-def"><a name="L177"></a><tt class="py-lineno">177</tt> <a class="py-toggle" href="#" id="WavEncoder.id-toggle" onclick="return toggle('WavEncoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.id-expanded"><a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_wavenc"</tt> </tt>
+</div><a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.description"></a><div id="WavEncoder.description-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="WavEncoder.description-toggle" onclick="return toggle('WavEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.description-expanded"><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Hackish wave encoder"</tt> </tt>
+</div><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.file_extension"></a><div id="WavEncoder.file_extension-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="WavEncoder.file_extension-toggle" onclick="return toggle('WavEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.file_extension-expanded"><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"wav"</tt> </tt>
+</div><a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.mime_type"></a><div id="WavEncoder.mime_type-def"><a name="L192"></a><tt class="py-lineno">192</tt> <a class="py-toggle" href="#" id="WavEncoder.mime_type-toggle" onclick="return toggle('WavEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.mime_type-expanded"><a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"audio/x-wav"</tt> </tt>
+</div><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.set_metadata"></a><div id="WavEncoder.set_metadata-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="WavEncoder.set_metadata-toggle" onclick="return toggle('WavEncoder.set_metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#set_metadata">set_metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.set_metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.set_metadata-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-comment">#TODO</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.process"></a><div id="WavEncoder.process-def"><a name="L201"></a><tt class="py-lineno">201</tt> <a class="py-toggle" href="#" id="WavEncoder.process-toggle" onclick="return toggle('WavEncoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.WavEncoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.process-expanded"><a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">write_frames</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-76', 'frames', 'link-34');">frames</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-77', 'eod', 'link-38');">eod</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-78" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-78', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-79', 'eod', 'link-38');">eod</a></tt> </tt>
+</div></div><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> </tt>
+<a name="Waveform"></a><div id="Waveform-def"><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <a class="py-toggle" href="#" id="Waveform-toggle" onclick="return toggle('Waveform');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html">Waveform</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Waveform-expanded"><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-80', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-81" class="py-name" targets="Class timeside.api.IGrapher=timeside.api.IGrapher-class.html"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-81', 'IGrapher', 'link-81');">IGrapher</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt id="link-82" class="py-name" targets="Variable timeside.tests.api.examples.Spectrogram.FFT_SIZE=timeside.tests.api.examples.Spectrogram-class.html#FFT_SIZE,Variable timeside.tests.api.examples.Waveform.FFT_SIZE=timeside.tests.api.examples.Waveform-class.html#FFT_SIZE"><a title="timeside.tests.api.examples.Spectrogram.FFT_SIZE
+timeside.tests.api.examples.Waveform.FFT_SIZE" class="py-name" href="#" onclick="return doclink('link-82', 'FFT_SIZE', 'link-82');">FFT_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x400</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.__init__"></a><div id="Waveform.__init__-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="Waveform.__init__-toggle" onclick="return toggle('Waveform.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">bg_color</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">color_scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.__init__-expanded"><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">width</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">width</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-number">1500</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">height</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-name">height</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-number">200</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-83', 'bg_color', 'link-83');">bg_color</a></tt> <tt class="py-op">=</tt> <tt id="link-84" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-84', 'bg_color', 'link-83');">bg_color</a></tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-85', 'color_scheme', 'link-85');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt id="link-86" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-86', 'color_scheme', 'link-85');">color_scheme</a></tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.id"></a><div id="Waveform.id-def"><a name="L232"></a><tt class="py-lineno">232</tt> <a class="py-toggle" href="#" id="Waveform.id-toggle" onclick="return toggle('Waveform.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.id-expanded"><a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_waveform"</tt> </tt>
+</div><a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.name"></a><div id="Waveform.name-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="Waveform.name-toggle" onclick="return toggle('Waveform.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.name-expanded"><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Waveform test"</tt> </tt>
+</div><a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.set_colors"></a><div id="Waveform.set_colors-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="Waveform.set_colors-toggle" onclick="return toggle('Waveform.set_colors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#set_colors">set_colors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">background</tt><tt class="py-op">,</tt> <tt class="py-param">scheme</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.set_colors-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.set_colors-expanded"><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-87', 'bg_color', 'link-83');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">background</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-88', 'color_scheme', 'link-85');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">scheme</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.setup"></a><div id="Waveform.setup-def"><a name="L246"></a><tt class="py-lineno">246</tt> <a class="py-toggle" href="#" id="Waveform.setup-toggle" onclick="return toggle('Waveform.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.setup-expanded"><a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name" targets="Class timeside.tests.api.examples.Waveform=timeside.tests.api.examples.Waveform-class.html"><a title="timeside.tests.api.examples.Waveform" class="py-name" href="#" onclick="return doclink('link-89', 'Waveform', 'link-89');">Waveform</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-90', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-91', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-92" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-92', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-93" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-93', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt id="link-94" class="py-name" targets="Class timeside.grapher.core.WaveformImage=timeside.grapher.core.WaveformImage-class.html"><a title="timeside.grapher.core.WaveformImage" class="py-name" href="#" onclick="return doclink('link-94', 'WaveformImage', 'link-94');">WaveformImage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-95', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-96', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="timeside.tests.api.examples.Spectrogram.FFT_SIZE
+timeside.tests.api.examples.Waveform.FFT_SIZE" class="py-name" href="#" onclick="return doclink('link-97', 'FFT_SIZE', 'link-82');">FFT_SIZE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt id="link-98" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-98', 'bg_color', 'link-83');">bg_color</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-99', 'bg_color', 'link-83');">bg_color</a></tt><tt class="py-op">,</tt> <tt id="link-100" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-100', 'color_scheme', 'link-85');">color_scheme</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-101', 'color_scheme', 'link-85');">color_scheme</a></tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.process"></a><div id="Waveform.process-def"><a name="L254"></a><tt class="py-lineno">254</tt> <a class="py-toggle" href="#" id="Waveform.process-toggle" onclick="return toggle('Waveform.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.process-expanded"><a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-102', 'process', 'link-102');">process</a></tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-103', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-104', 'eod', 'link-38');">eod</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-105" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-105', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-106" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-106', 'eod', 'link-38');">eod</a></tt> </tt>
+</div><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Waveform.render"></a><div id="Waveform.render-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="Waveform.render-toggle" onclick="return toggle('Waveform.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Waveform-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Waveform.render-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Waveform.render-expanded"><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Method timeside.grapher.core.SpectrogramImage.save()=timeside.grapher.core.SpectrogramImage-class.html#save,Method timeside.grapher.core.WaveformImage.save()=timeside.grapher.core.WaveformImage-class.html#save"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-107', 'save', 'link-107');">save</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt class="py-name">image</tt> </tt>
+</div></div><a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> </tt>
+<a name="Spectrogram"></a><div id="Spectrogram-def"><a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt> <a class="py-toggle" href="#" id="Spectrogram-toggle" onclick="return toggle('Spectrogram');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html">Spectrogram</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Spectrogram-expanded"><a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt id="link-108" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-108', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-109" class="py-name"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-109', 'IGrapher', 'link-81');">IGrapher</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt id="link-110" class="py-name"><a title="timeside.tests.api.examples.Spectrogram.FFT_SIZE
+timeside.tests.api.examples.Waveform.FFT_SIZE" class="py-name" href="#" onclick="return doclink('link-110', 'FFT_SIZE', 'link-82');">FFT_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0x1000</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.__init__"></a><div id="Spectrogram.__init__-def"><a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="Spectrogram.__init__-toggle" onclick="return toggle('Spectrogram.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">height</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">bg_color</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">color_scheme</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.__init__-expanded"><a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">width</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-name">width</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt> <tt class="py-op">=</tt> <tt class="py-number">1500</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">height</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-name">height</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt> <tt class="py-op">=</tt> <tt class="py-number">200</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-111', 'bg_color', 'link-83');">bg_color</a></tt> <tt class="py-op">=</tt> <tt id="link-112" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-112', 'bg_color', 'link-83');">bg_color</a></tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-113', 'color_scheme', 'link-85');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt id="link-114" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-114', 'color_scheme', 'link-85');">color_scheme</a></tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.id"></a><div id="Spectrogram.id-def"><a name="L287"></a><tt class="py-lineno">287</tt> <a class="py-toggle" href="#" id="Spectrogram.id-toggle" onclick="return toggle('Spectrogram.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.id-expanded"><a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_spectrogram"</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.name"></a><div id="Spectrogram.name-def"><a name="L292"></a><tt class="py-lineno">292</tt> <a class="py-toggle" href="#" id="Spectrogram.name-toggle" onclick="return toggle('Spectrogram.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.name-expanded"><a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Spectrogram test"</tt> </tt>
+</div><a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.set_colors"></a><div id="Spectrogram.set_colors-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="Spectrogram.set_colors-toggle" onclick="return toggle('Spectrogram.set_colors');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#set_colors">set_colors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">background</tt><tt class="py-op">,</tt> <tt class="py-param">scheme</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.set_colors-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.set_colors-expanded"><a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-115', 'bg_color', 'link-83');">bg_color</a></tt> <tt class="py-op">=</tt> <tt class="py-name">background</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-116', 'color_scheme', 'link-85');">color_scheme</a></tt> <tt class="py-op">=</tt> <tt class="py-name">scheme</tt> </tt>
+</div><a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.setup"></a><div id="Spectrogram.setup-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="Spectrogram.setup-toggle" onclick="return toggle('Spectrogram.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.setup-expanded"><a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-117" class="py-name" targets="Class timeside.tests.api.examples.Spectrogram=timeside.tests.api.examples.Spectrogram-class.html"><a title="timeside.tests.api.examples.Spectrogram" class="py-name" href="#" onclick="return doclink('link-117', 'Spectrogram', 'link-117');">Spectrogram</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-118', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-119" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-119', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-120', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-121" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-121', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name" targets="Class timeside.grapher.core.SpectrogramImage=timeside.grapher.core.SpectrogramImage-class.html"><a title="timeside.grapher.core.SpectrogramImage" class="py-name" href="#" onclick="return doclink('link-122', 'SpectrogramImage', 'link-122');">SpectrogramImage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">width</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">height</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-123', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-124', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="timeside.tests.api.examples.Spectrogram.FFT_SIZE
+timeside.tests.api.examples.Waveform.FFT_SIZE" class="py-name" href="#" onclick="return doclink('link-125', 'FFT_SIZE', 'link-82');">FFT_SIZE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt id="link-126" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-126', 'bg_color', 'link-83');">bg_color</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-127', 'bg_color', 'link-83');">bg_color</a></tt><tt class="py-op">,</tt> <tt id="link-128" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-128', 'color_scheme', 'link-85');">color_scheme</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-129', 'color_scheme', 'link-85');">color_scheme</a></tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.process"></a><div id="Spectrogram.process-def"><a name="L309"></a><tt class="py-lineno">309</tt> <a class="py-toggle" href="#" id="Spectrogram.process-toggle" onclick="return toggle('Spectrogram.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.process-expanded"><a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-130', 'process', 'link-102');">process</a></tt><tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-131', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-132" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-132', 'eod', 'link-38');">eod</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-133" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-133', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-134" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-134', 'eod', 'link-38');">eod</a></tt> </tt>
+</div><a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Spectrogram.render"></a><div id="Spectrogram.render-def"><a name="L314"></a><tt class="py-lineno">314</tt> <a class="py-toggle" href="#" id="Spectrogram.render-toggle" onclick="return toggle('Spectrogram.render');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Spectrogram-class.html#render">render</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Spectrogram.render-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Spectrogram.render-expanded"><a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="timeside.grapher.core.SpectrogramImage.save
+timeside.grapher.core.WaveformImage.save" class="py-name" href="#" onclick="return doclink('link-135', 'save', 'link-107');">save</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt class="py-name">image</tt> </tt>
+</div></div><a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> </tt>
+<a name="Duration"></a><div id="Duration-def"><a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt> <a class="py-toggle" href="#" id="Duration-toggle" onclick="return toggle('Duration');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html">Duration</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Duration-expanded"><a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-docstring">"""A rather useless duration analyzer. Its only purpose is to test the</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"><tt class="py-docstring"> nframes characteristic."""</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt id="link-136" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-136', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-137" class="py-name"><a title="timeside.api.IValueAnalyzer" class="py-name" href="#" onclick="return doclink('link-137', 'IValueAnalyzer', 'link-46');">IValueAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Duration.setup"></a><div id="Duration.setup-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="Duration.setup-toggle" onclick="return toggle('Duration.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Duration.setup-expanded"><a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-138" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-138', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"nframes argument required"</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-139" class="py-name" targets="Class timeside.tests.api.examples.Duration=timeside.tests.api.examples.Duration-class.html"><a title="timeside.tests.api.examples.Duration" class="py-name" href="#" onclick="return doclink('link-139', 'Duration', 'link-139');">Duration</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-140', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-141" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-141', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-142" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-142', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-143', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Duration.id"></a><div id="Duration.id-def"><a name="L333"></a><tt class="py-lineno">333</tt> <a class="py-toggle" href="#" id="Duration.id-toggle" onclick="return toggle('Duration.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Duration.id-expanded"><a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_duration"</tt> </tt>
+</div><a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Duration.name"></a><div id="Duration.name-def"><a name="L338"></a><tt class="py-lineno">338</tt> <a class="py-toggle" href="#" id="Duration.name-toggle" onclick="return toggle('Duration.name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html#name">name</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration.name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Duration.name-expanded"><a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Duration analyzer"</tt> </tt>
+</div><a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="Duration.unit"></a><div id="Duration.unit-def"><a name="L343"></a><tt class="py-lineno">343</tt> <a class="py-toggle" href="#" id="Duration.unit-toggle" onclick="return toggle('Duration.unit');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html#unit">unit</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration.unit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Duration.unit-expanded"><a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"seconds"</tt> </tt>
+</div><a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> </tt>
+<a name="Duration.result"></a><div id="Duration.result-def"><a name="L346"></a><tt class="py-lineno">346</tt> <a class="py-toggle" href="#" id="Duration.result-toggle" onclick="return toggle('Duration.result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.Duration-class.html#result">result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Duration.result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Duration.result-expanded"><a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_nframes</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">input_samplerate</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> </tt>
+<a name="FixedInputProcessor"></a><div id="FixedInputProcessor-def"><a name="L349"></a><tt class="py-lineno">349</tt> <a class="py-toggle" href="#" id="FixedInputProcessor-toggle" onclick="return toggle('FixedInputProcessor');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.examples.FixedInputProcessor-class.html">FixedInputProcessor</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedInputProcessor-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FixedInputProcessor-expanded"><a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-docstring">"""Processor which does absolutely nothing except illustrating the use</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"><tt class="py-docstring"> of the FixedInputSizeAdapter. It also tests things a bit."""</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt id="link-144" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-144', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-145" class="py-name" targets="Class timeside.api.IProcessor=timeside.api.IProcessor-class.html"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-145', 'IProcessor', 'link-145');">IProcessor</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt id="link-146" class="py-name" targets="Variable timeside.tests.api.examples.FixedInputProcessor.BUFFER_SIZE=timeside.tests.api.examples.FixedInputProcessor-class.html#BUFFER_SIZE"><a title="timeside.tests.api.examples.FixedInputProcessor.BUFFER_SIZE" class="py-name" href="#" onclick="return doclink('link-146', 'BUFFER_SIZE', 'link-146');">BUFFER_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1024</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FixedInputProcessor.id"></a><div id="FixedInputProcessor.id-def"><a name="L359"></a><tt class="py-lineno">359</tt> <a class="py-toggle" href="#" id="FixedInputProcessor.id-toggle" onclick="return toggle('FixedInputProcessor.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FixedInputProcessor-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedInputProcessor.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedInputProcessor.id-expanded"><a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_fixed"</tt> </tt>
+</div><a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FixedInputProcessor.setup"></a><div id="FixedInputProcessor.setup-def"><a name="L363"></a><tt class="py-lineno">363</tt> <a class="py-toggle" href="#" id="FixedInputProcessor.setup-toggle" onclick="return toggle('FixedInputProcessor.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FixedInputProcessor-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedInputProcessor.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedInputProcessor.setup-expanded"><a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-147" class="py-name" targets="Class timeside.tests.api.examples.FixedInputProcessor=timeside.tests.api.examples.FixedInputProcessor-class.html"><a title="timeside.tests.api.examples.FixedInputProcessor" class="py-name" href="#" onclick="return doclink('link-147', 'FixedInputProcessor', 'link-147');">FixedInputProcessor</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-148', 'setup', 'link-15');">setup</a></tt><tt class="py-op">(</tt><tt id="link-149" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-149', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-150" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-150', 'samplerate', 'link-20');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-151" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-151', 'nframes', 'link-21');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adapter</tt> <tt class="py-op">=</tt> <tt id="link-152" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-152', 'FixedSizeInputAdapter', 'link-5');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="timeside.tests.api.examples.FixedInputProcessor.BUFFER_SIZE" class="py-name" href="#" onclick="return doclink('link-153', 'BUFFER_SIZE', 'link-146');">BUFFER_SIZE</a></tt><tt class="py-op">,</tt> <tt id="link-154" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-154', 'channels', 'link-19');">channels</a></tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FixedInputProcessor.process"></a><div id="FixedInputProcessor.process-def"><a name="L368"></a><tt class="py-lineno">368</tt> <a class="py-toggle" href="#" id="FixedInputProcessor.process-toggle" onclick="return toggle('FixedInputProcessor.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.examples.FixedInputProcessor-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FixedInputProcessor.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FixedInputProcessor.process-expanded"><a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-name">end</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adapter</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-155', 'process', 'link-102');">process</a></tt><tt class="py-op">(</tt><tt id="link-156" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-156', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-157" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-157', 'eod', 'link-38');">eod</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-comment"># Test that the adapter is actually doing the job:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="timeside.tests.api.examples.FixedInputProcessor.BUFFER_SIZE" class="py-name" href="#" onclick="return doclink('link-158', 'BUFFER_SIZE', 'link-146');">BUFFER_SIZE</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Bad buffer size from adapter"</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-159" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-159', 'frames', 'link-34');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-160" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-160', 'eod', 'link-38');">eod</a></tt> </tt>
+</div></div><a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.Duration</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class Duration
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.Duration-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Duration</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">Duration</strong>
+</pre>
+
+<hr />
+<p>A rather useless duration analyzer. Its only purpose is to test the
+ nframes characteristic.</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Duration-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>,
+ <span class="summary-sig-arg">samplerate</span>,
+ <span class="summary-sig-arg">nframes</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="result"></a><span class="summary-sig-name">result</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.result">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#process">process</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Duration-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Duration-class.html#name" class="summary-sig-name">name</a>()</span><br />
+ Return the analyzer name, such as "Mean Level", "Max
+ level", "Total length, etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Duration-class.html#unit" class="summary-sig-name">unit</a>()</span><br />
+ Return the unit of the data such as "dB",
+ "seconds", etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>,
+ <span class="sig-arg">samplerate</span>,
+ <span class="sig-arg">nframes</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">name</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.name">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the analyzer name, such as "Mean Level", "Max
+ level", "Total length, etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="unit"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">unit</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Duration.unit">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the unit of the data such as "dB",
+ "seconds", etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.FileDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class FileDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.FileDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FileDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">FileDecoder</strong>
+</pre>
+
+<hr />
+<p>A simple audiolab-based example decoder</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">filename</span>)</span><br />
+ Create a new decoder for filename.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#release" class="summary-sig-name">release</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Release resources owned by this processor.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.release">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#channels" class="summary-sig-name">channels</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Number of channels in the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.channels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#samplerate" class="summary-sig-name">samplerate</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Samplerate of the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.samplerate">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#nframes" class="summary-sig-name">nframes</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ The total number of frames that this processor can output, or None if
+ the duration is unknown.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#format" class="summary-sig-name">format</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a user-friendly file format string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#encoding" class="summary-sig-name">encoding</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a user-friendly encoding string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.encoding">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#resolution" class="summary-sig-name">resolution</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return the sample width (8, 16, etc..) of original audio file/stream,
+ or None if not applicable/known</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.resolution">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#metadata" class="summary-sig-name">metadata</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return the metadata embedded into the encoded stream, if any.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FileDecoder-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">filename</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new decoder for filename.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="release"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">release</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.release">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Release resources owned by this processor. The processor cannot be
+ used anymore after calling this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#release">core.Processor.release</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="channels"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">channels</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.channels">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Number of channels in the data returned by process(). May be different
+ from the number of channels passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#channels">core.Processor.channels</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="samplerate"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">samplerate</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.samplerate">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Samplerate of the data returned by process(). May be different from
+ the samplerate passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#samplerate">core.Processor.samplerate</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="nframes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">nframes</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.nframes">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>The total number of frames that this processor can output, or None if
+ the duration is unknown.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#nframes">core.Processor.nframes</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="format"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">format</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.format">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a user-friendly file format string</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="encoding"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">encoding</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.encoding">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a user-friendly encoding string</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="resolution"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">resolution</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.resolution">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the sample width (8, 16, etc..) of original audio file/stream,
+ or None if not applicable/known</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="metadata"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">metadata</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.metadata">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the metadata embedded into the encoded stream, if any.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FileDecoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.FixedInputProcessor</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class FixedInputProcessor
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.FixedInputProcessor-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FixedInputProcessor</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">FixedInputProcessor</strong>
+</pre>
+
+<hr />
+<p>Processor which does absolutely nothing except illustrating the use of
+ the FixedInputSizeAdapter. It also tests things a bit.</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>,
+ <span class="summary-sig-arg">samplerate</span>,
+ <span class="summary-sig-arg">nframes</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.FixedInputProcessor-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="BUFFER_SIZE"></a><span class="summary-name">BUFFER_SIZE</span> = <code title="1024">1024</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>,
+ <span class="sig-arg">samplerate</span>,
+ <span class="sig-arg">nframes</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#FixedInputProcessor.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.Gain</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class Gain
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.Gain-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Gain</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">Gain</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Gain-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">gain</span>=<span class="summary-sig-default">1.0</span>)</span><br />
+ Create a new effect.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Gain-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>,
+ <code><a href="timeside.core.Processor-class.html#setup">setup</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Gain-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Gain-class.html#name" class="summary-sig-name">name</a>()</span><br />
+ Return the effect name</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">gain</span>=<span class="sig-default">1.0</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new effect.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">name</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.name">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the effect name</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Gain.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.MaxLevel</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class MaxLevel
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.MaxLevel-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MaxLevel</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">MaxLevel</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.MaxLevel-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.MaxLevel-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="result"></a><span class="summary-sig-name">result</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.result">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.MaxLevel-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.MaxLevel-class.html#name" class="summary-sig-name">name</a>()</span><br />
+ Return the analyzer name, such as "Mean Level", "Max
+ level", "Total length, etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.MaxLevel-class.html#unit" class="summary-sig-name">unit</a>()</span><br />
+ Return the unit of the data such as "dB",
+ "seconds", etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.unit">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">name</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.name">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the analyzer name, such as "Mean Level", "Max
+ level", "Total length, etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="unit"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">unit</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.unit">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the unit of the data such as "dB",
+ "seconds", etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#MaxLevel.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.Spectrogram</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class Spectrogram
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.Spectrogram-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Spectrogram</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">Spectrogram</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">output</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">bg_color</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">color_scheme</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Create a new grapher.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#set_colors" class="summary-sig-name">set_colors</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">background</span>,
+ <span class="summary-sig-arg">scheme</span>)</span><br />
+ Set the colors used for image generation.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.set_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#render" class="summary-sig-name">render</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a PIL Image object visually representing all of the data
+ passed by repeatedly calling process()</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Spectrogram-class.html#name" class="summary-sig-name">name</a>()</span><br />
+ Return the graph name, such as "Waveform", "Spectral
+ view", etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="FFT_SIZE"></a><span class="summary-name">FFT_SIZE</span> = <code title="4096">4096</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">width</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">height</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">output</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">bg_color</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">color_scheme</span>=<span class="sig-default">None</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new grapher. width and height are generally in pixels but
+ could be something else for eg. svg rendering, etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">name</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.name">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the graph name, such as "Waveform", "Spectral
+ view", etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_colors"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_colors</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">background</span>,
+ <span class="sig-arg">scheme</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.set_colors">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the colors used for image generation. background is a RGB tuple,
+ and scheme a a predefined color theme name</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="render"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">render</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Spectrogram.render">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a PIL Image object visually representing all of the data passed
+ by repeatedly calling process()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.WavEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class WavEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.WavEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WavEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">WavEncoder</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">output</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#set_metadata" class="summary-sig-name">set_metadata</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">metadata</span>)</span><br />
+ Set the metadata to be embedded in the encoded output.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.set_metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#description" class="summary-sig-name">description</a>()</span><br />
+ Return a string describing what this encode format provides, is good
+ for, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#file_extension" class="summary-sig-name">file_extension</a>()</span><br />
+ Return the filename extension corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.WavEncoder-class.html#mime_type" class="summary-sig-name">mime_type</a>()</span><br />
+ Return the mime type corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">output</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="description"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">description</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.description">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a string describing what this encode format provides, is good
+ for, etc... The description is meant to help the end user decide what
+ format is good for him/her</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="file_extension"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">file_extension</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.file_extension">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the filename extension corresponding to this encode format</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="mime_type"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">mime_type</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.mime_type">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the mime type corresponding to this encode format</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_metadata"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_metadata</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">metadata</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.set_metadata">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the metadata to be embedded in the encoded output.</p>
+ <p>In non-streaming mode, this method updates the metadata directly into
+ the output file, without re-encoding the audio data, provided this file
+ already exists.</p>
+ <p>It isn't required to call this method, but if called, it must be
+ before process().</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#WavEncoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.examples.Waveform</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.examples-module.html">Module examples</a> ::
+ Class Waveform
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.examples.Waveform-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Waveform</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">Waveform</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">width</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">height</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">output</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">bg_color</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">color_scheme</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Create a new grapher.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#set_colors" class="summary-sig-name">set_colors</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">background</span>,
+ <span class="summary-sig-arg">scheme</span>)</span><br />
+ Set the colors used for image generation.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.set_colors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#render" class="summary-sig-name">render</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a PIL Image object visually representing all of the data
+ passed by repeatedly calling process()</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.render">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.examples.Waveform-class.html#name" class="summary-sig-name">name</a>()</span><br />
+ Return the graph name, such as "Waveform", "Spectral
+ view", etc..</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.name">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="FFT_SIZE"></a><span class="summary-name">FFT_SIZE</span> = <code title="1024">1024</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">width</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">height</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">output</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">bg_color</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">color_scheme</span>=<span class="sig-default">None</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new grapher. width and height are generally in pixels but
+ could be something else for eg. svg rendering, etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">name</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.name">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the graph name, such as "Waveform", "Spectral
+ view", etc..</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_colors"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_colors</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">background</span>,
+ <span class="sig-arg">scheme</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.set_colors">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the colors used for image generation. background is a RGB tuple,
+ and scheme a a predefined color theme name</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="render"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">render</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.examples-pysrc.html#Waveform.render">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a PIL Image object visually representing all of the data passed
+ by repeatedly calling process()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.gstreamer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module gstreamer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.gstreamer-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module gstreamer</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.gstreamer.FileDecoder-class.html" class="summary-name">FileDecoder</a><br />
+ gstreamer-based decoder
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.gstreamer.WavEncoder-class.html" class="summary-name">WavEncoder</a><br />
+ gstreamer-based encoder
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.gstreamer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module gstreamer
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.gstreamer-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.gstreamer-module.html">Module timeside.tests.api.gstreamer</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (C) 2007-2009 Parisson</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007 Olivier Guilyardi <olivier@samalyse.com></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright (c) 2007-2009 Guillaume Pellerin <pellerin@parisson.com></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This file is part of TimeSide.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (at your option) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"># TimeSide is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"># You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># along with TimeSide. If not, see <http://www.gnu.org/licenses/>.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-comment"># Author: Paul Brossier <piem@piem.org></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.core.Processor=timeside.core.Processor-class.html"><a title="timeside.core.Processor" class="py-name" href="#" onclick="return doclink('link-2', 'Processor', 'link-2');">Processor</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-3', 'implements', 'link-3');">implements</a></tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name" targets="Function timeside.component.interfacedoc()=timeside.component-module.html#interfacedoc"><a title="timeside.component.interfacedoc" class="py-name" href="#" onclick="return doclink('link-4', 'interfacedoc', 'link-4');">interfacedoc</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-5', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-6', 'api', 'link-6');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-7', 'IDecoder', 'link-7');">IDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-8', 'IEncoder', 'link-8');">IEncoder</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">numpy</tt> <tt class="py-keyword">import</tt> <tt class="py-name">array</tt><tt class="py-op">,</tt> <tt class="py-name">frombuffer</tt><tt class="py-op">,</tt> <tt class="py-name">getbuffer</tt><tt class="py-op">,</tt> <tt class="py-name">float32</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pygst</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-name">pygst</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">'0.10'</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gst</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gobject</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">threads_init</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="FileDecoder"></a><div id="FileDecoder-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="FileDecoder-toggle" onclick="return toggle('FileDecoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html">FileDecoder</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FileDecoder-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer-based decoder """</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt id="link-9" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-9', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-10', 'IDecoder', 'link-7');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-comment"># duration ms, before discovery process times out</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-11" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.MAX_DISCOVERY_TIME=timeside.tests.api.gstreamer.FileDecoder-class.html#MAX_DISCOVERY_TIME"><a title="timeside.tests.api.gstreamer.FileDecoder.MAX_DISCOVERY_TIME" class="py-name" href="#" onclick="return doclink('link-11', 'MAX_DISCOVERY_TIME', 'link-11');">MAX_DISCOVERY_TIME</a></tt> <tt class="py-op">=</tt> <tt class="py-number">3000</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-12" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.audioformat=timeside.tests.api.gstreamer.FileDecoder-class.html#audioformat"><a title="timeside.tests.api.gstreamer.FileDecoder.audioformat" class="py-name" href="#" onclick="return doclink('link-12', 'audioformat', 'link-12');">audioformat</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-13" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.audiochannels=timeside.tests.api.gstreamer.FileDecoder-class.html#audiochannels"><a title="timeside.tests.api.gstreamer.FileDecoder.audiochannels" class="py-name" href="#" onclick="return doclink('link-13', 'audiochannels', 'link-13');">audiochannels</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-14" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.audiorate=timeside.tests.api.gstreamer.FileDecoder-class.html#audiorate"><a title="timeside.tests.api.gstreamer.FileDecoder.audiorate" class="py-name" href="#" onclick="return doclink('link-14', 'audiorate', 'link-14');">audiorate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-15" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.audionframes=timeside.tests.api.gstreamer.FileDecoder-class.html#audionframes"><a title="timeside.tests.api.gstreamer.FileDecoder.audionframes" class="py-name" href="#" onclick="return doclink('link-15', 'audionframes', 'link-15');">audionframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.mimetype=timeside.tests.api.gstreamer.FileDecoder-class.html#mimetype,Function timeside.tests.test.mimetype()=timeside.tests.test-module.html#mimetype"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-16', 'mimetype', 'link-16');">mimetype</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-comment"># IProcessor methods</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.id"></a><div id="FileDecoder.id-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="FileDecoder.id-toggle" onclick="return toggle('FileDecoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.id-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_gstreamerdec"</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> </tt>
+<a name="FileDecoder.setup"></a><div id="FileDecoder.setup-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="FileDecoder.setup-toggle" onclick="return toggle('FileDecoder.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.setup-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-comment"># the output data format we want</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">caps</tt> <tt class="py-op">=</tt> <tt class="py-string">"audio/x-raw-float, width=32"</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">pipeline</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">parse_launch</tt><tt class="py-op">(</tt><tt class="py-string">'''uridecodebin uri=%s</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-string"> ! audioconvert</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-string"> ! %s</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-string"> ! appsink name=sink sync=False '''</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">caps</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-comment"># store a pointer to appsink in our decoder object </tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sink</tt> <tt class="py-op">=</tt> <tt class="py-name">pipeline</tt><tt class="py-op">.</tt><tt class="py-name">get_by_name</tt><tt class="py-op">(</tt><tt class="py-string">'sink'</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-comment"># adjust length of emitted buffers</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># self.sink.set_property('blocksize', 0x10000)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># start pipeline</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">pipeline</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_PLAYING</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.channels"></a><div id="FileDecoder.channels-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="FileDecoder.channels-toggle" onclick="return toggle('FileDecoder.channels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#channels">channels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.channels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.channels-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiochannels" class="py-name" href="#" onclick="return doclink('link-17', 'audiochannels', 'link-13');">audiochannels</a></tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.samplerate"></a><div id="FileDecoder.samplerate-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="FileDecoder.samplerate-toggle" onclick="return toggle('FileDecoder.samplerate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate">samplerate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.samplerate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.samplerate-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiorate" class="py-name" href="#" onclick="return doclink('link-18', 'audiorate', 'link-14');">audiorate</a></tt> </tt>
+</div><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.nframes"></a><div id="FileDecoder.nframes-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="FileDecoder.nframes-toggle" onclick="return toggle('FileDecoder.nframes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#nframes">nframes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.nframes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.nframes-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audionframes" class="py-name" href="#" onclick="return doclink('link-19', 'audionframes', 'link-15');">audionframes</a></tt> </tt>
+</div><a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.process"></a><div id="FileDecoder.process-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="FileDecoder.process-toggle" onclick="return toggle('FileDecoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.process-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sink</tt><tt class="py-op">.</tt><tt class="py-name">emit</tt><tt class="py-op">(</tt><tt class="py-string">'pull-buffer'</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">SystemError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-comment"># should never happen</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">print</tt> <tt class="py-string">'SystemError'</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0.</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">buf</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0.</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method timeside.tests.api.gstreamer.FileDecoder.gst_buffer_to_numpy_array()=timeside.tests.api.gstreamer.FileDecoder-class.html#gst_buffer_to_numpy_array"><a title="timeside.tests.api.gstreamer.FileDecoder.gst_buffer_to_numpy_array" class="py-name" href="#" onclick="return doclink('link-20', 'gst_buffer_to_numpy_array', 'link-20');">gst_buffer_to_numpy_array</a></tt><tt class="py-op">(</tt><tt class="py-name">buf</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.release"></a><div id="FileDecoder.release-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="FileDecoder.release-toggle" onclick="return toggle('FileDecoder.release');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#release">release</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.release-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.release-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-comment"># nothing to do for now </tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment">## IDecoder methods</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.__init__"></a><div id="FileDecoder.__init__-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="FileDecoder.__init__-toggle" onclick="return toggle('FileDecoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.__init__-expanded"><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-comment"># is this a file? </tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-comment"># get the absolute path</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-comment"># first run the file/uri through the discover pipeline</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method timeside.tests.api.gstreamer.FileDecoder.discover()=timeside.tests.api.gstreamer.FileDecoder-class.html#discover"><a title="timeside.tests.api.gstreamer.FileDecoder.discover" class="py-name" href="#" onclick="return doclink('link-21', 'discover', 'link-21');">discover</a></tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-comment"># and make a uri of it</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">from</tt> <tt class="py-name">urllib</tt> <tt class="py-keyword">import</tt> <tt class="py-name">quote</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-string">'file://'</tt><tt class="py-op">+</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.format"></a><div id="FileDecoder.format-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="FileDecoder.format-toggle" onclick="return toggle('FileDecoder.format');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#format">format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.format-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-comment"># TODO check</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-22', 'mimetype', 'link-16');">mimetype</a></tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.encoding"></a><div id="FileDecoder.encoding-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="FileDecoder.encoding-toggle" onclick="return toggle('FileDecoder.encoding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#encoding">encoding</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.encoding-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.encoding-expanded"><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-comment"># TODO check</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-23', 'mimetype', 'link-16');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.resolution"></a><div id="FileDecoder.resolution-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="FileDecoder.resolution-toggle" onclick="return toggle('FileDecoder.resolution');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#resolution">resolution</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.resolution-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.resolution-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-comment"># TODO check: width or depth?</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audiowidth</tt> </tt>
+</div><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="FileDecoder.metadata"></a><div id="FileDecoder.metadata-def"><a name="L129"></a><tt class="py-lineno">129</tt> <a class="py-toggle" href="#" id="FileDecoder.metadata-toggle" onclick="return toggle('FileDecoder.metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#metadata">metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.metadata-expanded"><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-comment"># TODO check</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt> </tt>
+</div><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-comment">## gst.extend discoverer</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="FileDecoder.discover"></a><div id="FileDecoder.discover-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="FileDecoder.discover-toggle" onclick="return toggle('FileDecoder.discover');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#discover">discover</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.discover-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.discover-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer based helper function to get file attributes """</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt> <tt class="py-keyword">import</tt> <tt class="py-name">discoverer</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">discoverer</tt><tt class="py-op">.</tt><tt class="py-name">Discoverer</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.MAX_DISCOVERY_TIME" class="py-name" href="#" onclick="return doclink('link-24', 'MAX_DISCOVERY_TIME', 'link-11');">MAX_DISCOVERY_TIME</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">connect</tt><tt class="py-op">(</tt><tt class="py-string">'discovered'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method timeside.tests.api.gstreamer.FileDecoder.discovered()=timeside.tests.api.gstreamer.FileDecoder-class.html#discovered"><a title="timeside.tests.api.gstreamer.FileDecoder.discovered" class="py-name" href="#" onclick="return doclink('link-25', 'discovered', 'link-25');">discovered</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mainloop</tt> <tt class="py-op">=</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">MainLoop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.discover" class="py-name" href="#" onclick="return doclink('link-26', 'discover', 'link-21');">discover</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mainloop</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-27', 'run', 'link-27');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> </tt>
+<a name="FileDecoder.discovered"></a><div id="FileDecoder.discovered-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="FileDecoder.discovered-toggle" onclick="return toggle('FileDecoder.discovered');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#discovered">discovered</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">d</tt><tt class="py-op">,</tt> <tt class="py-param">is_media</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.discovered-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.discovered-expanded"><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer based helper executed upon discover() completion """</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">is_media</tt> <tt class="py-keyword">and</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">is_audio</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-comment"># copy the discoverer attributes to self</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiorate" class="py-name" href="#" onclick="return doclink('link-28', 'audiorate', 'link-14');">audiorate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiorate" class="py-name" href="#" onclick="return doclink('link-29', 'audiorate', 'link-14');">audiorate</a></tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-30', 'mimetype', 'link-16');">mimetype</a></tt><tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-31', 'mimetype', 'link-16');">mimetype</a></tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiochannels" class="py-name" href="#" onclick="return doclink('link-32', 'audiochannels', 'link-13');">audiochannels</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiochannels" class="py-name" href="#" onclick="return doclink('link-33', 'audiochannels', 'link-13');">audiochannels</a></tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">audiowidth</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">audiowidth</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-comment"># conversion from time in nanoseconds to frames </tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">from</tt> <tt class="py-name">math</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ceil</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-34" class="py-name" targets="Module timeside.analyze.duration=timeside.analyze.duration-module.html,Variable timeside.tests.api.test_pipe.duration=timeside.tests.api.test_pipe-module.html#duration"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-34', 'duration', 'link-34');">duration</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiorate" class="py-name" href="#" onclick="return doclink('link-35', 'audiorate', 'link-14');">audiorate</a></tt> <tt class="py-op">*</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">audiolength</tt> <tt class="py-op">*</tt> <tt class="py-number">1.e-9</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audionframes" class="py-name" href="#" onclick="return doclink('link-36', 'audionframes', 'link-15');">audionframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt><tt class="py-name">ceil</tt> <tt class="py-op">(</tt> <tt id="link-37" class="py-name"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-37', 'duration', 'link-34');">duration</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">tags</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">is_audio</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"error, no audio found!"</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"fail"</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mainloop</tt><tt class="py-op">.</tt><tt class="py-name">quit</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> </tt>
+<a name="FileDecoder.gst_buffer_to_numpy_array"></a><div id="FileDecoder.gst_buffer_to_numpy_array-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="FileDecoder.gst_buffer_to_numpy_array-toggle" onclick="return toggle('FileDecoder.gst_buffer_to_numpy_array');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.FileDecoder-class.html#gst_buffer_to_numpy_array">gst_buffer_to_numpy_array</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">buf</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FileDecoder.gst_buffer_to_numpy_array-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FileDecoder.gst_buffer_to_numpy_array-expanded"><a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer buffer to numpy array conversion """</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">chan</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.audiochannels" class="py-name" href="#" onclick="return doclink('link-38', 'audiochannels', 'link-13');">audiochannels</a></tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">samples</tt> <tt class="py-op">=</tt> <tt class="py-name">frombuffer</tt><tt class="py-op">(</tt><tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">float32</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">samples</tt><tt class="py-op">.</tt><tt class="py-name">resize</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">samples</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">chan</tt><tt class="py-op">,</tt> <tt class="py-name">chan</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">samples</tt> </tt>
+</div></div><a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder"></a><div id="WavEncoder-def"><a name="L170"></a><tt class="py-lineno">170</tt> <a class="py-toggle" href="#" id="WavEncoder-toggle" onclick="return toggle('WavEncoder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html">WavEncoder</a><tt class="py-op">(</tt><tt class="py-base-class">Processor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WavEncoder-expanded"><a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer-based encoder """</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-39', 'implements', 'link-3');">implements</a></tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-40', 'IEncoder', 'link-8');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.__init__"></a><div id="WavEncoder.__init__-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="WavEncoder.__init__-toggle" onclick="return toggle('WavEncoder.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.__init__-expanded"><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">output</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Streaming not supported"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.setup"></a><div id="WavEncoder.setup-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="WavEncoder.setup-toggle" onclick="return toggle('WavEncoder.setup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">channels</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">samplerate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">nframes</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.setup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.setup-expanded"><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-41', 'WavEncoder', 'link-41');">WavEncoder</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method timeside.api.IProcessor.setup()=timeside.api.IProcessor-class.html#setup,Method timeside.core.Processor.setup()=timeside.core.Processor-class.html#setup,Method timeside.tests.api.examples.Duration.setup()=timeside.tests.api.examples.Duration-class.html#setup,Method timeside.tests.api.examples.FileDecoder.setup()=timeside.tests.api.examples.FileDecoder-class.html#setup,Method timeside.tests.api.examples.FixedInputProcessor.setup()=timeside.tests.api.examples.FixedInputProcessor-class.html#setup,Method timeside.tests.api.examples.MaxLevel.setup()=timeside.tests.api.examples.MaxLevel-class.html#setup,Method timeside.tests.api.examples.Spectrogram.setup()=timeside.tests.api.examples.Spectrogram-class.html#setup,Method timeside.tests.api.examples.WavEncoder.setup()=timeside.tests.api.examples.WavEncoder-class.html#setup,Method timeside.tests.api.examples.Waveform.setup()=timeside.tests.api.examples.Waveform-class.html#setup,Method timeside.tests.api.gstreamer.FileDecoder.setup()=timeside.tests.api.gstreamer.FileDecoder-class.html#setup,Method timeside.tests.api.gstreamer.WavEncoder.setup()=timeside.tests.api.gstreamer.WavEncoder-class.html#setup"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-42', 'setup', 'link-42');">setup</a></tt><tt class="py-op">(</tt><tt id="link-43" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-43', 'channels', 'link-43');">channels</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-44', 'samplerate', 'link-44');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-45', 'nframes', 'link-45');">nframes</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-comment"># TODO open file for writing</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># the output data format we want</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">pipeline</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">parse_launch</tt><tt class="py-op">(</tt><tt class="py-string">''' appsrc name=src</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-string"> ! audioconvert</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-string"> ! wavenc</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-string"> ! filesink location=%s '''</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-comment"># store a pointer to appsink in our encoder object </tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">src</tt> <tt class="py-op">=</tt> <tt class="py-name">pipeline</tt><tt class="py-op">.</tt><tt class="py-name">get_by_name</tt><tt class="py-op">(</tt><tt class="py-string">'src'</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">srccaps</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">Caps</tt><tt class="py-op">(</tt><tt class="py-string">"""audio/x-raw-float,</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-string"> endianness=(int)1234,</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-string"> channels=(int)%s,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-string"> width=(int)32,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-string"> rate=(int)%d"""</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-46', 'channels', 'link-43');">channels</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-47', 'samplerate', 'link-44');">samplerate</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">src</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">"caps"</tt><tt class="py-op">,</tt> <tt class="py-name">srccaps</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-comment"># start pipeline</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">pipeline</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_PLAYING</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pipeline</tt> <tt class="py-op">=</tt> <tt class="py-name">pipeline</tt> </tt>
+</div><a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.id"></a><div id="WavEncoder.id-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="WavEncoder.id-toggle" onclick="return toggle('WavEncoder.id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#id">id</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.id-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.id-expanded"><a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"test_gstreamerenc"</tt> </tt>
+</div><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.description"></a><div id="WavEncoder.description-def"><a name="L210"></a><tt class="py-lineno">210</tt> <a class="py-toggle" href="#" id="WavEncoder.description-toggle" onclick="return toggle('WavEncoder.description');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#description">description</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.description-expanded"><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"Gstreamer based encoder"</tt> </tt>
+</div><a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.file_extension"></a><div id="WavEncoder.file_extension-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="WavEncoder.file_extension-toggle" onclick="return toggle('WavEncoder.file_extension');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension">file_extension</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.file_extension-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.file_extension-expanded"><a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"wav"</tt> </tt>
+</div><a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.mime_type"></a><div id="WavEncoder.mime_type-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="WavEncoder.mime_type-toggle" onclick="return toggle('WavEncoder.mime_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#mime_type">mime_type</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.mime_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.mime_type-expanded"><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"audio/x-wav"</tt> </tt>
+</div><a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.set_metadata"></a><div id="WavEncoder.set_metadata-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="WavEncoder.set_metadata-toggle" onclick="return toggle('WavEncoder.set_metadata');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#set_metadata">set_metadata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.set_metadata-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.set_metadata-expanded"><a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-comment">#TODO</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="WavEncoder.process"></a><div id="WavEncoder.process-def"><a name="L229"></a><tt class="py-lineno">229</tt> <a class="py-toggle" href="#" id="WavEncoder.process-toggle" onclick="return toggle('WavEncoder.process');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#process">process</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">,</tt> <tt class="py-param">eod</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.process-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.process-expanded"><a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method timeside.tests.api.gstreamer.WavEncoder.numpy_array_to_gst_buffer()=timeside.tests.api.gstreamer.WavEncoder-class.html#numpy_array_to_gst_buffer"><a title="timeside.tests.api.gstreamer.WavEncoder.numpy_array_to_gst_buffer" class="py-name" href="#" onclick="return doclink('link-48', 'numpy_array_to_gst_buffer', 'link-48');">numpy_array_to_gst_buffer</a></tt><tt class="py-op">(</tt><tt id="link-49" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-49', 'frames', 'link-49');">frames</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">src</tt><tt class="py-op">.</tt><tt class="py-name">emit</tt><tt class="py-op">(</tt><tt class="py-string">'push-buffer'</tt><tt class="py-op">,</tt> <tt class="py-name">buf</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-50" class="py-name" targets="Variable timeside.tests.api.test_lolevel.eod=timeside.tests.api.test_lolevel-module.html#eod"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-50', 'eod', 'link-50');">eod</a></tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">src</tt><tt class="py-op">.</tt><tt class="py-name">emit</tt><tt class="py-op">(</tt><tt class="py-string">'end-of-stream'</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-51" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-51', 'frames', 'link-49');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-52', 'eod', 'link-50');">eod</a></tt> </tt>
+</div><a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> </tt>
+<a name="WavEncoder.numpy_array_to_gst_buffer"></a><div id="WavEncoder.numpy_array_to_gst_buffer-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="WavEncoder.numpy_array_to_gst_buffer-toggle" onclick="return toggle('WavEncoder.numpy_array_to_gst_buffer');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.api.gstreamer.WavEncoder-class.html#numpy_array_to_gst_buffer">numpy_array_to_gst_buffer</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frames</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="WavEncoder.numpy_array_to_gst_buffer-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WavEncoder.numpy_array_to_gst_buffer-expanded"><a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-docstring">""" gstreamer buffer to numpy array conversion """</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">Buffer</tt><tt class="py-op">(</tt><tt class="py-name">getbuffer</tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-53', 'frames', 'link-49');">frames</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">buf</tt> </tt>
+</div></div><a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.gstreamer.FileDecoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.gstreamer-module.html">Module gstreamer</a> ::
+ Class FileDecoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.gstreamer.FileDecoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FileDecoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">FileDecoder</strong>
+</pre>
+
+<hr />
+<p>gstreamer-based decoder</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#channels" class="summary-sig-name">channels</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Number of channels in the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.channels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate" class="summary-sig-name">samplerate</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Samplerate of the data returned by process().</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.samplerate">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#nframes" class="summary-sig-name">nframes</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ The total number of frames that this processor can output, or None if
+ the duration is unknown.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.nframes">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#release" class="summary-sig-name">release</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Release resources owned by this processor.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.release">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">uri</span>)</span><br />
+ Create a new decoder for filename.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#format" class="summary-sig-name">format</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a user-friendly file format string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.format">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#encoding" class="summary-sig-name">encoding</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return a user-friendly encoding string</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.encoding">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#resolution" class="summary-sig-name">resolution</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return the sample width (8, 16, etc..) of original audio file/stream,
+ or None if not applicable/known</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.resolution">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#metadata" class="summary-sig-name">metadata</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Return the metadata embedded into the encoded stream, if any.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="discover"></a><span class="summary-sig-name">discover</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">path</span>)</span><br />
+ gstreamer based helper function to get file attributes</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.discover">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="discovered"></a><span class="summary-sig-name">discovered</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">d</span>,
+ <span class="summary-sig-arg">is_media</span>)</span><br />
+ gstreamer based helper executed upon discover() completion</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.discovered">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="gst_buffer_to_numpy_array"></a><span class="summary-sig-name">gst_buffer_to_numpy_array</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">buf</span>)</span><br />
+ gstreamer buffer to numpy array conversion</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.gst_buffer_to_numpy_array">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.FileDecoder-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="MAX_DISCOVERY_TIME"></a><span class="summary-name">MAX_DISCOVERY_TIME</span> = <code title="3000">3000</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="audioformat"></a><span class="summary-name">audioformat</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="audiochannels"></a><span class="summary-name">audiochannels</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="audiorate"></a><span class="summary-name">audiorate</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="audionframes"></a><span class="summary-name">audionframes</span> = <code title="None">None</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="mimetype"></a><span class="summary-name">mimetype</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="channels"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">channels</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.channels">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Number of channels in the data returned by process(). May be different
+ from the number of channels passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#channels">core.Processor.channels</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="samplerate"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">samplerate</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.samplerate">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Samplerate of the data returned by process(). May be different from
+ the samplerate passed to setup()</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#samplerate">core.Processor.samplerate</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="nframes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">nframes</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.nframes">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>The total number of frames that this processor can output, or None if
+ the duration is unknown.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#nframes">core.Processor.nframes</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="release"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">release</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.release">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Release resources owned by this processor. The processor cannot be
+ used anymore after calling this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#release">core.Processor.release</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">uri</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Create a new decoder for filename.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ object.__init__
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="format"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">format</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.format">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a user-friendly file format string</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="encoding"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">encoding</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.encoding">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a user-friendly encoding string</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="resolution"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">resolution</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.resolution">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the sample width (8, 16, etc..) of original audio file/stream,
+ or None if not applicable/known</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="metadata"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">metadata</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#FileDecoder.metadata">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the metadata embedded into the encoded stream, if any.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.gstreamer.WavEncoder</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ <a href="timeside.tests.api.gstreamer-module.html">Module gstreamer</a> ::
+ Class WavEncoder
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.gstreamer.WavEncoder-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class WavEncoder</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.core.Processor-class.html">core.Processor</a> --+
+ |
+ <strong class="uidshort">WavEncoder</strong>
+</pre>
+
+<hr />
+<p>gstreamer-based encoder</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.MetaProcessor-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">output</span>)</span><br />
+ x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.__init__">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#setup" class="summary-sig-name">setup</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">channels</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">samplerate</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">nframes</span>=<span class="summary-sig-default">None</span>)</span><br />
+ Allocate internal resources and reset state, so that this processor
+ is ready for a new run.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.setup">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#set_metadata" class="summary-sig-name">set_metadata</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">metadata</span>)</span><br />
+ Set the metadata to be embedded in the encoded output.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.set_metadata">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#process" class="summary-sig-name">process</a>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>,
+ <span class="summary-sig-arg">eod</span>=<span class="summary-sig-default">False</span>)</span><br />
+ Process input frames and return a (output_frames, eod) tuple.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.process">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="numpy_array_to_gst_buffer"></a><span class="summary-sig-name">numpy_array_to_gst_buffer</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">frames</span>)</span><br />
+ gstreamer buffer to numpy array conversion</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.numpy_array_to_gst_buffer">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.core.Processor-class.html">core.Processor</a></code></b>:
+ <code><a href="timeside.core.Processor-class.html#__del__">__del__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#__or__">__or__</a></code>,
+ <code><a href="timeside.core.Processor-class.html#channels">channels</a></code>,
+ <code><a href="timeside.core.Processor-class.html#nframes">nframes</a></code>,
+ <code><a href="timeside.core.Processor-class.html#release">release</a></code>,
+ <code><a href="timeside.core.Processor-class.html#samplerate">samplerate</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#id" class="summary-sig-name">id</a>()</span><br />
+ Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in
+ filenames, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.id">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#description" class="summary-sig-name">description</a>()</span><br />
+ Return a string describing what this encode format provides, is good
+ for, etc...</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.description">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension" class="summary-sig-name">file_extension</a>()</span><br />
+ Return the filename extension corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.file_extension">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.api.gstreamer.WavEncoder-class.html#mime_type" class="summary-sig-name">mime_type</a>()</span><br />
+ Return the mime type corresponding to this encode format</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.mime_type">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">output</span>)</span>
+ <br /><em class="fname">(Constructor)</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.__init__">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>x.__init__(...) initializes x; see x.__class__.__doc__ for
+ signature</p>
+ <dl class="fields">
+ <dt>Overrides:
+ object.__init__
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="setup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setup</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">channels</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">samplerate</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">nframes</span>=<span class="sig-default">None</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.setup">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Allocate internal resources and reset state, so that this processor is
+ ready for a new run.</p>
+ <p>The channels, samplerate and/or nframes arguments may be required by
+ processors which accept input. An error will occur if any of these
+ arguments is passed to an output-only processor such as a decoder.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#setup">core.Processor.setup</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<a name="id"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.id">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Short alphanumeric, lower-case string which uniquely identify this
+ processor, suitable for use as an HTTP/GET argument value, in filenames,
+ etc...</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="description"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">description</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.description">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return a string describing what this encode format provides, is good
+ for, etc... The description is meant to help the end user decide what
+ format is good for him/her</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="file_extension"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">file_extension</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.file_extension">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the filename extension corresponding to this encode format</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="mime_type"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">mime_type</span>()</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.mime_type">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Return the mime type corresponding to this encode format</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="set_metadata"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">set_metadata</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">metadata</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.set_metadata">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Set the metadata to be embedded in the encoded output.</p>
+ <p>In non-streaming mode, this method updates the metadata directly into
+ the output file, without re-encoding the audio data, provided this file
+ already exists.</p>
+ <p>It isn't required to call this method, but if called, it must be
+ before process().</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="process"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">process</span>(<span class="sig-arg">self</span>,
+ <span class="sig-arg">frames</span>,
+ <span class="sig-arg">eod</span>=<span class="sig-default">False</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.api.gstreamer-pysrc.html#WavEncoder.process">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Process input frames and return a (output_frames, eod) tuple. Both
+ input and output frames are 2D numpy arrays, where columns are channels,
+ and containing an undetermined number of frames. eod=True means that the
+ end-of-data has been reached.</p>
+ <p>Output-only processors (such as decoders) will raise an exception if
+ the frames argument is not None. All processors (even encoders) return
+ data, even if that means returning the input unchanged.</p>
+ <p>Warning: it is required to call setup() before this method.</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ <dt>Overrides:
+ <a href="timeside.core.Processor-class.html#process">core.Processor.process</a>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_lolevel</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_lolevel
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_lolevel-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module test_lolevel</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.test_lolevel-pysrc.html">source code</a></span></p>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="use_gst"></a><span class="summary-name">use_gst</span> = <code title="0">0</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_lolevel-module.html#source" class="summary-name">source</a> = <code title="'/home/momo/dev/timeside/timeside/tests/api/../samples/guitar.wav'"><code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../sample</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="decoder"></a><span class="summary-name">decoder</span> = <code title="Decoder(source)">Decoder(source)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="analyzer"></a><span class="summary-name">analyzer</span> = <code title="examples.MaxLevel()">examples.MaxLevel()</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="nchannels"></a><span class="summary-name">nchannels</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="samplerate"></a><span class="summary-name">samplerate</span> = <code title="44100">44100</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="nframes"></a><span class="summary-name">nframes</span> = <code title="182046">182046</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="max_level"></a><span class="summary-name">max_level</span> = <code title="0.612457275390625">0.612457275390625</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="destination"></a><span class="summary-name">destination</span> = <code title="'normalized.wav'"><code class="variable-quote">'</code><code class="variable-string">normalized.wav</code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="encoder"></a><span class="summary-name">encoder</span> = <code title="Encoder(destination)">Encoder(destination)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="gain"></a><span class="summary-name">gain</span> = <code title="1.4694902586078031">1.4694902586078031</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="effect"></a><span class="summary-name">effect</span> = <code title="examples.Gain(gain)">examples.Gain(gain)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="eod"></a><span class="summary-name">eod</span> = <code title="True">True</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_lolevel-module.html#frames" class="summary-name">frames</a> = <code title="array([[ 0.01394653],
+ [ 0.01077271],
+ [ 0.00872803],
+ ...,
+ [ 0. ],
+ [ 0. ],
+ [ 0. ]])">array([[ 0.0139465<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="source"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">source</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../samples/guitar.wav</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="frames"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">frames</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+array([[ 0.01394653],
+ [ 0.01077271],
+ [ 0.00872803],
+ ...,
+ [ 0. ],
+ [ 0. ],
+ [ 0. ]])
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_lolevel</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_lolevel
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_lolevel-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.test_lolevel-module.html">Module timeside.tests.api.test_lolevel</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-1', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-2', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module timeside.tests.api.examples=timeside.tests.api.examples-module.html"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-3', 'examples', 'link-3');">examples</a></tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable timeside.tests.api.test_lolevel.use_gst=timeside.tests.api.test_lolevel-module.html#use_gst,Variable timeside.tests.api.test_pipe.use_gst=timeside.tests.api.test_pipe-module.html#use_gst,Variable timeside.tests.api.test_pipe_spectrogram.use_gst=timeside.tests.api.test_pipe_spectrogram-module.html#use_gst,Variable timeside.tests.api.test_pipe_waveform.use_gst=timeside.tests.api.test_pipe_waveform-module.html#use_gst"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-4', 'use_gst', 'link-4');">use_gst</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-5" class="py-name"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-5', 'use_gst', 'link-4');">use_gst</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-7', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-8', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.tests.api.gstreamer=timeside.tests.api.gstreamer-module.html"><a title="timeside.tests.api.gstreamer" class="py-name" href="#" onclick="return doclink('link-9', 'gstreamer', 'link-9');">gstreamer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Class timeside.tests.api.examples.FileDecoder=timeside.tests.api.examples.FileDecoder-class.html,Class timeside.tests.api.gstreamer.FileDecoder=timeside.tests.api.gstreamer.FileDecoder-class.html"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-10', 'FileDecoder', 'link-10');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-11', 'WavEncoder', 'link-11');">WavEncoder</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-12" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-12', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-13', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-14', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-15', 'examples', 'link-3');">examples</a></tt> <tt class="py-keyword">import</tt> <tt id="link-16" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-16', 'FileDecoder', 'link-10');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-17', 'WavEncoder', 'link-11');">WavEncoder</a></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt id="link-18" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-18', 'source', 'link-18');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-19', 'source', 'link-18');">source</a></tt><tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt> <tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">__file__</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"../samples/guitar.wav"</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-name">Decoder</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-20', 'FileDecoder', 'link-10');">FileDecoder</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Creating decoder with id=%s for: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">Decoder</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Static Method timeside.analyze.channels.ChannelAnalyser.id()=timeside.analyze.channels.ChannelAnalyser-class.html#id,Static Method timeside.analyze.dc.MeanDCShiftAnalyser.id()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id,Static Method timeside.analyze.duration.DurationAnalyzer.id()=timeside.analyze.duration.DurationAnalyzer-class.html#id,Static Method timeside.analyze.encoding.EncodingAnalyser.id()=timeside.analyze.encoding.EncodingAnalyser-class.html#id,Static Method timeside.analyze.format.FormatAnalyser.id()=timeside.analyze.format.FormatAnalyser-class.html#id,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.id()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id,Static Method timeside.analyze.mean_level.MeanLevelAnalyser.id()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id,Static Method timeside.analyze.resolution.ResolutionAnalyser.id()=timeside.analyze.resolution.ResolutionAnalyser-class.html#id,Static Method timeside.analyze.samplerate.SampleRateAnalyzer.id()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id,Method timeside.analyze.vamp.core.VampCoreAnalyzer.id()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id,Static Method timeside.api.IProcessor.id()=timeside.api.IProcessor-class.html#id,Static Method timeside.decode.flac.FlacDecoder.id()=timeside.decode.flac.FlacDecoder-class.html#id,Static Method timeside.decode.mp3.Mp3Decoder.id()=timeside.decode.mp3.Mp3Decoder-class.html#id,Static Method timeside.decode.ogg.OggDecoder.id()=timeside.decode.ogg.OggDecoder-class.html#id,Static Method timeside.decode.wav.WavDecoder.id()=timeside.decode.wav.WavDecoder-class.html#id,Static Method timeside.encode.flac.FlacEncoder.id()=timeside.encode.flac.FlacEncoder-class.html#id,Static Method timeside.encode.mp3.Mp3Encoder.id()=timeside.encode.mp3.Mp3Encoder-class.html#id,Static Method timeside.encode.ogg.OggVorbisEncoder.id()=timeside.encode.ogg.OggVorbisEncoder-class.html#id,Static Method timeside.encode.wav.WavEncoder.id()=timeside.encode.wav.WavEncoder-class.html#id,Static Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id,Static Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id,Static Method timeside.tests.api.examples.Duration.id()=timeside.tests.api.examples.Duration-class.html#id,Static Method timeside.tests.api.examples.FileDecoder.id()=timeside.tests.api.examples.FileDecoder-class.html#id,Static Method timeside.tests.api.examples.FixedInputProcessor.id()=timeside.tests.api.examples.FixedInputProcessor-class.html#id,Static Method timeside.tests.api.examples.Gain.id()=timeside.tests.api.examples.Gain-class.html#id,Static Method timeside.tests.api.examples.MaxLevel.id()=timeside.tests.api.examples.MaxLevel-class.html#id,Static Method timeside.tests.api.examples.Spectrogram.id()=timeside.tests.api.examples.Spectrogram-class.html#id,Static Method timeside.tests.api.examples.WavEncoder.id()=timeside.tests.api.examples.WavEncoder-class.html#id,Static Method timeside.tests.api.examples.Waveform.id()=timeside.tests.api.examples.Waveform-class.html#id,Static Method timeside.tests.api.gstreamer.FileDecoder.id()=timeside.tests.api.gstreamer.FileDecoder-class.html#id,Static Method timeside.tests.api.gstreamer.WavEncoder.id()=timeside.tests.api.gstreamer.WavEncoder-class.html#id"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-21', 'id', 'link-21');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-22', 'source', 'link-18');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt id="link-23" class="py-name" targets="Variable timeside.tests.api.test_lolevel.decoder=timeside.tests.api.test_lolevel-module.html#decoder,Variable timeside.tests.api.test_pipe.decoder=timeside.tests.api.test_pipe-module.html#decoder,Variable timeside.tests.api.test_pipe_spectrogram.decoder=timeside.tests.api.test_pipe_spectrogram-module.html#decoder,Variable timeside.tests.api.test_pipe_waveform.decoder=timeside.tests.api.test_pipe_waveform-module.html#decoder"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-23', 'decoder', 'link-23');">decoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Decoder</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-24', 'source', 'link-18');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt id="link-25" class="py-name" targets="Variable timeside.tests.api.test_lolevel.analyzer=timeside.tests.api.test_lolevel-module.html#analyzer"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-25', 'analyzer', 'link-25');">analyzer</a></tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-26', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Class timeside.tests.api.examples.MaxLevel=timeside.tests.api.examples.MaxLevel-class.html"><a title="timeside.tests.api.examples.MaxLevel" class="py-name" href="#" onclick="return doclink('link-27', 'MaxLevel', 'link-27');">MaxLevel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt id="link-28" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-28', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method timeside.api.IProcessor.setup()=timeside.api.IProcessor-class.html#setup,Method timeside.core.Processor.setup()=timeside.core.Processor-class.html#setup,Method timeside.tests.api.examples.Duration.setup()=timeside.tests.api.examples.Duration-class.html#setup,Method timeside.tests.api.examples.FileDecoder.setup()=timeside.tests.api.examples.FileDecoder-class.html#setup,Method timeside.tests.api.examples.FixedInputProcessor.setup()=timeside.tests.api.examples.FixedInputProcessor-class.html#setup,Method timeside.tests.api.examples.MaxLevel.setup()=timeside.tests.api.examples.MaxLevel-class.html#setup,Method timeside.tests.api.examples.Spectrogram.setup()=timeside.tests.api.examples.Spectrogram-class.html#setup,Method timeside.tests.api.examples.WavEncoder.setup()=timeside.tests.api.examples.WavEncoder-class.html#setup,Method timeside.tests.api.examples.Waveform.setup()=timeside.tests.api.examples.Waveform-class.html#setup,Method timeside.tests.api.gstreamer.FileDecoder.setup()=timeside.tests.api.gstreamer.FileDecoder-class.html#setup,Method timeside.tests.api.gstreamer.WavEncoder.setup()=timeside.tests.api.gstreamer.WavEncoder-class.html#setup"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-29', 'setup', 'link-29');">setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt id="link-30" class="py-name" targets="Variable timeside.tests.api.test_lolevel.nchannels=timeside.tests.api.test_lolevel-module.html#nchannels"><a title="timeside.tests.api.test_lolevel.nchannels" class="py-name" href="#" onclick="return doclink('link-30', 'nchannels', 'link-30');">nchannels</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-31', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Module timeside.analyze.channels=timeside.analyze.channels-module.html,Method timeside.api.IProcessor.channels()=timeside.api.IProcessor-class.html#channels,Method timeside.core.Processor.channels()=timeside.core.Processor-class.html#channels,Method timeside.tests.api.examples.FileDecoder.channels()=timeside.tests.api.examples.FileDecoder-class.html#channels,Method timeside.tests.api.gstreamer.FileDecoder.channels()=timeside.tests.api.gstreamer.FileDecoder-class.html#channels"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-32', 'channels', 'link-32');">channels</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt id="link-33" class="py-name" targets="Module timeside.analyze.samplerate=timeside.analyze.samplerate-module.html,Method timeside.api.IProcessor.samplerate()=timeside.api.IProcessor-class.html#samplerate,Method timeside.core.Processor.samplerate()=timeside.core.Processor-class.html#samplerate,Method timeside.tests.api.examples.FileDecoder.samplerate()=timeside.tests.api.examples.FileDecoder-class.html#samplerate,Method timeside.tests.api.gstreamer.FileDecoder.samplerate()=timeside.tests.api.gstreamer.FileDecoder-class.html#samplerate,Variable timeside.tests.api.test_lolevel.samplerate=timeside.tests.api.test_lolevel-module.html#samplerate"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-33', 'samplerate', 'link-33');">samplerate</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-34', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-35', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt id="link-36" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-36', 'nframes', 'link-36');">nframes</a></tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-37', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-38', 'nframes', 'link-36');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt id="link-39" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-39', 'analyzer', 'link-25');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-40', 'setup', 'link-29');">setup</a></tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="timeside.tests.api.test_lolevel.nchannels" class="py-name" href="#" onclick="return doclink('link-41', 'nchannels', 'link-30');">nchannels</a></tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-42', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Stats: duration=%f, nframes=%d, nchannels=%d, samplerate=%d, resolution=%d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-43', 'nframes', 'link-36');">nframes</a></tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-44', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-45', 'nframes', 'link-36');">nframes</a></tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="timeside.tests.api.test_lolevel.nchannels" class="py-name" href="#" onclick="return doclink('link-46', 'nchannels', 'link-30');">nchannels</a></tt><tt class="py-op">,</tt> <tt id="link-47" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-47', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">,</tt> <tt id="link-48" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-48', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Module timeside.analyze.resolution=timeside.analyze.resolution-module.html,Method timeside.api.IDecoder.resolution()=timeside.api.IDecoder-class.html#resolution,Method timeside.tests.api.examples.FileDecoder.resolution()=timeside.tests.api.examples.FileDecoder-class.html#resolution,Method timeside.tests.api.gstreamer.FileDecoder.resolution()=timeside.tests.api.gstreamer.FileDecoder-class.html#resolution"><a title="timeside.analyze.resolution
+timeside.api.IDecoder.resolution
+timeside.tests.api.examples.FileDecoder.resolution
+timeside.tests.api.gstreamer.FileDecoder.resolution" class="py-name" href="#" onclick="return doclink('link-49', 'resolution', 'link-49');">resolution</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-50" class="py-name" targets="Variable timeside.tests.api.test_lolevel.frames=timeside.tests.api.test_lolevel-module.html#frames"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-50', 'frames', 'link-50');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name" targets="Variable timeside.tests.api.test_lolevel.eod=timeside.tests.api.test_lolevel-module.html#eod"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-51', 'eod', 'link-51');">eod</a></tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-52', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-53', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt id="link-54" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-54', 'analyzer', 'link-25');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-55', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt id="link-56" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-56', 'frames', 'link-50');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-57" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-57', 'eod', 'link-51');">eod</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-58" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-58', 'eod', 'link-51');">eod</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"><tt id="link-59" class="py-name" targets="Module timeside.analyze.max_level=timeside.analyze.max_level-module.html,Variable timeside.tests.api.test_lolevel.max_level=timeside.tests.api.test_lolevel-module.html#max_level"><a title="timeside.analyze.max_level
+timeside.tests.api.test_lolevel.max_level" class="py-name" href="#" onclick="return doclink('link-59', 'max_level', 'link-59');">max_level</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-60', 'analyzer', 'link-25');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method timeside.api.IValueAnalyzer.result()=timeside.api.IValueAnalyzer-class.html#result,Method timeside.tests.api.examples.Duration.result()=timeside.tests.api.examples.Duration-class.html#result,Method timeside.tests.api.examples.MaxLevel.result()=timeside.tests.api.examples.MaxLevel-class.html#result"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-61', 'result', 'link-61');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Max level: %f"</tt> <tt class="py-op">%</tt> <tt id="link-62" class="py-name"><a title="timeside.analyze.max_level
+timeside.tests.api.test_lolevel.max_level" class="py-name" href="#" onclick="return doclink('link-62', 'max_level', 'link-59');">max_level</a></tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"><tt id="link-63" class="py-name" targets="Variable timeside.tests.api.test_lolevel.destination=timeside.tests.api.test_lolevel-module.html#destination"><a title="timeside.tests.api.test_lolevel.destination" class="py-name" href="#" onclick="return doclink('link-63', 'destination', 'link-63');">destination</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"normalized.wav"</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"><tt class="py-name">Encoder</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-64', 'WavEncoder', 'link-11');">WavEncoder</a></tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Creating encoder with id=%s for: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">Encoder</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-65', 'id', 'link-21');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-66" class="py-name"><a title="timeside.tests.api.test_lolevel.destination" class="py-name" href="#" onclick="return doclink('link-66', 'destination', 'link-63');">destination</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"><tt id="link-67" class="py-name" targets="Variable timeside.tests.api.test_lolevel.encoder=timeside.tests.api.test_lolevel-module.html#encoder,Variable timeside.tests.api.test_pipe.encoder=timeside.tests.api.test_pipe-module.html#encoder"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-67', 'encoder', 'link-67');">encoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Encoder</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="timeside.tests.api.test_lolevel.destination" class="py-name" href="#" onclick="return doclink('link-68', 'destination', 'link-63');">destination</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"><tt id="link-69" class="py-name" targets="Variable timeside.tests.api.test_lolevel.gain=timeside.tests.api.test_lolevel-module.html#gain,Variable timeside.tests.api.test_pipe.gain=timeside.tests.api.test_pipe-module.html#gain"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-69', 'gain', 'link-69');">gain</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-70" class="py-name"><a title="timeside.analyze.max_level
+timeside.tests.api.test_lolevel.max_level" class="py-name" href="#" onclick="return doclink('link-70', 'max_level', 'link-59');">max_level</a></tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt id="link-71" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-71', 'gain', 'link-69');">gain</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0.9</tt> <tt class="py-op">/</tt> <tt id="link-72" class="py-name"><a title="timeside.analyze.max_level
+timeside.tests.api.test_lolevel.max_level" class="py-name" href="#" onclick="return doclink('link-72', 'max_level', 'link-59');">max_level</a></tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"><tt id="link-73" class="py-name" targets="Variable timeside.tests.api.test_lolevel.effect=timeside.tests.api.test_lolevel-module.html#effect"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-73', 'effect', 'link-73');">effect</a></tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-74', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Class timeside.tests.api.examples.Gain=timeside.tests.api.examples.Gain-class.html"><a title="timeside.tests.api.examples.Gain" class="py-name" href="#" onclick="return doclink('link-75', 'Gain', 'link-75');">Gain</a></tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-76', 'gain', 'link-69');">gain</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"><tt id="link-77" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-77', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-78', 'setup', 'link-29');">setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"><tt id="link-79" class="py-name"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-79', 'effect', 'link-73');">effect</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-80', 'setup', 'link-29');">setup</a></tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-81', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-82', 'channels', 'link-32');">channels</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-83', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-84', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"><tt id="link-85" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-85', 'encoder', 'link-67');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="timeside.api.IProcessor.setup
+timeside.core.Processor.setup
+timeside.tests.api.examples.Duration.setup
+timeside.tests.api.examples.FileDecoder.setup
+timeside.tests.api.examples.FixedInputProcessor.setup
+timeside.tests.api.examples.MaxLevel.setup
+timeside.tests.api.examples.Spectrogram.setup
+timeside.tests.api.examples.WavEncoder.setup
+timeside.tests.api.examples.Waveform.setup
+timeside.tests.api.gstreamer.FileDecoder.setup
+timeside.tests.api.gstreamer.WavEncoder.setup" class="py-name" href="#" onclick="return doclink('link-86', 'setup', 'link-29');">setup</a></tt><tt class="py-op">(</tt><tt id="link-87" class="py-name"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-87', 'effect', 'link-73');">effect</a></tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="timeside.analyze.channels
+timeside.api.IProcessor.channels
+timeside.core.Processor.channels
+timeside.tests.api.examples.FileDecoder.channels
+timeside.tests.api.gstreamer.FileDecoder.channels" class="py-name" href="#" onclick="return doclink('link-88', 'channels', 'link-32');">channels</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-89" class="py-name"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-89', 'effect', 'link-73');">effect</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="timeside.analyze.samplerate
+timeside.api.IProcessor.samplerate
+timeside.core.Processor.samplerate
+timeside.tests.api.examples.FileDecoder.samplerate
+timeside.tests.api.gstreamer.FileDecoder.samplerate
+timeside.tests.api.test_lolevel.samplerate" class="py-name" href="#" onclick="return doclink('link-90', 'samplerate', 'link-33');">samplerate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Applying effect id=%s with gain=%f"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-91', 'effect', 'link-73');">effect</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-92', 'id', 'link-21');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-93" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-93', 'gain', 'link-69');">gain</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"><tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt id="link-94" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-94', 'frames', 'link-50');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-95" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-95', 'eod', 'link-51');">eod</a></tt> <tt class="py-op">=</tt> <tt id="link-96" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-96', 'decoder', 'link-23');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-97', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt id="link-98" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-98', 'encoder', 'link-67');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-99', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt id="link-100" class="py-name"><a title="timeside.tests.api.test_lolevel.effect" class="py-name" href="#" onclick="return doclink('link-100', 'effect', 'link-73');">effect</a></tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-101', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt id="link-102" class="py-name"><a title="timeside.tests.api.test_lolevel.frames" class="py-name" href="#" onclick="return doclink('link-102', 'frames', 'link-50');">frames</a></tt><tt class="py-op">,</tt> <tt id="link-103" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-103', 'eod', 'link-51');">eod</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-104" class="py-name"><a title="timeside.tests.api.test_lolevel.eod" class="py-name" href="#" onclick="return doclink('link-104', 'eod', 'link-51');">eod</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module test_pipe</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.test_pipe-pysrc.html">source code</a></span></p>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="use_gst"></a><span class="summary-name">use_gst</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_pipe-module.html#source" class="summary-name">source</a> = <code title="'/home/momo/dev/timeside/timeside/tests/api/../samples/guitar.wav'"><code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../sample</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="decoder"></a><span class="summary-name">decoder</span> = <code title="FileDecoder(source)">FileDecoder(source)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="maxlevel"></a><span class="summary-name">maxlevel</span> = <code title="examples.MaxLevel()">examples.MaxLevel()</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="duration"></a><span class="summary-name">duration</span> = <code title="examples.Duration()">examples.Duration()</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="gain"></a><span class="summary-name">gain</span> = <code title="examples.Gain(gain)">examples.Gain(gain)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="encoder"></a><span class="summary-name">encoder</span> = <code title="WavEncoder("normalized.wav")">WavEncoder("normalized.wav")</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="fixed"></a><span class="summary-name">fixed</span> = <code title="examples.FixedInputProcessor()">examples.FixedInputProcessor()</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="subpipe"></a><span class="summary-name">subpipe</span> = <code title="gain | fixed | maxlevel">gain | fixed | maxlevel</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="source"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">source</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../samples/guitar.wav</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.test_pipe-module.html">Module timeside.tests.api.test_pipe</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-1', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-2', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module timeside.tests.api.examples=timeside.tests.api.examples-module.html"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-3', 'examples', 'link-3');">examples</a></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-4', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-5', 'core', 'link-5');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-7', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">sys</tt> <tt class="py-keyword">import</tt> <tt class="py-name">stdout</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable timeside.tests.api.test_lolevel.use_gst=timeside.tests.api.test_lolevel-module.html#use_gst,Variable timeside.tests.api.test_pipe.use_gst=timeside.tests.api.test_pipe-module.html#use_gst,Variable timeside.tests.api.test_pipe_spectrogram.use_gst=timeside.tests.api.test_pipe_spectrogram-module.html#use_gst,Variable timeside.tests.api.test_pipe_waveform.use_gst=timeside.tests.api.test_pipe_waveform-module.html#use_gst"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-8', 'use_gst', 'link-8');">use_gst</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-9', 'use_gst', 'link-8');">use_gst</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-10', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-11', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-12', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Module timeside.tests.api.gstreamer=timeside.tests.api.gstreamer-module.html"><a title="timeside.tests.api.gstreamer" class="py-name" href="#" onclick="return doclink('link-13', 'gstreamer', 'link-13');">gstreamer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Class timeside.tests.api.examples.FileDecoder=timeside.tests.api.examples.FileDecoder-class.html,Class timeside.tests.api.gstreamer.FileDecoder=timeside.tests.api.gstreamer.FileDecoder-class.html"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-14', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-15', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-16', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-17', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-18', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-19', 'examples', 'link-3');">examples</a></tt> <tt class="py-keyword">import</tt> <tt id="link-20" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-20', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-21', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-22', 'source', 'link-22');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">__file__</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"../samples/guitar.wav"</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"Normalizing %s"</tt> <tt class="py-op">%</tt> <tt id="link-23" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-23', 'source', 'link-22');">source</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable timeside.tests.api.test_lolevel.decoder=timeside.tests.api.test_lolevel-module.html#decoder,Variable timeside.tests.api.test_pipe.decoder=timeside.tests.api.test_pipe-module.html#decoder,Variable timeside.tests.api.test_pipe_spectrogram.decoder=timeside.tests.api.test_pipe_spectrogram-module.html#decoder,Variable timeside.tests.api.test_pipe_waveform.decoder=timeside.tests.api.test_pipe_waveform-module.html#decoder"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-24', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-25', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-26', 'source', 'link-22');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt id="link-27" class="py-name" targets="Variable timeside.tests.api.test_pipe.maxlevel=timeside.tests.api.test_pipe-module.html#maxlevel"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-27', 'maxlevel', 'link-27');">maxlevel</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-28', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Class timeside.tests.api.examples.MaxLevel=timeside.tests.api.examples.MaxLevel-class.html"><a title="timeside.tests.api.examples.MaxLevel" class="py-name" href="#" onclick="return doclink('link-29', 'MaxLevel', 'link-29');">MaxLevel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt id="link-30" class="py-name" targets="Module timeside.analyze.duration=timeside.analyze.duration-module.html,Variable timeside.tests.api.test_pipe.duration=timeside.tests.api.test_pipe-module.html#duration"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-30', 'duration', 'link-30');">duration</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-31', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Class timeside.tests.api.examples.Duration=timeside.tests.api.examples.Duration-class.html"><a title="timeside.tests.api.examples.Duration" class="py-name" href="#" onclick="return doclink('link-32', 'Duration', 'link-32');">Duration</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-33', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">|</tt> <tt id="link-34" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-34', 'maxlevel', 'link-27');">maxlevel</a></tt> <tt class="py-op">|</tt> <tt id="link-35" class="py-name"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-35', 'duration', 'link-30');">duration</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-36', 'run', 'link-36');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt id="link-37" class="py-name" targets="Variable timeside.tests.api.test_lolevel.gain=timeside.tests.api.test_lolevel-module.html#gain,Variable timeside.tests.api.test_pipe.gain=timeside.tests.api.test_pipe-module.html#gain"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-37', 'gain', 'link-37');">gain</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-38" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-38', 'maxlevel', 'link-27');">maxlevel</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method timeside.api.IValueAnalyzer.result()=timeside.api.IValueAnalyzer-class.html#result,Method timeside.tests.api.examples.Duration.result()=timeside.tests.api.examples.Duration-class.html#result,Method timeside.tests.api.examples.MaxLevel.result()=timeside.tests.api.examples.MaxLevel-class.html#result"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-39', 'result', 'link-39');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-40', 'gain', 'link-37');">gain</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0.9</tt> <tt class="py-op">/</tt> <tt id="link-41" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-41', 'maxlevel', 'link-27');">maxlevel</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-42', 'result', 'link-39');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"input maxlevel: %f"</tt> <tt class="py-op">%</tt> <tt id="link-43" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-43', 'maxlevel', 'link-27');">maxlevel</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-44', 'result', 'link-39');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"gain: %f"</tt> <tt class="py-op">%</tt> <tt id="link-45" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-45', 'gain', 'link-37');">gain</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"duration: %f %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-46', 'duration', 'link-30');">duration</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-47', 'result', 'link-39');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-48" class="py-name"><a title="timeside.analyze.duration
+timeside.tests.api.test_pipe.duration" class="py-name" href="#" onclick="return doclink('link-48', 'duration', 'link-30');">duration</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.unit()=timeside.analyze.channels.ChannelAnalyser-class.html#unit,Method timeside.analyze.dc.MeanDCShiftAnalyser.unit()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#unit,Method timeside.analyze.duration.DurationAnalyzer.unit()=timeside.analyze.duration.DurationAnalyzer-class.html#unit,Method timeside.analyze.encoding.EncodingAnalyser.unit()=timeside.analyze.encoding.EncodingAnalyser-class.html#unit,Method timeside.analyze.format.FormatAnalyser.unit()=timeside.analyze.format.FormatAnalyser-class.html#unit,Method timeside.analyze.max_level.MaxLevelAnalyzer.unit()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#unit,Method timeside.analyze.mean_level.MeanLevelAnalyser.unit()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#unit,Method timeside.analyze.resolution.ResolutionAnalyser.unit()=timeside.analyze.resolution.ResolutionAnalyser-class.html#unit,Method timeside.analyze.samplerate.SampleRateAnalyzer.unit()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#unit,Method timeside.analyze.vamp.core.VampCoreAnalyzer.unit()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#unit,Static Method timeside.api.IAnalyzer.unit()=timeside.api.IAnalyzer-class.html#unit,Static Method timeside.tests.api.examples.Duration.unit()=timeside.tests.api.examples.Duration-class.html#unit,Static Method timeside.tests.api.examples.MaxLevel.unit()=timeside.tests.api.examples.MaxLevel-class.html#unit"><a title="timeside.analyze.channels.ChannelAnalyser.unit
+timeside.analyze.dc.MeanDCShiftAnalyser.unit
+timeside.analyze.duration.DurationAnalyzer.unit
+timeside.analyze.encoding.EncodingAnalyser.unit
+timeside.analyze.format.FormatAnalyser.unit
+timeside.analyze.max_level.MaxLevelAnalyzer.unit
+timeside.analyze.mean_level.MeanLevelAnalyser.unit
+timeside.analyze.resolution.ResolutionAnalyser.unit
+timeside.analyze.samplerate.SampleRateAnalyzer.unit
+timeside.analyze.vamp.core.VampCoreAnalyzer.unit
+timeside.api.IAnalyzer.unit
+timeside.tests.api.examples.Duration.unit
+timeside.tests.api.examples.MaxLevel.unit" class="py-name" href="#" onclick="return doclink('link-49', 'unit', 'link-49');">unit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt id="link-50" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-50', 'gain', 'link-37');">gain</a></tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-51', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Class timeside.tests.api.examples.Gain=timeside.tests.api.examples.Gain-class.html"><a title="timeside.tests.api.examples.Gain" class="py-name" href="#" onclick="return doclink('link-52', 'Gain', 'link-52');">Gain</a></tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-53', 'gain', 'link-37');">gain</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"><tt id="link-54" class="py-name" targets="Variable timeside.tests.api.test_lolevel.encoder=timeside.tests.api.test_lolevel-module.html#encoder,Variable timeside.tests.api.test_pipe.encoder=timeside.tests.api.test_pipe-module.html#encoder"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-54', 'encoder', 'link-54');">encoder</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-55', 'WavEncoder', 'link-15');">WavEncoder</a></tt><tt class="py-op">(</tt><tt class="py-string">"normalized.wav"</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"><tt id="link-56" class="py-name" targets="Variable timeside.tests.api.test_pipe.fixed=timeside.tests.api.test_pipe-module.html#fixed"><a title="timeside.tests.api.test_pipe.fixed" class="py-name" href="#" onclick="return doclink('link-56', 'fixed', 'link-56');">fixed</a></tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-57', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Class timeside.tests.api.examples.FixedInputProcessor=timeside.tests.api.examples.FixedInputProcessor-class.html"><a title="timeside.tests.api.examples.FixedInputProcessor" class="py-name" href="#" onclick="return doclink('link-58', 'FixedInputProcessor', 'link-58');">FixedInputProcessor</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"><tt id="link-59" class="py-name" targets="Variable timeside.tests.api.test_pipe.subpipe=timeside.tests.api.test_pipe-module.html#subpipe"><a title="timeside.tests.api.test_pipe.subpipe" class="py-name" href="#" onclick="return doclink('link-59', 'subpipe', 'link-59');">subpipe</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="timeside.tests.api.test_lolevel.gain
+timeside.tests.api.test_pipe.gain" class="py-name" href="#" onclick="return doclink('link-60', 'gain', 'link-37');">gain</a></tt> <tt class="py-op">|</tt> <tt id="link-61" class="py-name"><a title="timeside.tests.api.test_pipe.fixed" class="py-name" href="#" onclick="return doclink('link-61', 'fixed', 'link-56');">fixed</a></tt> <tt class="py-op">|</tt> <tt id="link-62" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-62', 'maxlevel', 'link-27');">maxlevel</a></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"><tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-63', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">|</tt> <tt id="link-64" class="py-name"><a title="timeside.tests.api.test_pipe.subpipe" class="py-name" href="#" onclick="return doclink('link-64', 'subpipe', 'link-59');">subpipe</a></tt> <tt class="py-op">|</tt> <tt id="link-65" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-65', 'encoder', 'link-54');">encoder</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-66', 'run', 'link-36');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"output maxlevel: %f"</tt> <tt class="py-op">%</tt> <tt id="link-67" class="py-name"><a title="timeside.tests.api.test_pipe.maxlevel" class="py-name" href="#" onclick="return doclink('link-67', 'maxlevel', 'link-27');">maxlevel</a></tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="timeside.api.IValueAnalyzer.result
+timeside.tests.api.examples.Duration.result
+timeside.tests.api.examples.MaxLevel.result" class="py-name" href="#" onclick="return doclink('link-68', 'result', 'link-39');">result</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:42 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe_spectrogram</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe_spectrogram
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe_spectrogram-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module test_pipe_spectrogram</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.test_pipe_spectrogram-pysrc.html">source code</a></span></p>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="use_gst"></a><span class="summary-name">use_gst</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="image_file"></a><span class="summary-name">image_file</span> = <code title="'./spectrogram.png'"><code class="variable-quote">'</code><code class="variable-string">./spectrogram.png</code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_pipe_spectrogram-module.html#source" class="summary-name">source</a> = <code title="'/home/momo/dev/timeside/timeside/tests/api/../samples/sweep.wav'"><code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../sample</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="decoder"></a><span class="summary-name">decoder</span> = <code title="FileDecoder(source)">FileDecoder(source)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram" class="summary-name">spectrogram</a> = <code title="examples.Spectrogram(width= 1024, height= 256, output= image_file, bg_\
+color= (0, 0, 0), color_scheme= 'default')">examples.Spectrogram(width= 1024, height= 256, o<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="source"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">source</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">/home/momo/dev/timeside/timeside/tests/api/../samples/sweep.wav</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="spectrogram"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">spectrogram</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+examples.Spectrogram(width= 1024, height= 256, output= image_file, bg_<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+color= (0, 0, 0), color_scheme= 'default')
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe_spectrogram</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe_spectrogram
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe_spectrogram-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.test_pipe_spectrogram-module.html">Module timeside.tests.api.test_pipe_spectrogram</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-1', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-2', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module timeside.tests.api.examples=timeside.tests.api.examples-module.html"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-3', 'examples', 'link-3');">examples</a></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-4', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-5', 'core', 'link-5');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-7', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable timeside.tests.api.test_lolevel.use_gst=timeside.tests.api.test_lolevel-module.html#use_gst,Variable timeside.tests.api.test_pipe.use_gst=timeside.tests.api.test_pipe-module.html#use_gst,Variable timeside.tests.api.test_pipe_spectrogram.use_gst=timeside.tests.api.test_pipe_spectrogram-module.html#use_gst,Variable timeside.tests.api.test_pipe_waveform.use_gst=timeside.tests.api.test_pipe_waveform-module.html#use_gst"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-8', 'use_gst', 'link-8');">use_gst</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-9', 'use_gst', 'link-8');">use_gst</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-10', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-11', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-12', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Module timeside.tests.api.gstreamer=timeside.tests.api.gstreamer-module.html"><a title="timeside.tests.api.gstreamer" class="py-name" href="#" onclick="return doclink('link-13', 'gstreamer', 'link-13');">gstreamer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Class timeside.tests.api.examples.FileDecoder=timeside.tests.api.examples.FileDecoder-class.html,Class timeside.tests.api.gstreamer.FileDecoder=timeside.tests.api.gstreamer.FileDecoder-class.html"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-14', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-15', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-16', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-17', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-18', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-19', 'examples', 'link-3');">examples</a></tt> <tt class="py-keyword">import</tt> <tt id="link-20" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-20', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-21', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable timeside.tests.api.test_pipe_spectrogram.image_file=timeside.tests.api.test_pipe_spectrogram-module.html#image_file,Variable timeside.tests.api.test_pipe_waveform.image_file=timeside.tests.api.test_pipe_waveform-module.html#image_file"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-22', 'image_file', 'link-22');">image_file</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'./spectrogram.png'</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># mono</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/sweep_source.wav")</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/guitar.wav")</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/sweep_source.mp3")</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"># stereo</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"></tt><tt id="link-23" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-23', 'source', 'link-23');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">__file__</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"../samples/sweep.wav"</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/guitar_stereo.wav")</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "/home/momo/music/flac/Isabelle Aboulker/Mon imagier des instruments/16 - Isabelle Aboulker - 16 instru.flac")</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "/home/momo/music/ogg/Emilie_Jolie/01 - Henri Salvador - Prologue.ogg")</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable timeside.tests.api.test_lolevel.decoder=timeside.tests.api.test_lolevel-module.html#decoder,Variable timeside.tests.api.test_pipe.decoder=timeside.tests.api.test_pipe-module.html#decoder,Variable timeside.tests.api.test_pipe_spectrogram.decoder=timeside.tests.api.test_pipe_spectrogram-module.html#decoder,Variable timeside.tests.api.test_pipe_waveform.decoder=timeside.tests.api.test_pipe_waveform-module.html#decoder"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-24', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-25', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-26', 'source', 'link-23');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt id="link-27" class="py-name" targets="Variable timeside.tests.api.test_pipe_spectrogram.spectrogram=timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram"><a title="timeside.tests.api.test_pipe_spectrogram.spectrogram" class="py-name" href="#" onclick="return doclink('link-27', 'spectrogram', 'link-27');">spectrogram</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-28', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Class timeside.tests.api.examples.Spectrogram=timeside.tests.api.examples.Spectrogram-class.html"><a title="timeside.tests.api.examples.Spectrogram" class="py-name" href="#" onclick="return doclink('link-29', 'Spectrogram', 'link-29');">Spectrogram</a></tt><tt class="py-op">(</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-number">1024</tt><tt class="py-op">,</tt> <tt class="py-name">height</tt><tt class="py-op">=</tt><tt class="py-number">256</tt><tt class="py-op">,</tt> <tt class="py-name">output</tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-30', 'image_file', 'link-22');">image_file</a></tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-31', 'bg_color', 'link-31');">bg_color</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-32" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-32', 'color_scheme', 'link-32');">color_scheme</a></tt><tt class="py-op">=</tt><tt class="py-string">'default'</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-33', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">|</tt> <tt id="link-34" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.spectrogram" class="py-name" href="#" onclick="return doclink('link-34', 'spectrogram', 'link-27');">spectrogram</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-35', 'run', 'link-35');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">'frames per pixel = '</tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.spectrogram" class="py-name" href="#" onclick="return doclink('link-36', 'spectrogram', 'link-27');">spectrogram</a></tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"render spectrogram to: %s"</tt> <tt class="py-op">%</tt> <tt id="link-37" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-37', 'image_file', 'link-22');">image_file</a></tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"><tt id="link-38" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.spectrogram" class="py-name" href="#" onclick="return doclink('link-38', 'spectrogram', 'link-27');">spectrogram</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.render()=timeside.analyze.channels.ChannelAnalyser-class.html#render,Method timeside.analyze.dc.MeanDCShiftAnalyser.render()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render,Method timeside.analyze.duration.DurationAnalyzer.render()=timeside.analyze.duration.DurationAnalyzer-class.html#render,Method timeside.analyze.encoding.EncodingAnalyser.render()=timeside.analyze.encoding.EncodingAnalyser-class.html#render,Method timeside.analyze.format.FormatAnalyser.render()=timeside.analyze.format.FormatAnalyser-class.html#render,Method timeside.analyze.max_level.MaxLevelAnalyzer.render()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render,Method timeside.analyze.mean_level.MeanLevelAnalyser.render()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render,Method timeside.analyze.resolution.ResolutionAnalyser.render()=timeside.analyze.resolution.ResolutionAnalyser-class.html#render,Method timeside.analyze.samplerate.SampleRateAnalyzer.render()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render,Method timeside.analyze.vamp.core.VampCoreAnalyzer.render()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render,Method timeside.api.IGrapher.render()=timeside.api.IGrapher-class.html#render,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render,Method timeside.tests.api.examples.Spectrogram.render()=timeside.tests.api.examples.Spectrogram-class.html#render,Method timeside.tests.api.examples.Waveform.render()=timeside.tests.api.examples.Waveform-class.html#render"><a title="timeside.analyze.channels.ChannelAnalyser.render
+timeside.analyze.dc.MeanDCShiftAnalyser.render
+timeside.analyze.duration.DurationAnalyzer.render
+timeside.analyze.encoding.EncodingAnalyser.render
+timeside.analyze.format.FormatAnalyser.render
+timeside.analyze.max_level.MaxLevelAnalyzer.render
+timeside.analyze.mean_level.MeanLevelAnalyser.render
+timeside.analyze.resolution.ResolutionAnalyser.render
+timeside.analyze.samplerate.SampleRateAnalyzer.render
+timeside.analyze.vamp.core.VampCoreAnalyzer.render
+timeside.api.IGrapher.render
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render
+timeside.tests.api.examples.Spectrogram.render
+timeside.tests.api.examples.Waveform.render" class="py-name" href="#" onclick="return doclink('link-39', 'render', 'link-39');">render</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe_waveform</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe_waveform
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe_waveform-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module test_pipe_waveform</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.api.test_pipe_waveform-pysrc.html">source code</a></span></p>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Variables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="use_gst"></a><span class="summary-name">use_gst</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="image_file"></a><span class="summary-name">image_file</span> = <code title="'./waveform.png'"><code class="variable-quote">'</code><code class="variable-string">./waveform.png</code><code class="variable-quote">'</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_pipe_waveform-module.html#source" class="summary-name">source</a> = <code title="'/home/momo/music/flac/Isabelle Aboulker/Mon imagier des instruments/1\
+6 - Isabelle Aboulker - 16 instru.flac'"><code class="variable-quote">'</code><code class="variable-string">/home/momo/music/flac/Isabelle Aboulker/Mon imagier </code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a name="decoder"></a><span class="summary-name">decoder</span> = <code title="FileDecoder(source)">FileDecoder(source)</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.api.test_pipe_waveform-module.html#waveform" class="summary-name">waveform</a> = <code title="examples.Waveform(width= 1024, height= 256, output= image_file, bg_col\
+or= (0, 0, 0), color_scheme= 'default')">examples.Waveform(width= 1024, height= 256, output=<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Variables Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-VariablesDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="source"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">source</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">/home/momo/music/flac/Isabelle Aboulker/Mon imagier des instruments/1</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">6 - Isabelle Aboulker - 16 instru.flac</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="waveform"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">waveform</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+examples.Waveform(width= 1024, height= 256, output= image_file, bg_col<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+or= (0, 0, 0), color_scheme= 'default')
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.api.test_pipe_waveform</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.api-module.html">Package api</a> ::
+ Module test_pipe_waveform
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.api.test_pipe_waveform-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.api.test_pipe_waveform-module.html">Module timeside.tests.api.test_pipe_waveform</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-1', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-2', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module timeside.tests.api.examples=timeside.tests.api.examples-module.html"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-3', 'examples', 'link-3');">examples</a></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-4', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-5', 'core', 'link-5');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-6', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-7', 'api', 'link-2');">api</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable timeside.tests.api.test_lolevel.use_gst=timeside.tests.api.test_lolevel-module.html#use_gst,Variable timeside.tests.api.test_pipe.use_gst=timeside.tests.api.test_pipe-module.html#use_gst,Variable timeside.tests.api.test_pipe_spectrogram.use_gst=timeside.tests.api.test_pipe_spectrogram-module.html#use_gst,Variable timeside.tests.api.test_pipe_waveform.use_gst=timeside.tests.api.test_pipe_waveform-module.html#use_gst"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-8', 'use_gst', 'link-8');">use_gst</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="timeside.tests.api.test_lolevel.use_gst
+timeside.tests.api.test_pipe.use_gst
+timeside.tests.api.test_pipe_spectrogram.use_gst
+timeside.tests.api.test_pipe_waveform.use_gst" class="py-name" href="#" onclick="return doclink('link-9', 'use_gst', 'link-8');">use_gst</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-10', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-11', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-12', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Module timeside.tests.api.gstreamer=timeside.tests.api.gstreamer-module.html"><a title="timeside.tests.api.gstreamer" class="py-name" href="#" onclick="return doclink('link-13', 'gstreamer', 'link-13');">gstreamer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Class timeside.tests.api.examples.FileDecoder=timeside.tests.api.examples.FileDecoder-class.html,Class timeside.tests.api.gstreamer.FileDecoder=timeside.tests.api.gstreamer.FileDecoder-class.html"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-14', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Class timeside.encode.wav.WavEncoder=timeside.encode.wav.WavEncoder-class.html,Class timeside.tests.api.examples.WavEncoder=timeside.tests.api.examples.WavEncoder-class.html,Class timeside.tests.api.gstreamer.WavEncoder=timeside.tests.api.gstreamer.WavEncoder-class.html"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-15', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-16', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-17', 'tests', 'link-1');">tests</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-18', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-19', 'examples', 'link-3');">examples</a></tt> <tt class="py-keyword">import</tt> <tt id="link-20" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-20', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="timeside.encode.wav.WavEncoder
+timeside.tests.api.examples.WavEncoder
+timeside.tests.api.gstreamer.WavEncoder" class="py-name" href="#" onclick="return doclink('link-21', 'WavEncoder', 'link-15');">WavEncoder</a></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable timeside.tests.api.test_pipe_spectrogram.image_file=timeside.tests.api.test_pipe_spectrogram-module.html#image_file,Variable timeside.tests.api.test_pipe_waveform.image_file=timeside.tests.api.test_pipe_waveform-module.html#image_file"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-22', 'image_file', 'link-22');">image_file</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'./waveform.png'</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"># mono</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/sweep_source.wav")</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/guitar.wav")</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/sweep_source.mp3")</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/drums.ogg")</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-comment"># stereo</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/sweep.wav")</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "../samples/guitar_stereo.wav")</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"><tt class="py-comment"></tt><tt id="link-23" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-23', 'source', 'link-23');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">__file__</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"/home/momo/music/flac/Isabelle Aboulker/Mon imagier des instruments/16 - Isabelle Aboulker - 16 instru.flac"</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-comment">#source = os.path.join(os.path.dirname(__file__), "/home/momo/music/ogg/Emilie_Jolie/01 - Henri Saogg")</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable timeside.tests.api.test_lolevel.decoder=timeside.tests.api.test_lolevel-module.html#decoder,Variable timeside.tests.api.test_pipe.decoder=timeside.tests.api.test_pipe-module.html#decoder,Variable timeside.tests.api.test_pipe_spectrogram.decoder=timeside.tests.api.test_pipe_spectrogram-module.html#decoder,Variable timeside.tests.api.test_pipe_waveform.decoder=timeside.tests.api.test_pipe_waveform-module.html#decoder"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-24', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="timeside.tests.api.examples.FileDecoder
+timeside.tests.api.gstreamer.FileDecoder" class="py-name" href="#" onclick="return doclink('link-25', 'FileDecoder', 'link-14');">FileDecoder</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-26', 'source', 'link-23');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"><tt id="link-27" class="py-name" targets="Variable timeside.tests.api.test_pipe_waveform.waveform=timeside.tests.api.test_pipe_waveform-module.html#waveform"><a title="timeside.tests.api.test_pipe_waveform.waveform" class="py-name" href="#" onclick="return doclink('link-27', 'waveform', 'link-27');">waveform</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="timeside.tests.api.examples" class="py-name" href="#" onclick="return doclink('link-28', 'examples', 'link-3');">examples</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Class timeside.tests.api.examples.Waveform=timeside.tests.api.examples.Waveform-class.html"><a title="timeside.tests.api.examples.Waveform" class="py-name" href="#" onclick="return doclink('link-29', 'Waveform', 'link-29');">Waveform</a></tt><tt class="py-op">(</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-number">1024</tt><tt class="py-op">,</tt> <tt class="py-name">height</tt><tt class="py-op">=</tt><tt class="py-number">256</tt><tt class="py-op">,</tt> <tt class="py-name">output</tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-30', 'image_file', 'link-22');">image_file</a></tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#bg_color,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#bg_color"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.bg_color
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.bg_color" class="py-name" href="#" onclick="return doclink('link-31', 'bg_color', 'link-31');">bg_color</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-32" class="py-name" targets="Variable timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#color_scheme,Variable timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#color_scheme"><a title="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.color_scheme
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.color_scheme" class="py-name" href="#" onclick="return doclink('link-32', 'color_scheme', 'link-32');">color_scheme</a></tt><tt class="py-op">=</tt><tt class="py-string">'default'</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-33', 'decoder', 'link-24');">decoder</a></tt> <tt class="py-op">|</tt> <tt id="link-34" class="py-name"><a title="timeside.tests.api.test_pipe_waveform.waveform" class="py-name" href="#" onclick="return doclink('link-34', 'waveform', 'link-27');">waveform</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-35', 'run', 'link-35');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">'frames per pixel = '</tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name"><a title="timeside.tests.api.test_pipe_waveform.waveform" class="py-name" href="#" onclick="return doclink('link-36', 'waveform', 'link-27');">waveform</a></tt><tt class="py-op">.</tt><tt class="py-name">graph</tt><tt class="py-op">.</tt><tt class="py-name">samples_per_pixel</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"><tt class="py-keyword">print</tt> <tt class="py-string">"render waveform to: %s"</tt> <tt class="py-op">%</tt> <tt id="link-37" class="py-name"><a title="timeside.tests.api.test_pipe_spectrogram.image_file
+timeside.tests.api.test_pipe_waveform.image_file" class="py-name" href="#" onclick="return doclink('link-37', 'image_file', 'link-22');">image_file</a></tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"><tt id="link-38" class="py-name"><a title="timeside.tests.api.test_pipe_waveform.waveform" class="py-name" href="#" onclick="return doclink('link-38', 'waveform', 'link-27');">waveform</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.render()=timeside.analyze.channels.ChannelAnalyser-class.html#render,Method timeside.analyze.dc.MeanDCShiftAnalyser.render()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render,Method timeside.analyze.duration.DurationAnalyzer.render()=timeside.analyze.duration.DurationAnalyzer-class.html#render,Method timeside.analyze.encoding.EncodingAnalyser.render()=timeside.analyze.encoding.EncodingAnalyser-class.html#render,Method timeside.analyze.format.FormatAnalyser.render()=timeside.analyze.format.FormatAnalyser-class.html#render,Method timeside.analyze.max_level.MaxLevelAnalyzer.render()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render,Method timeside.analyze.mean_level.MeanLevelAnalyser.render()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render,Method timeside.analyze.resolution.ResolutionAnalyser.render()=timeside.analyze.resolution.ResolutionAnalyser-class.html#render,Method timeside.analyze.samplerate.SampleRateAnalyzer.render()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render,Method timeside.analyze.vamp.core.VampCoreAnalyzer.render()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render,Method timeside.api.IGrapher.render()=timeside.api.IGrapher-class.html#render,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render,Method timeside.tests.api.examples.Spectrogram.render()=timeside.tests.api.examples.Spectrogram-class.html#render,Method timeside.tests.api.examples.Waveform.render()=timeside.tests.api.examples.Waveform-class.html#render"><a title="timeside.analyze.channels.ChannelAnalyser.render
+timeside.analyze.dc.MeanDCShiftAnalyser.render
+timeside.analyze.duration.DurationAnalyzer.render
+timeside.analyze.encoding.EncodingAnalyser.render
+timeside.analyze.format.FormatAnalyser.render
+timeside.analyze.max_level.MaxLevelAnalyzer.render
+timeside.analyze.mean_level.MeanLevelAnalyser.render
+timeside.analyze.resolution.ResolutionAnalyser.render
+timeside.analyze.samplerate.SampleRateAnalyzer.render
+timeside.analyze.vamp.core.VampCoreAnalyzer.render
+timeside.api.IGrapher.render
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render
+timeside.tests.api.examples.Spectrogram.render
+timeside.tests.api.examples.Waveform.render" class="py-name" href="#" onclick="return doclink('link-39', 'render', 'link-39');">render</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.listprocessors</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module listprocessors
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.listprocessors-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module listprocessors</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.listprocessors-pysrc.html">source code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Functions</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Functions"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="list_processors"></a><span class="summary-sig-name">list_processors</span>(<span class="summary-sig-arg">interface</span>,
+ <span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.listprocessors-pysrc.html#list_processors">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.listprocessors</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module listprocessors
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.listprocessors-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.listprocessors-module.html">Module timeside.tests.listprocessors</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
+<a name="list_processors"></a><div id="list_processors-def"><a name="L3"></a><tt class="py-lineno"> 3</tt> <a class="py-toggle" href="#" id="list_processors-toggle" onclick="return toggle('list_processors');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.listprocessors-module.html#list_processors">list_processors</a><tt class="py-op">(</tt><tt class="py-param">interface</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="list_processors-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="list_processors-expanded"><a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-name">interface</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> <tt class="py-name">subinterfaces</tt> <tt class="py-op">=</tt> <tt class="py-name">interface</tt><tt class="py-op">.</tt><tt class="py-name">__subclasses__</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">subinterfaces</tt><tt class="py-op">:</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Function timeside.tests.listprocessors.list_processors()=timeside.tests.listprocessors-module.html#list_processors"><a title="timeside.tests.listprocessors.list_processors" class="py-name" href="#" onclick="return doclink('link-1', 'list_processors', 'link-1');">list_processors</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> <tt id="link-2" class="py-name" targets="Function timeside.core.processors()=timeside.core-module.html#processors"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-2', 'processors', 'link-2');">processors</a></tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-4', 'processors', 'link-2');">processors</a></tt><tt class="py-op">(</tt><tt class="py-name">interface</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt id="link-5" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-5', 'processors', 'link-2');">processors</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-string">" %s [%s]"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Static Method timeside.analyze.channels.ChannelAnalyser.id()=timeside.analyze.channels.ChannelAnalyser-class.html#id,Static Method timeside.analyze.dc.MeanDCShiftAnalyser.id()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id,Static Method timeside.analyze.duration.DurationAnalyzer.id()=timeside.analyze.duration.DurationAnalyzer-class.html#id,Static Method timeside.analyze.encoding.EncodingAnalyser.id()=timeside.analyze.encoding.EncodingAnalyser-class.html#id,Static Method timeside.analyze.format.FormatAnalyser.id()=timeside.analyze.format.FormatAnalyser-class.html#id,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.id()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id,Static Method timeside.analyze.mean_level.MeanLevelAnalyser.id()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id,Static Method timeside.analyze.resolution.ResolutionAnalyser.id()=timeside.analyze.resolution.ResolutionAnalyser-class.html#id,Static Method timeside.analyze.samplerate.SampleRateAnalyzer.id()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id,Method timeside.analyze.vamp.core.VampCoreAnalyzer.id()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id,Static Method timeside.api.IProcessor.id()=timeside.api.IProcessor-class.html#id,Static Method timeside.decode.flac.FlacDecoder.id()=timeside.decode.flac.FlacDecoder-class.html#id,Static Method timeside.decode.mp3.Mp3Decoder.id()=timeside.decode.mp3.Mp3Decoder-class.html#id,Static Method timeside.decode.ogg.OggDecoder.id()=timeside.decode.ogg.OggDecoder-class.html#id,Static Method timeside.decode.wav.WavDecoder.id()=timeside.decode.wav.WavDecoder-class.html#id,Static Method timeside.encode.flac.FlacEncoder.id()=timeside.encode.flac.FlacEncoder-class.html#id,Static Method timeside.encode.mp3.Mp3Encoder.id()=timeside.encode.mp3.Mp3Encoder-class.html#id,Static Method timeside.encode.ogg.OggVorbisEncoder.id()=timeside.encode.ogg.OggVorbisEncoder-class.html#id,Static Method timeside.encode.wav.WavEncoder.id()=timeside.encode.wav.WavEncoder-class.html#id,Static Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id,Static Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id,Static Method timeside.tests.api.examples.Duration.id()=timeside.tests.api.examples.Duration-class.html#id,Static Method timeside.tests.api.examples.FileDecoder.id()=timeside.tests.api.examples.FileDecoder-class.html#id,Static Method timeside.tests.api.examples.FixedInputProcessor.id()=timeside.tests.api.examples.FixedInputProcessor-class.html#id,Static Method timeside.tests.api.examples.Gain.id()=timeside.tests.api.examples.Gain-class.html#id,Static Method timeside.tests.api.examples.MaxLevel.id()=timeside.tests.api.examples.MaxLevel-class.html#id,Static Method timeside.tests.api.examples.Spectrogram.id()=timeside.tests.api.examples.Spectrogram-class.html#id,Static Method timeside.tests.api.examples.WavEncoder.id()=timeside.tests.api.examples.WavEncoder-class.html#id,Static Method timeside.tests.api.examples.Waveform.id()=timeside.tests.api.examples.Waveform-class.html#id,Static Method timeside.tests.api.gstreamer.FileDecoder.id()=timeside.tests.api.gstreamer.FileDecoder-class.html#id,Static Method timeside.tests.api.gstreamer.WavEncoder.id()=timeside.tests.api.gstreamer.WavEncoder-class.html#id"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-6', 'id', 'link-6');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt id="link-7" class="py-name"><a title="timeside.tests.listprocessors.list_processors" class="py-name" href="#" onclick="return doclink('link-7', 'list_processors', 'link-1');">list_processors</a></tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-8', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-9', 'api', 'link-9');">api</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Class timeside.api.IProcessor=timeside.api.IProcessor-class.html"><a title="timeside.api.IProcessor" class="py-name" href="#" onclick="return doclink('link-10', 'IProcessor', 'link-10');">IProcessor</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module test
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module test</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.test-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestAnalyzers-class.html" class="summary-name">TestAnalyzers</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestDecoders-class.html" class="summary-name">TestDecoders</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestEncoders-class.html" class="summary-name">TestEncoders</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestGraphers-class.html" class="summary-name">TestGraphers</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Functions</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Functions"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mimetype"></a><span class="summary-sig-name">mimetype</span>(<span class="summary-sig-arg">path</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#mimetype">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module test
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.test-module.html">Module timeside.tests.test</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#!/usr/bin/python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">magic</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-1', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-2', 'core', 'link-2');">core</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> </tt>
+<a name="TestAnalyzers"></a><div id="TestAnalyzers-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="TestAnalyzers-toggle" onclick="return toggle('TestAnalyzers');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.test.TestAnalyzers-class.html">TestAnalyzers</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestAnalyzers-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestAnalyzers-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt id="link-3" class="py-name" targets="Variable timeside.tests.test.TestAnalyzers.analyzers=timeside.tests.test.TestAnalyzers-class.html#analyzers"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-3', 'analyzers', 'link-3');">analyzers</a></tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name" targets="Function timeside.core.processors()=timeside.core-module.html#processors"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-4', 'processors', 'link-4');">processors</a></tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-5', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module timeside.api=timeside.api-module.html,Package timeside.tests.api=timeside.tests.api-module.html"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-6', 'api', 'link-6');">api</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Class timeside.api.IAnalyzer=timeside.api.IAnalyzer-class.html"><a title="timeside.api.IAnalyzer" class="py-name" href="#" onclick="return doclink('link-7', 'IAnalyzer', 'link-7');">IAnalyzer</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> </tt>
+<a name="TestAnalyzers.list"></a><div id="TestAnalyzers.list-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="TestAnalyzers.list-toggle" onclick="return toggle('TestAnalyzers.list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestAnalyzers-class.html#list">list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestAnalyzers.list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestAnalyzers.list-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt id="link-8" class="py-name"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-8', 'analyzers', 'link-3');">analyzers</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">analyzer_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-9', 'analyzers', 'link-3');">analyzers</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: should access the name, id and unit member statically</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># there should be no need to instantiate analyzer_class</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># eg: access directly analyzer_class.name(), etc...</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># This remark is true at many places in this file</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-10" class="py-name" targets="Variable timeside.tests.api.test_lolevel.analyzer=timeside.tests.api.test_lolevel-module.html#analyzer"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-10', 'analyzer', 'link-10');">analyzer</a></tt> <tt class="py-op">=</tt> <tt class="py-name">analyzer_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-11', 'analyzers', 'link-3');">analyzers</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'name'</tt><tt class="py-op">:</tt><tt id="link-12" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-12', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.name()=timeside.analyze.channels.ChannelAnalyser-class.html#name,Method timeside.analyze.dc.MeanDCShiftAnalyser.name()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#name,Method timeside.analyze.duration.DurationAnalyzer.name()=timeside.analyze.duration.DurationAnalyzer-class.html#name,Method timeside.analyze.encoding.EncodingAnalyser.name()=timeside.analyze.encoding.EncodingAnalyser-class.html#name,Method timeside.analyze.format.FormatAnalyser.name()=timeside.analyze.format.FormatAnalyser-class.html#name,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.name()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#name,Method timeside.analyze.mean_level.MeanLevelAnalyser.name()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#name,Method timeside.analyze.resolution.ResolutionAnalyser.name()=timeside.analyze.resolution.ResolutionAnalyser-class.html#name,Method timeside.analyze.samplerate.SampleRateAnalyzer.name()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#name,Method timeside.analyze.vamp.core.VampCoreAnalyzer.name()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#name,Static Method timeside.api.IAnalyzer.name()=timeside.api.IAnalyzer-class.html#name,Static Method timeside.api.IEffect.name()=timeside.api.IEffect-class.html#name,Static Method timeside.api.IGrapher.name()=timeside.api.IGrapher-class.html#name,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#name,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#name,Static Method timeside.tests.api.examples.Duration.name()=timeside.tests.api.examples.Duration-class.html#name,Static Method timeside.tests.api.examples.Gain.name()=timeside.tests.api.examples.Gain-class.html#name,Static Method timeside.tests.api.examples.MaxLevel.name()=timeside.tests.api.examples.MaxLevel-class.html#name,Static Method timeside.tests.api.examples.Spectrogram.name()=timeside.tests.api.examples.Spectrogram-class.html#name,Static Method timeside.tests.api.examples.Waveform.name()=timeside.tests.api.examples.Waveform-class.html#name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-13', 'name', 'link-13');">name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> <tt class="py-string">'id'</tt><tt class="py-op">:</tt><tt id="link-14" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-14', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Static Method timeside.analyze.channels.ChannelAnalyser.id()=timeside.analyze.channels.ChannelAnalyser-class.html#id,Static Method timeside.analyze.dc.MeanDCShiftAnalyser.id()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#id,Static Method timeside.analyze.duration.DurationAnalyzer.id()=timeside.analyze.duration.DurationAnalyzer-class.html#id,Static Method timeside.analyze.encoding.EncodingAnalyser.id()=timeside.analyze.encoding.EncodingAnalyser-class.html#id,Static Method timeside.analyze.format.FormatAnalyser.id()=timeside.analyze.format.FormatAnalyser-class.html#id,Static Method timeside.analyze.max_level.MaxLevelAnalyzer.id()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#id,Static Method timeside.analyze.mean_level.MeanLevelAnalyser.id()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#id,Static Method timeside.analyze.resolution.ResolutionAnalyser.id()=timeside.analyze.resolution.ResolutionAnalyser-class.html#id,Static Method timeside.analyze.samplerate.SampleRateAnalyzer.id()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#id,Method timeside.analyze.vamp.core.VampCoreAnalyzer.id()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#id,Static Method timeside.api.IProcessor.id()=timeside.api.IProcessor-class.html#id,Static Method timeside.decode.flac.FlacDecoder.id()=timeside.decode.flac.FlacDecoder-class.html#id,Static Method timeside.decode.mp3.Mp3Decoder.id()=timeside.decode.mp3.Mp3Decoder-class.html#id,Static Method timeside.decode.ogg.OggDecoder.id()=timeside.decode.ogg.OggDecoder-class.html#id,Static Method timeside.decode.wav.WavDecoder.id()=timeside.decode.wav.WavDecoder-class.html#id,Static Method timeside.encode.flac.FlacEncoder.id()=timeside.encode.flac.FlacEncoder-class.html#id,Static Method timeside.encode.mp3.Mp3Encoder.id()=timeside.encode.mp3.Mp3Encoder-class.html#id,Static Method timeside.encode.ogg.OggVorbisEncoder.id()=timeside.encode.ogg.OggVorbisEncoder-class.html#id,Static Method timeside.encode.wav.WavEncoder.id()=timeside.encode.wav.WavEncoder-class.html#id,Static Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#id,Static Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#id,Static Method timeside.tests.api.examples.Duration.id()=timeside.tests.api.examples.Duration-class.html#id,Static Method timeside.tests.api.examples.FileDecoder.id()=timeside.tests.api.examples.FileDecoder-class.html#id,Static Method timeside.tests.api.examples.FixedInputProcessor.id()=timeside.tests.api.examples.FixedInputProcessor-class.html#id,Static Method timeside.tests.api.examples.Gain.id()=timeside.tests.api.examples.Gain-class.html#id,Static Method timeside.tests.api.examples.MaxLevel.id()=timeside.tests.api.examples.MaxLevel-class.html#id,Static Method timeside.tests.api.examples.Spectrogram.id()=timeside.tests.api.examples.Spectrogram-class.html#id,Static Method timeside.tests.api.examples.WavEncoder.id()=timeside.tests.api.examples.WavEncoder-class.html#id,Static Method timeside.tests.api.examples.Waveform.id()=timeside.tests.api.examples.Waveform-class.html#id,Static Method timeside.tests.api.gstreamer.FileDecoder.id()=timeside.tests.api.gstreamer.FileDecoder-class.html#id,Static Method timeside.tests.api.gstreamer.WavEncoder.id()=timeside.tests.api.gstreamer.WavEncoder-class.html#id"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-15', 'id', 'link-15');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt class="py-string">'unit'</tt><tt class="py-op">:</tt><tt id="link-16" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-16', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.unit()=timeside.analyze.channels.ChannelAnalyser-class.html#unit,Method timeside.analyze.dc.MeanDCShiftAnalyser.unit()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#unit,Method timeside.analyze.duration.DurationAnalyzer.unit()=timeside.analyze.duration.DurationAnalyzer-class.html#unit,Method timeside.analyze.encoding.EncodingAnalyser.unit()=timeside.analyze.encoding.EncodingAnalyser-class.html#unit,Method timeside.analyze.format.FormatAnalyser.unit()=timeside.analyze.format.FormatAnalyser-class.html#unit,Method timeside.analyze.max_level.MaxLevelAnalyzer.unit()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#unit,Method timeside.analyze.mean_level.MeanLevelAnalyser.unit()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#unit,Method timeside.analyze.resolution.ResolutionAnalyser.unit()=timeside.analyze.resolution.ResolutionAnalyser-class.html#unit,Method timeside.analyze.samplerate.SampleRateAnalyzer.unit()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#unit,Method timeside.analyze.vamp.core.VampCoreAnalyzer.unit()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#unit,Static Method timeside.api.IAnalyzer.unit()=timeside.api.IAnalyzer-class.html#unit,Static Method timeside.tests.api.examples.Duration.unit()=timeside.tests.api.examples.Duration-class.html#unit,Static Method timeside.tests.api.examples.MaxLevel.unit()=timeside.tests.api.examples.MaxLevel-class.html#unit"><a title="timeside.analyze.channels.ChannelAnalyser.unit
+timeside.analyze.dc.MeanDCShiftAnalyser.unit
+timeside.analyze.duration.DurationAnalyzer.unit
+timeside.analyze.encoding.EncodingAnalyser.unit
+timeside.analyze.format.FormatAnalyser.unit
+timeside.analyze.max_level.MaxLevelAnalyzer.unit
+timeside.analyze.mean_level.MeanLevelAnalyser.unit
+timeside.analyze.resolution.ResolutionAnalyser.unit
+timeside.analyze.samplerate.SampleRateAnalyzer.unit
+timeside.analyze.vamp.core.VampCoreAnalyzer.unit
+timeside.api.IAnalyzer.unit
+timeside.tests.api.examples.Duration.unit
+timeside.tests.api.examples.MaxLevel.unit" class="py-name" href="#" onclick="return doclink('link-17', 'unit', 'link-17');">unit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt id="link-18" class="py-name"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-18', 'analyzers', 'link-3');">analyzers</a></tt> </tt>
+</div><a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
+<a name="TestAnalyzers.run"></a><div id="TestAnalyzers.run-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="TestAnalyzers.run-toggle" onclick="return toggle('TestAnalyzers.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestAnalyzers-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestAnalyzers.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestAnalyzers.run-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'\n=== Analyzer testing ===\n'</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">analyzer_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="timeside.tests.test.TestAnalyzers.analyzers" class="py-name" href="#" onclick="return doclink('link-19', 'analyzers', 'link-3');">analyzers</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt id="link-20" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-20', 'analyzer', 'link-10');">analyzer</a></tt> <tt class="py-op">=</tt> <tt class="py-name">analyzer_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt id="link-21" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-21', 'id', 'link-15');">id</a></tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-22', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-23', 'id', 'link-15');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-24', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method timeside.analyze.channels.ChannelAnalyser.render()=timeside.analyze.channels.ChannelAnalyser-class.html#render,Method timeside.analyze.dc.MeanDCShiftAnalyser.render()=timeside.analyze.dc.MeanDCShiftAnalyser-class.html#render,Method timeside.analyze.duration.DurationAnalyzer.render()=timeside.analyze.duration.DurationAnalyzer-class.html#render,Method timeside.analyze.encoding.EncodingAnalyser.render()=timeside.analyze.encoding.EncodingAnalyser-class.html#render,Method timeside.analyze.format.FormatAnalyser.render()=timeside.analyze.format.FormatAnalyser-class.html#render,Method timeside.analyze.max_level.MaxLevelAnalyzer.render()=timeside.analyze.max_level.MaxLevelAnalyzer-class.html#render,Method timeside.analyze.mean_level.MeanLevelAnalyser.render()=timeside.analyze.mean_level.MeanLevelAnalyser-class.html#render,Method timeside.analyze.resolution.ResolutionAnalyser.render()=timeside.analyze.resolution.ResolutionAnalyser-class.html#render,Method timeside.analyze.samplerate.SampleRateAnalyzer.render()=timeside.analyze.samplerate.SampleRateAnalyzer-class.html#render,Method timeside.analyze.vamp.core.VampCoreAnalyzer.render()=timeside.analyze.vamp.core.VampCoreAnalyzer-class.html#render,Method timeside.api.IGrapher.render()=timeside.api.IGrapher-class.html#render,Method timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render()=timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html#render,Method timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render()=timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html#render,Method timeside.tests.api.examples.Spectrogram.render()=timeside.tests.api.examples.Spectrogram-class.html#render,Method timeside.tests.api.examples.Waveform.render()=timeside.tests.api.examples.Waveform-class.html#render"><a title="timeside.analyze.channels.ChannelAnalyser.render
+timeside.analyze.dc.MeanDCShiftAnalyser.render
+timeside.analyze.duration.DurationAnalyzer.render
+timeside.analyze.encoding.EncodingAnalyser.render
+timeside.analyze.format.FormatAnalyser.render
+timeside.analyze.max_level.MaxLevelAnalyzer.render
+timeside.analyze.mean_level.MeanLevelAnalyser.render
+timeside.analyze.resolution.ResolutionAnalyser.render
+timeside.analyze.samplerate.SampleRateAnalyzer.render
+timeside.analyze.vamp.core.VampCoreAnalyzer.render
+timeside.api.IGrapher.render
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render
+timeside.tests.api.examples.Spectrogram.render
+timeside.tests.api.examples.Waveform.render" class="py-name" href="#" onclick="return doclink('link-25', 'render', 'link-25');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt id="link-26" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-26', 'id', 'link-15');">id</a></tt> <tt class="py-op">+</tt> <tt class="py-string">' = '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt id="link-27" class="py-name"><a title="timeside.tests.api.test_lolevel.analyzer" class="py-name" href="#" onclick="return doclink('link-27', 'analyzer', 'link-10');">analyzer</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.unit
+timeside.analyze.dc.MeanDCShiftAnalyser.unit
+timeside.analyze.duration.DurationAnalyzer.unit
+timeside.analyze.encoding.EncodingAnalyser.unit
+timeside.analyze.format.FormatAnalyser.unit
+timeside.analyze.max_level.MaxLevelAnalyzer.unit
+timeside.analyze.mean_level.MeanLevelAnalyser.unit
+timeside.analyze.resolution.ResolutionAnalyser.unit
+timeside.analyze.samplerate.SampleRateAnalyzer.unit
+timeside.analyze.vamp.core.VampCoreAnalyzer.unit
+timeside.api.IAnalyzer.unit
+timeside.tests.api.examples.Duration.unit
+timeside.tests.api.examples.MaxLevel.unit" class="py-name" href="#" onclick="return doclink('link-28', 'unit', 'link-17');">unit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
+<a name="TestDecoders"></a><div id="TestDecoders-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="TestDecoders-toggle" onclick="return toggle('TestDecoders');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.test.TestDecoders-class.html">TestDecoders</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestDecoders-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestDecoders-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-29" class="py-name" targets="Variable timeside.tests.test.TestDecoders.decoders=timeside.tests.test.TestDecoders-class.html#decoders"><a title="timeside.tests.test.TestDecoders.decoders" class="py-name" href="#" onclick="return doclink('link-29', 'decoders', 'link-29');">decoders</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-30', 'processors', 'link-4');">processors</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-31', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-32', 'api', 'link-6');">api</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Class timeside.api.IDecoder=timeside.api.IDecoder-class.html"><a title="timeside.api.IDecoder" class="py-name" href="#" onclick="return doclink('link-33', 'IDecoder', 'link-33');">IDecoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
+<a name="TestDecoders.list"></a><div id="TestDecoders.list-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="TestDecoders.list-toggle" onclick="return toggle('TestDecoders.list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestDecoders-class.html#list">list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestDecoders.list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestDecoders.list-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">decoders_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">decoder_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="timeside.tests.test.TestDecoders.decoders" class="py-name" href="#" onclick="return doclink('link-34', 'decoders', 'link-29');">decoders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-35" class="py-name" targets="Variable timeside.tests.api.test_lolevel.decoder=timeside.tests.api.test_lolevel-module.html#decoder,Variable timeside.tests.api.test_pipe.decoder=timeside.tests.api.test_pipe-module.html#decoder,Variable timeside.tests.api.test_pipe_spectrogram.decoder=timeside.tests.api.test_pipe_spectrogram-module.html#decoder,Variable timeside.tests.api.test_pipe_waveform.decoder=timeside.tests.api.test_pipe_waveform-module.html#decoder"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-35', 'decoder', 'link-35');">decoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">decoder_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">decoders_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'format'</tt><tt class="py-op">:</tt> <tt id="link-36" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-36', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Module timeside.analyze.format=timeside.analyze.format-module.html,Method timeside.api.IDecoder.format()=timeside.api.IDecoder-class.html#format,Static Method timeside.api.IEncoder.format()=timeside.api.IEncoder-class.html#format,Method timeside.decode.flac.FlacDecoder.format()=timeside.decode.flac.FlacDecoder-class.html#format,Method timeside.decode.mp3.Mp3Decoder.format()=timeside.decode.mp3.Mp3Decoder-class.html#format,Method timeside.decode.ogg.OggDecoder.format()=timeside.decode.ogg.OggDecoder-class.html#format,Method timeside.decode.wav.WavDecoder.format()=timeside.decode.wav.WavDecoder-class.html#format,Method timeside.encode.flac.FlacEncoder.format()=timeside.encode.flac.FlacEncoder-class.html#format,Method timeside.encode.mp3.Mp3Encoder.format()=timeside.encode.mp3.Mp3Encoder-class.html#format,Method timeside.encode.ogg.OggVorbisEncoder.format()=timeside.encode.ogg.OggVorbisEncoder-class.html#format,Method timeside.encode.wav.WavEncoder.format()=timeside.encode.wav.WavEncoder-class.html#format,Method timeside.tests.api.examples.FileDecoder.format()=timeside.tests.api.examples.FileDecoder-class.html#format,Method timeside.tests.api.gstreamer.FileDecoder.format()=timeside.tests.api.gstreamer.FileDecoder-class.html#format"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-37', 'format', 'link-37');">format</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-string">'mime_type'</tt><tt class="py-op">:</tt> <tt id="link-38" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-38', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Static Method timeside.api.IEncoder.mime_type()=timeside.api.IEncoder-class.html#mime_type,Method timeside.decode.flac.FlacDecoder.mime_type()=timeside.decode.flac.FlacDecoder-class.html#mime_type,Method timeside.decode.mp3.Mp3Decoder.mime_type()=timeside.decode.mp3.Mp3Decoder-class.html#mime_type,Method timeside.decode.ogg.OggDecoder.mime_type()=timeside.decode.ogg.OggDecoder-class.html#mime_type,Method timeside.decode.wav.WavDecoder.mime_type()=timeside.decode.wav.WavDecoder-class.html#mime_type,Method timeside.encode.flac.FlacEncoder.mime_type()=timeside.encode.flac.FlacEncoder-class.html#mime_type,Method timeside.encode.mp3.Mp3Encoder.mime_type()=timeside.encode.mp3.Mp3Encoder-class.html#mime_type,Method timeside.encode.ogg.OggVorbisEncoder.mime_type()=timeside.encode.ogg.OggVorbisEncoder-class.html#mime_type,Method timeside.encode.wav.WavEncoder.mime_type()=timeside.encode.wav.WavEncoder-class.html#mime_type,Static Method timeside.tests.api.examples.WavEncoder.mime_type()=timeside.tests.api.examples.WavEncoder-class.html#mime_type,Static Method timeside.tests.api.gstreamer.WavEncoder.mime_type()=timeside.tests.api.gstreamer.WavEncoder-class.html#mime_type"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-39', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-string">'file_extension'</tt><tt class="py-op">:</tt> <tt id="link-40" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-40', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Static Method timeside.api.IEncoder.file_extension()=timeside.api.IEncoder-class.html#file_extension,Method timeside.decode.flac.FlacDecoder.file_extension()=timeside.decode.flac.FlacDecoder-class.html#file_extension,Method timeside.decode.mp3.Mp3Decoder.file_extension()=timeside.decode.mp3.Mp3Decoder-class.html#file_extension,Method timeside.decode.ogg.OggDecoder.file_extension()=timeside.decode.ogg.OggDecoder-class.html#file_extension,Method timeside.decode.wav.WavDecoder.file_extension()=timeside.decode.wav.WavDecoder-class.html#file_extension,Method timeside.encode.flac.FlacEncoder.file_extension()=timeside.encode.flac.FlacEncoder-class.html#file_extension,Method timeside.encode.mp3.Mp3Encoder.file_extension()=timeside.encode.mp3.Mp3Encoder-class.html#file_extension,Method timeside.encode.ogg.OggVorbisEncoder.file_extension()=timeside.encode.ogg.OggVorbisEncoder-class.html#file_extension,Method timeside.encode.wav.WavEncoder.file_extension()=timeside.encode.wav.WavEncoder-class.html#file_extension,Static Method timeside.tests.api.examples.WavEncoder.file_extension()=timeside.tests.api.examples.WavEncoder-class.html#file_extension,Static Method timeside.tests.api.gstreamer.WavEncoder.file_extension()=timeside.tests.api.gstreamer.WavEncoder-class.html#file_extension"><a title="timeside.api.IEncoder.file_extension
+timeside.decode.flac.FlacDecoder.file_extension
+timeside.decode.mp3.Mp3Decoder.file_extension
+timeside.decode.ogg.OggDecoder.file_extension
+timeside.decode.wav.WavDecoder.file_extension
+timeside.encode.flac.FlacEncoder.file_extension
+timeside.encode.mp3.Mp3Encoder.file_extension
+timeside.encode.ogg.OggVorbisEncoder.file_extension
+timeside.encode.wav.WavEncoder.file_extension
+timeside.tests.api.examples.WavEncoder.file_extension
+timeside.tests.api.gstreamer.WavEncoder.file_extension" class="py-name" href="#" onclick="return doclink('link-41', 'file_extension', 'link-41');">file_extension</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">decoders_list</tt> </tt>
+</div><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt>
+<a name="TestDecoders.get_decoder"></a><div id="TestDecoders.get_decoder-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="TestDecoders.get_decoder-toggle" onclick="return toggle('TestDecoders.get_decoder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestDecoders-class.html#get_decoder">get_decoder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestDecoders.get_decoder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestDecoders.get_decoder-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">decoder_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="timeside.tests.test.TestDecoders.decoders" class="py-name" href="#" onclick="return doclink('link-42', 'decoders', 'link-29');">decoders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-43', 'decoder', 'link-35');">decoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">decoder_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-44" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-44', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-45', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-46" class="py-name"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-46', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-47" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-47', 'decoder', 'link-35');">decoder</a></tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
+<a name="TestDecoders.export"></a><div id="TestDecoders.export-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="TestDecoders.export-toggle" onclick="return toggle('TestDecoders.export');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestDecoders-class.html#export">export</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestDecoders.export-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestDecoders.export-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">files</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">listdir</tt><tt class="py-op">(</tt><tt class="py-name">media_dir</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">file</tt> <tt class="py-keyword">in</tt> <tt class="py-name">files</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">media</tt> <tt class="py-op">=</tt> <tt class="py-name">media_dir</tt> <tt class="py-op">+</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">sep</tt> <tt class="py-op">+</tt> <tt class="py-name">file</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">mime</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name" targets="Variable timeside.tests.api.gstreamer.FileDecoder.mimetype=timeside.tests.api.gstreamer.FileDecoder-class.html#mimetype,Function timeside.tests.test.mimetype()=timeside.tests.test-module.html#mimetype"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-48', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">mime</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">file_ext</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt id="link-49" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-49', 'decoder', 'link-35');">decoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method timeside.tests.test.TestDecoders.get_decoder()=timeside.tests.test.TestDecoders-class.html#get_decoder"><a title="timeside.tests.test.TestDecoders.get_decoder" class="py-name" href="#" onclick="return doclink('link-50', 'get_decoder', 'link-50');">get_decoder</a></tt><tt class="py-op">(</tt><tt class="py-name">mime</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-51" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-51', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-52', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-53', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-comment">#print decoder.command</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">file_path</tt> <tt class="py-op">=</tt> <tt class="py-string">'results/sweep'</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> <tt class="py-op">+</tt> <tt class="py-name">file_ext</tt> <tt class="py-op">+</tt> <tt class="py-string">'.wav'</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_path</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">chunk</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
+<a name="TestEncoders"></a><div id="TestEncoders-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="TestEncoders-toggle" onclick="return toggle('TestEncoders');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.test.TestEncoders-class.html">TestEncoders</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestEncoders-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestEncoders-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt id="link-54" class="py-name" targets="Variable timeside.tests.test.TestEncoders.encoders=timeside.tests.test.TestEncoders-class.html#encoders"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-54', 'encoders', 'link-54');">encoders</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-55', 'processors', 'link-4');">processors</a></tt><tt class="py-op">(</tt><tt id="link-56" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-56', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-57', 'api', 'link-6');">api</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Class timeside.api.IEncoder=timeside.api.IEncoder-class.html"><a title="timeside.api.IEncoder" class="py-name" href="#" onclick="return doclink('link-58', 'IEncoder', 'link-58');">IEncoder</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
+<a name="TestEncoders.list"></a><div id="TestEncoders.list-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="TestEncoders.list-toggle" onclick="return toggle('TestEncoders.list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestEncoders-class.html#list">list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestEncoders.list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestEncoders.list-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt id="link-59" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-59', 'encoders', 'link-54');">encoders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">encoder_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-60', 'encoders', 'link-54');">encoders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt id="link-61" class="py-name" targets="Variable timeside.tests.api.test_lolevel.encoder=timeside.tests.api.test_lolevel-module.html#encoder,Variable timeside.tests.api.test_pipe.encoder=timeside.tests.api.test_pipe-module.html#encoder"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-61', 'encoder', 'link-61');">encoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">encoder_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-62', 'encoders', 'link-54');">encoders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'format'</tt><tt class="py-op">:</tt> <tt id="link-63" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-63', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-64', 'format', 'link-37');">format</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-string">'mime_type'</tt><tt class="py-op">:</tt> <tt id="link-65" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-65', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-66', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt id="link-67" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-67', 'encoders', 'link-54');">encoders</a></tt> </tt>
+</div><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
+<a name="TestEncoders.get_encoder"></a><div id="TestEncoders.get_encoder-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="TestEncoders.get_encoder-toggle" onclick="return toggle('TestEncoders.get_encoder');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestEncoders-class.html#get_encoder">get_encoder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestEncoders.get_encoder-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestEncoders.get_encoder-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">encoder_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-68', 'encoders', 'link-54');">encoders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-69', 'encoder', 'link-61');">encoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">encoder_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-70" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-70', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-71', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-72" class="py-name"><a title="timeside.api.IEncoder.mime_type
+timeside.decode.flac.FlacDecoder.mime_type
+timeside.decode.mp3.Mp3Decoder.mime_type
+timeside.decode.ogg.OggDecoder.mime_type
+timeside.decode.wav.WavDecoder.mime_type
+timeside.encode.flac.FlacEncoder.mime_type
+timeside.encode.mp3.Mp3Encoder.mime_type
+timeside.encode.ogg.OggVorbisEncoder.mime_type
+timeside.encode.wav.WavEncoder.mime_type
+timeside.tests.api.examples.WavEncoder.mime_type
+timeside.tests.api.gstreamer.WavEncoder.mime_type" class="py-name" href="#" onclick="return doclink('link-72', 'mime_type', 'link-39');">mime_type</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-73" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-73', 'encoder', 'link-61');">encoder</a></tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
+<a name="TestEncoders.run"></a><div id="TestEncoders.run-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="TestEncoders.run-toggle" onclick="return toggle('TestEncoders.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestEncoders-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">metadata</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestEncoders.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestEncoders.run-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'\n=== Encoder testing ===\n'</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">encoder_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="timeside.tests.test.TestEncoders.encoders" class="py-name" href="#" onclick="return doclink('link-74', 'encoders', 'link-54');">encoders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'=================================='</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt id="link-75" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-75', 'encoder', 'link-61');">encoder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">encoder_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">mime</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-76', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name" targets="Variable timeside.tests.api.test_lolevel.source=timeside.tests.api.test_lolevel-module.html#source,Variable timeside.tests.api.test_pipe.source=timeside.tests.api.test_pipe-module.html#source,Variable timeside.tests.api.test_pipe_spectrogram.source=timeside.tests.api.test_pipe_spectrogram-module.html#source,Variable timeside.tests.api.test_pipe_waveform.source=timeside.tests.api.test_pipe_waveform-module.html#source"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-77', 'source', 'link-77');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt id="link-78" class="py-name"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-78', 'format', 'link-37');">format</a></tt> <tt class="py-op">=</tt> <tt id="link-79" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-79', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="timeside.analyze.format
+timeside.api.IDecoder.format
+timeside.api.IEncoder.format
+timeside.decode.flac.FlacDecoder.format
+timeside.decode.mp3.Mp3Decoder.format
+timeside.decode.ogg.OggDecoder.format
+timeside.decode.wav.WavDecoder.format
+timeside.encode.flac.FlacEncoder.format
+timeside.encode.mp3.Mp3Encoder.format
+timeside.encode.ogg.OggVorbisEncoder.format
+timeside.encode.wav.WavEncoder.format
+timeside.tests.api.examples.FileDecoder.format
+timeside.tests.api.gstreamer.FileDecoder.format" class="py-name" href="#" onclick="return doclink('link-80', 'format', 'link-37');">format</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt id="link-81" class="py-name"><a title="timeside.tests.test.TestDecoders.decoders" class="py-name" href="#" onclick="return doclink('link-81', 'decoders', 'link-29');">decoders</a></tt> <tt class="py-op">=</tt> <tt id="link-82" class="py-name" targets="Class timeside.tests.test.TestDecoders=timeside.tests.test.TestDecoders-class.html"><a title="timeside.tests.test.TestDecoders" class="py-name" href="#" onclick="return doclink('link-82', 'TestDecoders', 'link-82');">TestDecoders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt id="link-83" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-83', 'decoder', 'link-35');">decoder</a></tt> <tt class="py-op">=</tt> <tt id="link-84" class="py-name"><a title="timeside.tests.test.TestDecoders.decoders" class="py-name" href="#" onclick="return doclink('link-84', 'decoders', 'link-29');">decoders</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="timeside.tests.test.TestDecoders.get_decoder" class="py-name" href="#" onclick="return doclink('link-85', 'get_decoder', 'link-50');">get_decoder</a></tt><tt class="py-op">(</tt><tt class="py-name">mime</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">decoded</tt> <tt class="py-op">=</tt> <tt id="link-86" class="py-name"><a title="timeside.tests.api.test_lolevel.decoder
+timeside.tests.api.test_pipe.decoder
+timeside.tests.api.test_pipe_spectrogram.decoder
+timeside.tests.api.test_pipe_waveform.decoder" class="py-name" href="#" onclick="return doclink('link-86', 'decoder', 'link-35');">decoder</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-87', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="timeside.tests.api.test_lolevel.source
+timeside.tests.api.test_pipe.source
+timeside.tests.api.test_pipe_spectrogram.source
+timeside.tests.api.test_pipe_waveform.source" class="py-name" href="#" onclick="return doclink('link-88', 'source', 'link-77');">source</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">ext</tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-89', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="timeside.api.IEncoder.file_extension
+timeside.decode.flac.FlacDecoder.file_extension
+timeside.decode.mp3.Mp3Decoder.file_extension
+timeside.decode.ogg.OggDecoder.file_extension
+timeside.decode.wav.WavDecoder.file_extension
+timeside.encode.flac.FlacEncoder.file_extension
+timeside.encode.mp3.Mp3Encoder.file_extension
+timeside.encode.ogg.OggVorbisEncoder.file_extension
+timeside.encode.wav.WavEncoder.file_extension
+timeside.tests.api.examples.WavEncoder.file_extension
+timeside.tests.api.gstreamer.WavEncoder.file_extension" class="py-name" href="#" onclick="return doclink('link-90', 'file_extension', 'link-41');">file_extension</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="timeside.tests.api.test_lolevel.encoder
+timeside.tests.api.test_pipe.encoder" class="py-name" href="#" onclick="return doclink('link-91', 'encoder', 'link-61');">encoder</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-92', 'process', 'link-53');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">decoded</tt><tt class="py-op">,</tt> <tt id="link-93" class="py-name" targets="Method timeside.api.IDecoder.metadata()=timeside.api.IDecoder-class.html#metadata,Module timeside.metadata=timeside.metadata-module.html,Method timeside.tests.api.examples.FileDecoder.metadata()=timeside.tests.api.examples.FileDecoder-class.html#metadata,Method timeside.tests.api.gstreamer.FileDecoder.metadata()=timeside.tests.api.gstreamer.FileDecoder-class.html#metadata"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-93', 'metadata', 'link-93');">metadata</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">file_path</tt> <tt class="py-op">=</tt> <tt class="py-string">'results/sweep'</tt> <tt class="py-op">+</tt> <tt class="py-string">'.'</tt> <tt class="py-op">+</tt> <tt class="py-name">ext</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_path</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stream</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">chunk</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'Sound exported to :'</tt> <tt class="py-op">+</tt> <tt class="py-name">file_path</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'==================================\n'</tt> </tt>
+</div></div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> </tt>
+<a name="TestGraphers"></a><div id="TestGraphers-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="TestGraphers-toggle" onclick="return toggle('TestGraphers');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.test.TestGraphers-class.html">TestGraphers</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestGraphers-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestGraphers-expanded"><a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt id="link-94" class="py-name" targets="Variable timeside.tests.test.TestGraphers.graphers=timeside.tests.test.TestGraphers-class.html#graphers"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-94', 'graphers', 'link-94');">graphers</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="timeside.core.processors" class="py-name" href="#" onclick="return doclink('link-95', 'processors', 'link-4');">processors</a></tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-96', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="timeside.api
+timeside.tests.api" class="py-name" href="#" onclick="return doclink('link-97', 'api', 'link-6');">api</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Class timeside.api.IGrapher=timeside.api.IGrapher-class.html"><a title="timeside.api.IGrapher" class="py-name" href="#" onclick="return doclink('link-98', 'IGrapher', 'link-98');">IGrapher</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> </tt>
+<a name="TestGraphers.list"></a><div id="TestGraphers.list-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="TestGraphers.list-toggle" onclick="return toggle('TestGraphers.list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestGraphers-class.html#list">list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestGraphers.list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestGraphers.list-expanded"><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt id="link-99" class="py-name"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-99', 'graphers', 'link-94');">graphers</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">grapher_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-100', 'graphers', 'link-94');">graphers</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt id="link-101" class="py-name" targets="Package timeside.grapher=timeside.grapher-module.html"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-101', 'grapher', 'link-101');">grapher</a></tt> <tt class="py-op">=</tt> <tt class="py-name">grapher_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt id="link-102" class="py-name"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-102', 'graphers', 'link-94');">graphers</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'id'</tt><tt class="py-op">:</tt><tt id="link-103" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-103', 'grapher', 'link-101');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-104', 'id', 'link-15');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-string">'name'</tt><tt class="py-op">:</tt><tt id="link-105" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-105', 'grapher', 'link-101');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.name
+timeside.analyze.dc.MeanDCShiftAnalyser.name
+timeside.analyze.duration.DurationAnalyzer.name
+timeside.analyze.encoding.EncodingAnalyser.name
+timeside.analyze.format.FormatAnalyser.name
+timeside.analyze.max_level.MaxLevelAnalyzer.name
+timeside.analyze.mean_level.MeanLevelAnalyser.name
+timeside.analyze.resolution.ResolutionAnalyser.name
+timeside.analyze.samplerate.SampleRateAnalyzer.name
+timeside.analyze.vamp.core.VampCoreAnalyzer.name
+timeside.api.IAnalyzer.name
+timeside.api.IEffect.name
+timeside.api.IGrapher.name
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.name
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.name
+timeside.tests.api.examples.Duration.name
+timeside.tests.api.examples.Gain.name
+timeside.tests.api.examples.MaxLevel.name
+timeside.tests.api.examples.Spectrogram.name
+timeside.tests.api.examples.Waveform.name" class="py-name" href="#" onclick="return doclink('link-106', 'name', 'link-13');">name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt id="link-107" class="py-name"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-107', 'graphers', 'link-94');">graphers</a></tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
+<a name="TestGraphers.run"></a><div id="TestGraphers.run-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="TestGraphers.run-toggle" onclick="return toggle('TestGraphers.run');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test.TestGraphers-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestGraphers.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestGraphers.run-expanded"><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'\n=== Grapher testing ===\n'</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">grapher_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="timeside.tests.test.TestGraphers.graphers" class="py-name" href="#" onclick="return doclink('link-108', 'graphers', 'link-94');">graphers</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt id="link-109" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-109', 'grapher', 'link-101');">grapher</a></tt> <tt class="py-op">=</tt> <tt class="py-name">grapher_class</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt id="link-110" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-110', 'id', 'link-15');">id</a></tt> <tt class="py-op">=</tt> <tt id="link-111" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-111', 'grapher', 'link-101');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-112', 'id', 'link-15');">id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt id="link-113" class="py-name"><a title="timeside.grapher" class="py-name" href="#" onclick="return doclink('link-113', 'grapher', 'link-101');">grapher</a></tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.render
+timeside.analyze.dc.MeanDCShiftAnalyser.render
+timeside.analyze.duration.DurationAnalyzer.render
+timeside.analyze.encoding.EncodingAnalyser.render
+timeside.analyze.format.FormatAnalyser.render
+timeside.analyze.max_level.MaxLevelAnalyzer.render
+timeside.analyze.mean_level.MeanLevelAnalyser.render
+timeside.analyze.resolution.ResolutionAnalyser.render
+timeside.analyze.samplerate.SampleRateAnalyzer.render
+timeside.analyze.vamp.core.VampCoreAnalyzer.render
+timeside.api.IGrapher.render
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.render
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.render
+timeside.tests.api.examples.Spectrogram.render
+timeside.tests.api.examples.Waveform.render" class="py-name" href="#" onclick="return doclink('link-114', 'render', 'link-25');">render</a></tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">file_path</tt> <tt class="py-op">=</tt> <tt class="py-string">'results/'</tt><tt class="py-op">+</tt><tt id="link-115" class="py-name"><a title="timeside.analyze.channels.ChannelAnalyser.id
+timeside.analyze.dc.MeanDCShiftAnalyser.id
+timeside.analyze.duration.DurationAnalyzer.id
+timeside.analyze.encoding.EncodingAnalyser.id
+timeside.analyze.format.FormatAnalyser.id
+timeside.analyze.max_level.MaxLevelAnalyzer.id
+timeside.analyze.mean_level.MeanLevelAnalyser.id
+timeside.analyze.resolution.ResolutionAnalyser.id
+timeside.analyze.samplerate.SampleRateAnalyzer.id
+timeside.analyze.vamp.core.VampCoreAnalyzer.id
+timeside.api.IProcessor.id
+timeside.decode.flac.FlacDecoder.id
+timeside.decode.mp3.Mp3Decoder.id
+timeside.decode.ogg.OggDecoder.id
+timeside.decode.wav.WavDecoder.id
+timeside.encode.flac.FlacEncoder.id
+timeside.encode.mp3.Mp3Encoder.id
+timeside.encode.ogg.OggVorbisEncoder.id
+timeside.encode.wav.WavEncoder.id
+timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab.id
+timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab.id
+timeside.tests.api.examples.Duration.id
+timeside.tests.api.examples.FileDecoder.id
+timeside.tests.api.examples.FixedInputProcessor.id
+timeside.tests.api.examples.Gain.id
+timeside.tests.api.examples.MaxLevel.id
+timeside.tests.api.examples.Spectrogram.id
+timeside.tests.api.examples.WavEncoder.id
+timeside.tests.api.examples.Waveform.id
+timeside.tests.api.gstreamer.FileDecoder.id
+timeside.tests.api.gstreamer.WavEncoder.id" class="py-name" href="#" onclick="return doclink('link-115', 'id', 'link-15');">id</a></tt><tt class="py-op">+</tt><tt class="py-string">'.png'</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_path</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">chunk</tt> <tt class="py-keyword">in</tt> <tt class="py-name">image</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">chunk</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">'Image exported to :'</tt> <tt class="py-op">+</tt> <tt class="py-name">file_path</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt>
+<a name="mimetype"></a><div id="mimetype-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="mimetype-toggle" onclick="return toggle('mimetype');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.test-module.html#mimetype">mimetype</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="mimetype-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mimetype-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">,</tt> <tt class="py-string">"Magic"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-116" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-116', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">,</tt> <tt class="py-string">"magic"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt id="link-117" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-117', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">magic</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">Magic</tt><tt class="py-op">(</tt><tt class="py-name">mime</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">magic_file</tt> <tt class="py-op">=</tt> <tt id="link-118" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-118', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">from_file</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">mime</tt> <tt class="py-op">=</tt> <tt class="py-name">magic_file</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-119" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-119', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">,</tt> <tt class="py-string">"magic"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt id="link-120" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-120', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">magic</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_MIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt id="link-121" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-121', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">mime</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="timeside.tests.api.gstreamer.FileDecoder.mimetype
+timeside.tests.test.mimetype" class="py-name" href="#" onclick="return doclink('link-122', 'mimetype', 'link-48');">mimetype</a></tt><tt class="py-op">.</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">mime</tt> </tt>
+</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">sample</tt> <tt class="py-op">=</tt> <tt class="py-string">'samples/sweep_source.wav'</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-123" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-123', 'metadata', 'link-93');">metadata</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'creator'</tt><tt class="py-op">,</tt> <tt class="py-string">'yomguy'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'date'</tt><tt class="py-op">,</tt> <tt class="py-string">'2009'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'name'</tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-124" class="py-name" targets="Class timeside.tests.test.TestAnalyzers=timeside.tests.test.TestAnalyzers-class.html"><a title="timeside.tests.test.TestAnalyzers" class="py-name" href="#" onclick="return doclink('link-124', 'TestAnalyzers', 'link-124');">TestAnalyzers</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="timeside.tests.test.TestDecoders" class="py-name" href="#" onclick="return doclink('link-125', 'TestDecoders', 'link-82');">TestDecoders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name" targets="Class timeside.tests.test.TestEncoders=timeside.tests.test.TestEncoders-class.html"><a title="timeside.tests.test.TestEncoders" class="py-name" href="#" onclick="return doclink('link-126', 'TestEncoders', 'link-126');">TestEncoders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-comment">#g = TestGraphers()</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method timeside.tests.test.TestAnalyzers.list()=timeside.tests.test.TestAnalyzers-class.html#list,Method timeside.tests.test.TestDecoders.list()=timeside.tests.test.TestDecoders-class.html#list,Method timeside.tests.test.TestEncoders.list()=timeside.tests.test.TestEncoders-class.html#list,Method timeside.tests.test.TestGraphers.list()=timeside.tests.test.TestGraphers-class.html#list"><a title="timeside.tests.test.TestAnalyzers.list
+timeside.tests.test.TestDecoders.list
+timeside.tests.test.TestEncoders.list
+timeside.tests.test.TestGraphers.list" class="py-name" href="#" onclick="return doclink('link-127', 'list', 'link-127');">list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="timeside.tests.test.TestAnalyzers.list
+timeside.tests.test.TestDecoders.list
+timeside.tests.test.TestEncoders.list
+timeside.tests.test.TestGraphers.list" class="py-name" href="#" onclick="return doclink('link-128', 'list', 'link-127');">list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="timeside.tests.test.TestAnalyzers.list
+timeside.tests.test.TestDecoders.list
+timeside.tests.test.TestEncoders.list
+timeside.tests.test.TestGraphers.list" class="py-name" href="#" onclick="return doclink('link-129', 'list', 'link-127');">list</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-comment">#g.list()</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method timeside.core.ProcessPipe.run()=timeside.core.ProcessPipe-class.html#run,Method timeside.tests.TestRunner.run()=timeside.tests.TestRunner-class.html#run,Method timeside.tests.test.TestAnalyzers.run()=timeside.tests.test.TestAnalyzers-class.html#run,Method timeside.tests.test.TestEncoders.run()=timeside.tests.test.TestEncoders-class.html#run,Method timeside.tests.test.TestGraphers.run()=timeside.tests.test.TestGraphers-class.html#run"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-130', 'run', 'link-130');">run</a></tt><tt class="py-op">(</tt><tt class="py-name">sample</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-comment">#g.run(sample)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="timeside.core.ProcessPipe.run
+timeside.tests.TestRunner.run
+timeside.tests.test.TestAnalyzers.run
+timeside.tests.test.TestEncoders.run
+timeside.tests.test.TestGraphers.run" class="py-name" href="#" onclick="return doclink('link-131', 'run', 'link-130');">run</a></tt><tt class="py-op">(</tt><tt class="py-name">sample</tt><tt class="py-op">,</tt> <tt id="link-132" class="py-name"><a title="timeside.api.IDecoder.metadata
+timeside.metadata
+timeside.tests.api.examples.FileDecoder.metadata
+timeside.tests.api.gstreamer.FileDecoder.metadata" class="py-name" href="#" onclick="return doclink('link-132', 'metadata', 'link-93');">metadata</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name" targets="Method timeside.tests.test.TestDecoders.export()=timeside.tests.test.TestDecoders-class.html#export"><a title="timeside.tests.test.TestDecoders.export" class="py-name" href="#" onclick="return doclink('link-133', 'export', 'link-133');">export</a></tt><tt class="py-op">(</tt><tt class="py-string">'samples/'</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:40 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test.TestAnalyzers</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.test-module.html">Module test</a> ::
+ Class TestAnalyzers
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test.TestAnalyzers-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestAnalyzers</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.test-pysrc.html#TestAnalyzers">source code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="list"></a><span class="summary-sig-name">list</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestAnalyzers.list">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestAnalyzers.run">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestAnalyzers-class.html#analyzers" class="summary-name">analyzers</a> = <code title="[<class 'timeside.analyze.channels.ChannelAnalyser'>,
+ <class 'timeside.analyze.format.FormatAnalyser'>,
+ <class 'timeside.analyze.encoding.EncodingAnalyser'>,
+ <class 'timeside.analyze.resolution.ResolutionAnalyser'>,
+ <class 'timeside.analyze.samplerate.SampleRateAnalyzer'>,
+ <class 'timeside.analyze.duration.DurationAnalyzer'>,
+ <class 'timeside.analyze.max_level.MaxLevelAnalyzer'>,
+ <class 'timeside.analyze.mean_level.MeanLevelAnalyser'>,
+..."><code class="variable-group">[</code><class 'timeside.analyze.channels.ChannelAnalyser<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="analyzers"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">analyzers</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><class 'timeside.analyze.channels.ChannelAnalyser'><code class="variable-op">,</code>
+ <class 'timeside.analyze.format.FormatAnalyser'><code class="variable-op">,</code>
+ <class 'timeside.analyze.encoding.EncodingAnalyser'><code class="variable-op">,</code>
+ <class 'timeside.analyze.resolution.ResolutionAnalyser'><code class="variable-op">,</code>
+ <class 'timeside.analyze.samplerate.SampleRateAnalyzer'><code class="variable-op">,</code>
+ <class 'timeside.analyze.duration.DurationAnalyzer'><code class="variable-op">,</code>
+ <class 'timeside.analyze.max_level.MaxLevelAnalyzer'><code class="variable-op">,</code>
+ <class 'timeside.analyze.mean_level.MeanLevelAnalyser'><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test.TestDecoders</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.test-module.html">Module test</a> ::
+ Class TestDecoders
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test.TestDecoders-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestDecoders</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.test-pysrc.html#TestDecoders">source code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="list"></a><span class="summary-sig-name">list</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestDecoders.list">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_decoder"></a><span class="summary-sig-name">get_decoder</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">mime_type</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestDecoders.get_decoder">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="export"></a><span class="summary-sig-name">export</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media_dir</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestDecoders.export">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestDecoders-class.html#decoders" class="summary-name">decoders</a> = <code title="[<class 'timeside.decode.ogg.OggDecoder'>,
+ <class 'timeside.decode.flac.FlacDecoder'>,
+ <class 'timeside.decode.wav.WavDecoder'>,
+ <class 'timeside.decode.mp3.Mp3Decoder'>]"><code class="variable-group">[</code><class 'timeside.decode.ogg.OggDecoder'><code class="variable-op">, </code><class '<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="decoders"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">decoders</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><class 'timeside.decode.ogg.OggDecoder'><code class="variable-op">,</code>
+ <class 'timeside.decode.flac.FlacDecoder'><code class="variable-op">,</code>
+ <class 'timeside.decode.wav.WavDecoder'><code class="variable-op">,</code>
+ <class 'timeside.decode.mp3.Mp3Decoder'><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test.TestEncoders</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.test-module.html">Module test</a> ::
+ Class TestEncoders
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test.TestEncoders-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestEncoders</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.test-pysrc.html#TestEncoders">source code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="list"></a><span class="summary-sig-name">list</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestEncoders.list">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_encoder"></a><span class="summary-sig-name">get_encoder</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">mime_type</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestEncoders.get_encoder">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">source</span>,
+ <span class="summary-sig-arg">metadata</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestEncoders.run">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestEncoders-class.html#encoders" class="summary-name">encoders</a> = <code title="[<class 'timeside.encode.ogg.OggVorbisEncoder'>,
+ <class 'timeside.encode.wav.WavEncoder'>,
+ <class 'timeside.encode.mp3.Mp3Encoder'>,
+ <class 'timeside.encode.flac.FlacEncoder'>]"><code class="variable-group">[</code><class 'timeside.encode.ogg.OggVorbisEncoder'><code class="variable-op">, </code><c<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="encoders"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">encoders</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><class 'timeside.encode.ogg.OggVorbisEncoder'><code class="variable-op">,</code>
+ <class 'timeside.encode.wav.WavEncoder'><code class="variable-op">,</code>
+ <class 'timeside.encode.mp3.Mp3Encoder'><code class="variable-op">,</code>
+ <class 'timeside.encode.flac.FlacEncoder'><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.test.TestGraphers</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.test-module.html">Module test</a> ::
+ Class TestGraphers
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.test.TestGraphers-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestGraphers</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.test-pysrc.html#TestGraphers">source code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="list"></a><span class="summary-sig-name">list</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestGraphers.list">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">media</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.test-pysrc.html#TestGraphers.run">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variables</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariables"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.test.TestGraphers-class.html#graphers" class="summary-name">graphers</a> = <code title="[<class 'timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab'>,
+ <class 'timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudio\
+lab'>]"><code class="variable-group">[</code><class 'timeside.grapher.waveform_audiolab.WaveFor<code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
+<a name="section-ClassVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Class Variable Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-ClassVariableDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="graphers"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">graphers</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><class 'timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab'><code class="variable-op">,</code>
+ <class 'timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudio<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+lab'><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module testcomponent
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module testcomponent</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html" class="summary-name">TestComponentArchitecture</a><br />
+ Test the component and interface system
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I1-class.html" class="summary-name" onclick="show_private();">I1</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I2-class.html" class="summary-name" onclick="show_private();">I2</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I3-class.html" class="summary-name" onclick="show_private();">I3</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I4-class.html" class="summary-name" onclick="show_private();">I4</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I5-class.html" class="summary-name" onclick="show_private();">I5</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I6-class.html" class="summary-name" onclick="show_private();">I6</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I7-class.html" class="summary-name" onclick="show_private();">I7</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I8-class.html" class="summary-name" onclick="show_private();">I8</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I9-class.html" class="summary-name" onclick="show_private();">I9</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I10-class.html" class="summary-name" onclick="show_private();">I10</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.I11-class.html" class="summary-name" onclick="show_private();">I11</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C1-class.html" class="summary-name" onclick="show_private();">C1</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C2-class.html" class="summary-name" onclick="show_private();">C2</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C3-class.html" class="summary-name" onclick="show_private();">C3</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C4-class.html" class="summary-name" onclick="show_private();">C4</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C5-class.html" class="summary-name" onclick="show_private();">C5</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C6-class.html" class="summary-name" onclick="show_private();">C6</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C7-class.html" class="summary-name" onclick="show_private();">C7</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C8-class.html" class="summary-name" onclick="show_private();">C8</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C9-class.html" class="summary-name" onclick="show_private();">C9</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C10-class.html" class="summary-name" onclick="show_private();">C10</a>
+ </td>
+ </tr>
+<tr class="private">
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testcomponent.C11-class.html" class="summary-name" onclick="show_private();">C11</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module testcomponent
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.testcomponent-module.html">Module timeside.tests.testcomponent</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.component=timeside.component-module.html"><a title="timeside.component" class="py-name" href="#" onclick="return doclink('link-1', 'component', 'link-1');">component</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-2', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-3', 'tests', 'link-3');">tests</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class timeside.tests.TestCase=timeside.tests.TestCase-class.html"><a title="timeside.tests.TestCase" class="py-name" href="#" onclick="return doclink('link-4', 'TestCase', 'link-4');">TestCase</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Class timeside.tests.TestRunner=timeside.tests.TestRunner-class.html"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-5', 'TestRunner', 'link-5');">TestRunner</a></tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">unittest</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'TestComponentArchitecture'</tt><tt class="py-op">]</tt> </tt>
+<a name="TestComponentArchitecture"></a><div id="TestComponentArchitecture-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture-toggle" onclick="return toggle('TestComponentArchitecture');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html">TestComponentArchitecture</a><tt class="py-op">(</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestComponentArchitecture-expanded"><a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> <tt class="py-docstring">"Test the component and interface system"</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testOneInterface"></a><div id="TestComponentArchitecture.testOneInterface-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testOneInterface-toggle" onclick="return toggle('TestComponentArchitecture.testOneInterface');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testOneInterface">testOneInterface</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testOneInterface-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testOneInterface-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"> <tt class="py-docstring">"Test a component implementing one interface"</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method timeside.tests.TestCase.assertSameList()=timeside.tests.TestCase-class.html#assertSameList"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-6', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Variable timeside.component.MetaComponent.implementations=timeside.component.MetaComponent-class.html#implementations,Function timeside.component.implementations()=timeside.component-module.html#implementations"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-7', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-8" class="py-name" targets="Class timeside.tests.testcomponent.I1=timeside.tests.testcomponent.I1-class.html"><a title="timeside.tests.testcomponent.I1" class="py-name" href="#" onclick="return doclink('link-8', 'I1', 'link-8');">I1</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-9" class="py-name" targets="Class timeside.tests.testcomponent.C1=timeside.tests.testcomponent.C1-class.html"><a title="timeside.tests.testcomponent.C1" class="py-name" href="#" onclick="return doclink('link-9', 'C1', 'link-9');">C1</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testTwoInterfaces"></a><div id="TestComponentArchitecture.testTwoInterfaces-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testTwoInterfaces-toggle" onclick="return toggle('TestComponentArchitecture.testTwoInterfaces');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoInterfaces">testTwoInterfaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt class="py-docstring">"Test a component implementing two interfaces"</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-10', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-11', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-12" class="py-name" targets="Class timeside.tests.testcomponent.I2=timeside.tests.testcomponent.I2-class.html"><a title="timeside.tests.testcomponent.I2" class="py-name" href="#" onclick="return doclink('link-12', 'I2', 'link-12');">I2</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-13" class="py-name" targets="Class timeside.tests.testcomponent.C2=timeside.tests.testcomponent.C2-class.html"><a title="timeside.tests.testcomponent.C2" class="py-name" href="#" onclick="return doclink('link-13', 'C2', 'link-13');">C2</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-14', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-15', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Class timeside.tests.testcomponent.I3=timeside.tests.testcomponent.I3-class.html"><a title="timeside.tests.testcomponent.I3" class="py-name" href="#" onclick="return doclink('link-16', 'I3', 'link-16');">I3</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="timeside.tests.testcomponent.C2" class="py-name" href="#" onclick="return doclink('link-17', 'C2', 'link-13');">C2</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testTwoImplementations"></a><div id="TestComponentArchitecture.testTwoImplementations-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testTwoImplementations-toggle" onclick="return toggle('TestComponentArchitecture.testTwoImplementations');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testTwoImplementations">testTwoImplementations</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testTwoImplementations-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testTwoImplementations-expanded"><a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> <tt class="py-docstring">"Test an interface implemented by two components"</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-18', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-19', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-20" class="py-name" targets="Class timeside.tests.testcomponent.I4=timeside.tests.testcomponent.I4-class.html"><a title="timeside.tests.testcomponent.I4" class="py-name" href="#" onclick="return doclink('link-20', 'I4', 'link-20');">I4</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-21" class="py-name" targets="Class timeside.tests.testcomponent.C3=timeside.tests.testcomponent.C3-class.html"><a title="timeside.tests.testcomponent.C3" class="py-name" href="#" onclick="return doclink('link-21', 'C3', 'link-21');">C3</a></tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name" targets="Class timeside.tests.testcomponent.C4=timeside.tests.testcomponent.C4-class.html"><a title="timeside.tests.testcomponent.C4" class="py-name" href="#" onclick="return doclink('link-22', 'C4', 'link-22');">C4</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testInterfaceInheritance"></a><div id="TestComponentArchitecture.testInterfaceInheritance-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testInterfaceInheritance-toggle" onclick="return toggle('TestComponentArchitecture.testInterfaceInheritance');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceInheritance">testInterfaceInheritance</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testInterfaceInheritance-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testInterfaceInheritance-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-docstring">"Test whether a component implements an interface's parent"</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-23', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-24', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-25" class="py-name" targets="Class timeside.tests.testcomponent.I5=timeside.tests.testcomponent.I5-class.html"><a title="timeside.tests.testcomponent.I5" class="py-name" href="#" onclick="return doclink('link-25', 'I5', 'link-25');">I5</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-26" class="py-name" targets="Class timeside.tests.testcomponent.C5=timeside.tests.testcomponent.C5-class.html"><a title="timeside.tests.testcomponent.C5" class="py-name" href="#" onclick="return doclink('link-26', 'C5', 'link-26');">C5</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testImplementationInheritance"></a><div id="TestComponentArchitecture.testImplementationInheritance-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testImplementationInheritance-toggle" onclick="return toggle('TestComponentArchitecture.testImplementationInheritance');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationInheritance">testImplementationInheritance</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testImplementationInheritance-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testImplementationInheritance-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-docstring">"Test that a component doesn't implement the interface implemented by its parent"</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-27', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-28', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name" targets="Class timeside.tests.testcomponent.I7=timeside.tests.testcomponent.I7-class.html"><a title="timeside.tests.testcomponent.I7" class="py-name" href="#" onclick="return doclink('link-29', 'I7', 'link-29');">I7</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-30" class="py-name" targets="Class timeside.tests.testcomponent.C6=timeside.tests.testcomponent.C6-class.html"><a title="timeside.tests.testcomponent.C6" class="py-name" href="#" onclick="return doclink('link-30', 'C6', 'link-30');">C6</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testImplementationRedundancy"></a><div id="TestComponentArchitecture.testImplementationRedundancy-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testImplementationRedundancy-toggle" onclick="return toggle('TestComponentArchitecture.testImplementationRedundancy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testImplementationRedundancy">testImplementationRedundancy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testImplementationRedundancy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testImplementationRedundancy-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-docstring">"Test implementation redundancy across inheritance"</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-31', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-32', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-33" class="py-name" targets="Class timeside.tests.testcomponent.I8=timeside.tests.testcomponent.I8-class.html"><a title="timeside.tests.testcomponent.I8" class="py-name" href="#" onclick="return doclink('link-33', 'I8', 'link-33');">I8</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-34" class="py-name" targets="Class timeside.tests.testcomponent.C8=timeside.tests.testcomponent.C8-class.html"><a title="timeside.tests.testcomponent.C8" class="py-name" href="#" onclick="return doclink('link-34', 'C8', 'link-34');">C8</a></tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name" targets="Class timeside.tests.testcomponent.C9=timeside.tests.testcomponent.C9-class.html"><a title="timeside.tests.testcomponent.C9" class="py-name" href="#" onclick="return doclink('link-35', 'C9', 'link-35');">C9</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testAbstractImplementation"></a><div id="TestComponentArchitecture.testAbstractImplementation-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testAbstractImplementation-toggle" onclick="return toggle('TestComponentArchitecture.testAbstractImplementation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testAbstractImplementation">testAbstractImplementation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-docstring">"Test abstract implementation"</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-36', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-37', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-38" class="py-name" targets="Class timeside.tests.testcomponent.I11=timeside.tests.testcomponent.I11-class.html"><a title="timeside.tests.testcomponent.I11" class="py-name" href="#" onclick="return doclink('link-38', 'I11', 'link-38');">I11</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="timeside.tests.TestCase.assertSameList" class="py-name" href="#" onclick="return doclink('link-39', 'assertSameList', 'link-6');">assertSameList</a></tt><tt class="py-op">(</tt><tt id="link-40" class="py-name"><a title="timeside.component.MetaComponent.implementations
+timeside.component.implementations" class="py-name" href="#" onclick="return doclink('link-40', 'implementations', 'link-7');">implementations</a></tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="timeside.tests.testcomponent.I11" class="py-name" href="#" onclick="return doclink('link-41', 'I11', 'link-38');">I11</a></tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name" targets="Variable timeside.component.MetaComponent.abstract=timeside.component.MetaComponent-class.html#abstract,Function timeside.component.abstract()=timeside.component-module.html#abstract"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-42', 'abstract', 'link-42');">abstract</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-43" class="py-name" targets="Class timeside.tests.testcomponent.C11=timeside.tests.testcomponent.C11-class.html"><a title="timeside.tests.testcomponent.C11" class="py-name" href="#" onclick="return doclink('link-43', 'C11', 'link-43');">C11</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testInterfaceDoc"></a><div id="TestComponentArchitecture.testInterfaceDoc-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testInterfaceDoc-toggle" onclick="return toggle('TestComponentArchitecture.testInterfaceDoc');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDoc">testInterfaceDoc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-docstring">"Test @interfacedoc decorator"</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEquals</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name" targets="Class timeside.tests.testcomponent.C10=timeside.tests.testcomponent.C10-class.html"><a title="timeside.tests.testcomponent.C10" class="py-name" href="#" onclick="return doclink('link-44', 'C10', 'link-44');">C10</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Module timeside.tests.test=timeside.tests.test-module.html,Method timeside.tests.testcomponent.C10.test()=timeside.tests.testcomponent.C10-class.html#test,Method timeside.tests.testcomponent.I10.test()=timeside.tests.testcomponent.I10-class.html#test"><a title="timeside.tests.test
+timeside.tests.testcomponent.C10.test
+timeside.tests.testcomponent.I10.test" class="py-name" href="#" onclick="return doclink('link-45', 'test', 'link-45');">test</a></tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt><tt class="py-op">,</tt> <tt class="py-string">"testdoc"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testInterfaceDocStatic"></a><div id="TestComponentArchitecture.testInterfaceDocStatic-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testInterfaceDocStatic-toggle" onclick="return toggle('TestComponentArchitecture.testInterfaceDocStatic');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocStatic">testInterfaceDocStatic</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-docstring">"Test @interfacedoc decorator on static method"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEquals</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="timeside.tests.testcomponent.C10" class="py-name" href="#" onclick="return doclink('link-46', 'C10', 'link-44');">C10</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Static Method timeside.tests.testcomponent.C10.teststatic()=timeside.tests.testcomponent.C10-class.html#teststatic,Static Method timeside.tests.testcomponent.I10.teststatic()=timeside.tests.testcomponent.I10-class.html#teststatic"><a title="timeside.tests.testcomponent.C10.teststatic
+timeside.tests.testcomponent.I10.teststatic" class="py-name" href="#" onclick="return doclink('link-47', 'teststatic', 'link-47');">teststatic</a></tt><tt class="py-op">.</tt><tt class="py-name">__doc__</tt><tt class="py-op">,</tt> <tt class="py-string">"teststaticdoc"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testIntefaceDocReversed"></a><div id="TestComponentArchitecture.testIntefaceDocReversed-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testIntefaceDocReversed-toggle" onclick="return toggle('TestComponentArchitecture.testIntefaceDocReversed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testIntefaceDocReversed">testIntefaceDocReversed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testIntefaceDocReversed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testIntefaceDocReversed-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-docstring">"Test @interfacedoc on static method (decorators reversed)"</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">BogusDoc1</tt><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt id="link-48" class="py-name" targets="Variable timeside.component.MetaComponent.implements=timeside.component.MetaComponent-class.html#implements,Function timeside.component.implements()=timeside.component-module.html#implements"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-48', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-49" class="py-name" targets="Class timeside.tests.testcomponent.I10=timeside.tests.testcomponent.I10-class.html"><a title="timeside.tests.testcomponent.I10" class="py-name" href="#" onclick="return doclink('link-49', 'I10', 'link-49');">I10</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">teststatic</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"No error raised with reversed decorators"</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-50" class="py-name" targets="Class timeside.component.ComponentError=timeside.component.ComponentError-class.html"><a title="timeside.component.ComponentError" class="py-name" href="#" onclick="return doclink('link-50', 'ComponentError', 'link-50');">ComponentError</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
+<a name="TestComponentArchitecture.testInterfaceDocBadMethod"></a><div id="TestComponentArchitecture.testInterfaceDocBadMethod-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="TestComponentArchitecture.testInterfaceDocBadMethod-toggle" onclick="return toggle('TestComponentArchitecture.testInterfaceDocBadMethod');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html#testInterfaceDocBadMethod">testInterfaceDocBadMethod</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestComponentArchitecture.testInterfaceDocBadMethod-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestComponentArchitecture.testInterfaceDocBadMethod-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-docstring">"Test @interfacedoc with unexistant method in interface"</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">BogusDoc2</tt><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt id="link-51" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-51', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="timeside.tests.testcomponent.I10" class="py-name" href="#" onclick="return doclink('link-52', 'I10', 'link-49');">I10</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">nosuchmethod</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"No error raised when decorating an unexistant method"</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-53" class="py-name"><a title="timeside.component.ComponentError" class="py-name" href="#" onclick="return doclink('link-53', 'ComponentError', 'link-50');">ComponentError</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
+<a name="I1"></a><div id="I1-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="I1-toggle" onclick="return toggle('I1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I1-class.html">I1</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I1-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
+<a name="I2"></a><div id="I2-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="I2-toggle" onclick="return toggle('I2');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I2-class.html">I2</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I2-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I2-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
+<a name="I3"></a><div id="I3-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="I3-toggle" onclick="return toggle('I3');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I3-class.html">I3</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I3-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I3-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt>
+<a name="I4"></a><div id="I4-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="I4-toggle" onclick="return toggle('I4');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I4-class.html">I4</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I4-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I4-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
+<a name="I5"></a><div id="I5-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="I5-toggle" onclick="return toggle('I5');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I5-class.html">I5</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I5-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I5-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
+<a name="I6"></a><div id="I6-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="I6-toggle" onclick="return toggle('I6');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I6-class.html">I6</a><tt class="py-op">(</tt><tt class="py-base-class">I5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I6-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I6-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
+<a name="I7"></a><div id="I7-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="I7-toggle" onclick="return toggle('I7');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I7-class.html">I7</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I7-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I7-expanded"><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
+<a name="I8"></a><div id="I8-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="I8-toggle" onclick="return toggle('I8');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I8-class.html">I8</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I8-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I8-expanded"><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> </tt>
+<a name="I9"></a><div id="I9-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="I9-toggle" onclick="return toggle('I9');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I9-class.html">I9</a><tt class="py-op">(</tt><tt class="py-base-class">I8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I9-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I9-expanded"><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> </tt>
+<a name="I10"></a><div id="I10-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="I10-toggle" onclick="return toggle('I10');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I10-class.html">I10</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I10-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I10-expanded"><a name="I10.test"></a><div id="I10.test-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="I10.test-toggle" onclick="return toggle('I10.test');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I10-class.html#test">test</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I10.test-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="I10.test-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-docstring">"""testdoc"""</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="I10.teststatic"></a><div id="I10.teststatic-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="I10.teststatic-toggle" onclick="return toggle('I10.teststatic');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I10-class.html#teststatic">teststatic</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I10.teststatic-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="I10.teststatic-expanded"><a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-docstring">"""teststaticdoc"""</tt> </tt>
+</div></div><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> </tt>
+<a name="I11"></a><div id="I11-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="I11-toggle" onclick="return toggle('I11');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.I11-class.html">I11</a><tt class="py-op">(</tt><tt class="py-base-class">Interface</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="I11-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="I11-expanded"><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> </tt>
+<a name="C1"></a><div id="C1-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="C1-toggle" onclick="return toggle('C1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C1-class.html">C1</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C1-expanded"><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt id="link-54" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-54', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="timeside.tests.testcomponent.I1" class="py-name" href="#" onclick="return doclink('link-55', 'I1', 'link-8');">I1</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
+<a name="C2"></a><div id="C2-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="C2-toggle" onclick="return toggle('C2');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C2-class.html">C2</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C2-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C2-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt id="link-56" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-56', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-57" class="py-name"><a title="timeside.tests.testcomponent.I2" class="py-name" href="#" onclick="return doclink('link-57', 'I2', 'link-12');">I2</a></tt><tt class="py-op">,</tt> <tt id="link-58" class="py-name"><a title="timeside.tests.testcomponent.I3" class="py-name" href="#" onclick="return doclink('link-58', 'I3', 'link-16');">I3</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt>
+<a name="C3"></a><div id="C3-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="C3-toggle" onclick="return toggle('C3');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C3-class.html">C3</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C3-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C3-expanded"><a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt id="link-59" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-59', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="timeside.tests.testcomponent.I4" class="py-name" href="#" onclick="return doclink('link-60', 'I4', 'link-20');">I4</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt>
+<a name="C4"></a><div id="C4-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="C4-toggle" onclick="return toggle('C4');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C4-class.html">C4</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C4-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C4-expanded"><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt id="link-61" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-61', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="timeside.tests.testcomponent.I4" class="py-name" href="#" onclick="return doclink('link-62', 'I4', 'link-20');">I4</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
+<a name="C5"></a><div id="C5-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="C5-toggle" onclick="return toggle('C5');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C5-class.html">C5</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C5-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C5-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt id="link-63" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-63', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-64" class="py-name" targets="Class timeside.tests.testcomponent.I6=timeside.tests.testcomponent.I6-class.html"><a title="timeside.tests.testcomponent.I6" class="py-name" href="#" onclick="return doclink('link-64', 'I6', 'link-64');">I6</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
+<a name="C6"></a><div id="C6-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="C6-toggle" onclick="return toggle('C6');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C6-class.html">C6</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C6-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C6-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt id="link-65" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-65', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-66" class="py-name"><a title="timeside.tests.testcomponent.I7" class="py-name" href="#" onclick="return doclink('link-66', 'I7', 'link-29');">I7</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> </tt>
+<a name="C7"></a><div id="C7-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="C7-toggle" onclick="return toggle('C7');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C7-class.html">C7</a><tt class="py-op">(</tt><tt class="py-base-class">C6</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C7-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C7-expanded"><a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
+<a name="C8"></a><div id="C8-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="C8-toggle" onclick="return toggle('C8');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C8-class.html">C8</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C8-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C8-expanded"><a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt id="link-67" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-67', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="timeside.tests.testcomponent.I8" class="py-name" href="#" onclick="return doclink('link-68', 'I8', 'link-33');">I8</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> </tt>
+<a name="C9"></a><div id="C9-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="C9-toggle" onclick="return toggle('C9');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C9-class.html">C9</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C9-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C9-expanded"><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-69', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="timeside.tests.testcomponent.I8" class="py-name" href="#" onclick="return doclink('link-70', 'I8', 'link-33');">I8</a></tt><tt class="py-op">,</tt> <tt id="link-71" class="py-name" targets="Class timeside.tests.testcomponent.I9=timeside.tests.testcomponent.I9-class.html"><a title="timeside.tests.testcomponent.I9" class="py-name" href="#" onclick="return doclink('link-71', 'I9', 'link-71');">I9</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> </tt>
+<a name="C10"></a><div id="C10-def"><a name="L148"></a><tt class="py-lineno">148</tt> <a class="py-toggle" href="#" id="C10-toggle" onclick="return toggle('C10');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C10-class.html">C10</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C10-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C10-expanded"><a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-72', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="timeside.tests.testcomponent.I10" class="py-name" href="#" onclick="return doclink('link-73', 'I10', 'link-49');">I10</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="C10.test"></a><div id="C10.test-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="C10.test-toggle" onclick="return toggle('C10.test');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C10-class.html#test">test</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C10.test-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="C10.test-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">interfacedoc</tt> </tt>
+<a name="C10.teststatic"></a><div id="C10.teststatic-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="C10.teststatic-toggle" onclick="return toggle('C10.teststatic');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C10-class.html#teststatic">teststatic</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C10.teststatic-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="C10.teststatic-expanded"><a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> </tt>
+<a name="C11"></a><div id="C11-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="C11-toggle" onclick="return toggle('C11');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testcomponent.C11-class.html">C11</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="C11-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="C11-expanded"><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="timeside.component.MetaComponent.abstract
+timeside.component.abstract" class="py-name" href="#" onclick="return doclink('link-74', 'abstract', 'link-42');">abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt id="link-75" class="py-name"><a title="timeside.component.MetaComponent.implements
+timeside.component.implements" class="py-name" href="#" onclick="return doclink('link-75', 'implements', 'link-48');">implements</a></tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="timeside.tests.testcomponent.I11" class="py-name" href="#" onclick="return doclink('link-76', 'I11', 'link-38');">I11</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">main</tt><tt class="py-op">(</tt><tt class="py-name">testRunner</tt><tt class="py-op">=</tt><tt id="link-77" class="py-name"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-77', 'TestRunner', 'link-5');">TestRunner</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C1</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C1
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C1-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C1</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C1">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C1</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C10</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C10
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C10-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C10</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C10">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C10</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.testcomponent.C10-class.html#test" class="summary-sig-name">test</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ testdoc</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C10.test">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.testcomponent.C10-class.html#teststatic" class="summary-sig-name">teststatic</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ teststaticdoc</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C10.teststatic">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="test"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">test</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C10.test">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>testdoc</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="teststatic"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">teststatic</span>(<span class="sig-arg">self</span>)</span>
+ <br /><em class="fname">Static Method</em>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C10.teststatic">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>teststaticdoc</p>
+ <dl class="fields">
+ <dt>Decorators:</dt>
+ <dd><ul class="nomargin-top">
+ <li><code>@interfacedoc</code></li>
+ </ul></dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C11</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C11
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C11-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C11</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C11">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C11</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C2</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C2
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C2-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C2</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C2">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C2</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C3-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C3</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C3">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C3</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C4</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C4
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C4-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C4</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C4">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C4</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C5</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C5
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C5-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C5</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C5">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C5</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C6</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C6
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C6-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C6</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C6">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C6</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li class="private"><a href="timeside.tests.testcomponent.C7-class.html" onclick="show_private();">C7</a></li> </ul>
+</dd></dl>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C7</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C7
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C7-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C7</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C7">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <a href="timeside.tests.testcomponent.C6-class.html" onclick="show_private();">C6</a> --+
+ |
+ <strong class="uidshort">C7</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C8</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C8
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C8-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C8</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C8">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C8</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.C9</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class C9
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.C9-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class C9</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#C9">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Component-class.html">component.Component</a> --+
+ |
+ <strong class="uidshort">C9</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.component.Component-class.html">component.Component</a></code></b>:
+ <code><a href="timeside.component.MetaComponent-class.html">__metaclass__</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I1</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I1
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I1-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I1</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I1">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I1</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I10</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I10
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I10-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I10</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I10">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I10</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="test"></a><span class="summary-sig-name">test</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ testdoc</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I10.test">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Static Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-StaticMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="teststatic"></a><span class="summary-sig-name">teststatic</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ teststaticdoc</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I10.teststatic">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I11</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I11
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I11-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I11</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I11">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I11</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I2</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I2
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I2-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I2</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I2">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I2</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I3
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I3-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I3</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I3">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I3</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I4</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I4
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I4-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I4</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I4">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I4</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I5</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I5
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I5-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I5</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I5">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I5</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li class="private"><a href="timeside.tests.testcomponent.I6-class.html" onclick="show_private();">I6</a></li> </ul>
+</dd></dl>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I6</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I6
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I6-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I6</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I6">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.tests.testcomponent.I5-class.html" onclick="show_private();">I5</a> --+
+ |
+ <strong class="uidshort">I6</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I7</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I7
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I7-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I7</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I7">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I7</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I8</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I8
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I8-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I8</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I8">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <strong class="uidshort">I8</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+ <ul class="subclass-list">
+<li class="private"><a href="timeside.tests.testcomponent.I9-class.html" onclick="show_private();">I9</a></li> </ul>
+</dd></dl>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.I9</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class I9
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.I9-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class I9</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#I9">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+<a href="timeside.component.Interface-class.html">component.Interface</a> --+
+ |
+ <a href="timeside.tests.testcomponent.I8-class.html" onclick="show_private();">I8</a> --+
+ |
+ <strong class="uidshort">I9</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__init__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__repr__</code>,
+ <code>__setattr__</code>,
+ <code>__str__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testcomponent.TestComponentArchitecture</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testcomponent-module.html">Module testcomponent</a> ::
+ Class TestComponentArchitecture
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testcomponent.TestComponentArchitecture-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestComponentArchitecture</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+unittest.TestCase --+
+ |
+ <a href="timeside.tests.TestCase-class.html">TestCase</a> --+
+ |
+ <strong class="uidshort">TestComponentArchitecture</strong>
+</pre>
+
+<hr />
+<p>Test the component and interface system</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code><a href="exceptions.AssertionError-class.html">failureException</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testOneInterface"></a><span class="summary-sig-name">testOneInterface</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test a component implementing one interface</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testOneInterface">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testTwoInterfaces"></a><span class="summary-sig-name">testTwoInterfaces</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test a component implementing two interfaces</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testTwoInterfaces">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testTwoImplementations"></a><span class="summary-sig-name">testTwoImplementations</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test an interface implemented by two components</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testTwoImplementations">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testInterfaceInheritance"></a><span class="summary-sig-name">testInterfaceInheritance</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test whether a component implements an interface's parent</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testInterfaceInheritance">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testImplementationInheritance"></a><span class="summary-sig-name">testImplementationInheritance</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test that a component doesn't implement the interface implemented by
+ its parent</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testImplementationInheritance">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testImplementationRedundancy"></a><span class="summary-sig-name">testImplementationRedundancy</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test implementation redundancy across inheritance</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testImplementationRedundancy">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testAbstractImplementation"></a><span class="summary-sig-name">testAbstractImplementation</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test abstract implementation</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testAbstractImplementation">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testInterfaceDoc"></a><span class="summary-sig-name">testInterfaceDoc</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test @interfacedoc decorator</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testInterfaceDoc">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testInterfaceDocStatic"></a><span class="summary-sig-name">testInterfaceDocStatic</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test @interfacedoc decorator on static method</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testInterfaceDocStatic">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testIntefaceDocReversed"></a><span class="summary-sig-name">testIntefaceDocReversed</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test @interfacedoc on static method (decorators reversed)</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testIntefaceDocReversed">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testInterfaceDocBadMethod"></a><span class="summary-sig-name">testInterfaceDocBadMethod</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test @interfacedoc with unexistant method in interface</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testcomponent-pysrc.html#TestComponentArchitecture.testInterfaceDocBadMethod">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.tests.TestCase-class.html">TestCase</a></code></b>:
+ <code><a href="timeside.tests.TestCase-class.html#assertSameList">assertSameList</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code>__call__</code>,
+ <code>__init__</code>,
+ <code>__repr__</code>,
+ <code>__str__</code>,
+ <code>assertAlmostEqual</code>,
+ <code>assertAlmostEquals</code>,
+ <code>assertEqual</code>,
+ <code>assertEquals</code>,
+ <code>assertFalse</code>,
+ <code>assertNotAlmostEqual</code>,
+ <code>assertNotAlmostEquals</code>,
+ <code>assertNotEqual</code>,
+ <code>assertNotEquals</code>,
+ <code>assertRaises</code>,
+ <code>assertTrue</code>,
+ <code>assert_</code>,
+ <code>countTestCases</code>,
+ <code>debug</code>,
+ <code>defaultTestResult</code>,
+ <code>fail</code>,
+ <code>failIf</code>,
+ <code>failIfAlmostEqual</code>,
+ <code>failIfEqual</code>,
+ <code>failUnless</code>,
+ <code>failUnlessAlmostEqual</code>,
+ <code>failUnlessEqual</code>,
+ <code>failUnlessRaises</code>,
+ <code>id</code>,
+ <code>run</code>,
+ <code>setUp</code>,
+ <code>shortDescription</code>,
+ <code>tearDown</code>
+ </p>
+ <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b> (private):
+ <code>_exc_info</code>
+ </p></div>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__setattr__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testinputadapter</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module testinputadapter
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testinputadapter-module.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module testinputadapter</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Classes"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html" class="summary-name">TestFixedSizeInputAdapter</a><br />
+ Test the fixed-sized input adapter
+ </td>
+ </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:38 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testinputadapter</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ Module testinputadapter
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testinputadapter-pysrc.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="timeside.tests.testinputadapter-module.html">Module timeside.tests.testinputadapter</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package timeside=timeside-module.html"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-0', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module timeside.analyze.core=timeside.analyze.core-module.html,Module timeside.analyze.vamp.core=timeside.analyze.vamp.core-module.html,Module timeside.core=timeside.core-module.html,Module timeside.decode.core=timeside.decode.core-module.html,Module timeside.encode.core=timeside.encode.core-module.html,Module timeside.grapher.core=timeside.grapher.core-module.html"><a title="timeside.analyze.core
+timeside.analyze.vamp.core
+timeside.core
+timeside.decode.core
+timeside.encode.core
+timeside.grapher.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class timeside.core.FixedSizeInputAdapter=timeside.core.FixedSizeInputAdapter-class.html"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-2', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="timeside" class="py-name" href="#" onclick="return doclink('link-3', 'timeside', 'link-0');">timeside</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Package timeside.tests=timeside.tests-module.html"><a title="timeside.tests" class="py-name" href="#" onclick="return doclink('link-4', 'tests', 'link-4');">tests</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class timeside.tests.TestCase=timeside.tests.TestCase-class.html"><a title="timeside.tests.TestCase" class="py-name" href="#" onclick="return doclink('link-5', 'TestCase', 'link-5');">TestCase</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Class timeside.tests.TestRunner=timeside.tests.TestRunner-class.html"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-6', 'TestRunner', 'link-6');">TestRunner</a></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">unittest</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter"></a><div id="TestFixedSizeInputAdapter-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter-toggle" onclick="return toggle('TestFixedSizeInputAdapter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html">TestFixedSizeInputAdapter</a><tt class="py-op">(</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="TestFixedSizeInputAdapter-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> <tt class="py-docstring">"Test the fixed-sized input adapter"</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter.assertIOEquals"></a><div id="TestFixedSizeInputAdapter.assertIOEquals-def"><a name="L9"></a><tt class="py-lineno"> 9</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter.assertIOEquals-toggle" onclick="return toggle('TestFixedSizeInputAdapter.assertIOEquals');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#assertIOEquals">assertIOEquals</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">adapter</tt><tt class="py-op">,</tt> <tt class="py-param">input</tt><tt class="py-op">,</tt> <tt class="py-param">input_eod</tt><tt class="py-op">,</tt> <tt class="py-param">output</tt><tt class="py-op">,</tt> <tt class="py-param">output_eod</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter.assertIOEquals-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TestFixedSizeInputAdapter.assertIOEquals-expanded"><a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"> <tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> <tt class="py-name">output</tt><tt class="py-op">.</tt><tt class="py-name">reverse</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> <tt class="py-name">_eod</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-name">_eod</tt> <tt class="py-keyword">in</tt> <tt class="py-name">adapter</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method timeside.api.IProcessor.process()=timeside.api.IProcessor-class.html#process,Method timeside.core.FixedSizeInputAdapter.process()=timeside.core.FixedSizeInputAdapter-class.html#process,Method timeside.core.Processor.process()=timeside.core.Processor-class.html#process,Method timeside.decode.core.DecoderCore.process()=timeside.decode.core.DecoderCore-class.html#process,Method timeside.encode.flac.FlacEncoder.process()=timeside.encode.flac.FlacEncoder-class.html#process,Method timeside.encode.mp3.Mp3Encoder.process()=timeside.encode.mp3.Mp3Encoder-class.html#process,Method timeside.encode.ogg.OggVorbisEncoder.process()=timeside.encode.ogg.OggVorbisEncoder-class.html#process,Method timeside.encode.wav.WavEncoder.process()=timeside.encode.wav.WavEncoder-class.html#process,Method timeside.grapher.core.SpectralCentroid.process()=timeside.grapher.core.SpectralCentroid-class.html#process,Method timeside.grapher.core.SpectrogramImage.process()=timeside.grapher.core.SpectrogramImage-class.html#process,Method timeside.grapher.core.WaveformImage.process()=timeside.grapher.core.WaveformImage-class.html#process,Method timeside.tests.api.examples.FileDecoder.process()=timeside.tests.api.examples.FileDecoder-class.html#process,Method timeside.tests.api.examples.FixedInputProcessor.process()=timeside.tests.api.examples.FixedInputProcessor-class.html#process,Method timeside.tests.api.examples.Gain.process()=timeside.tests.api.examples.Gain-class.html#process,Method timeside.tests.api.examples.MaxLevel.process()=timeside.tests.api.examples.MaxLevel-class.html#process,Method timeside.tests.api.examples.Spectrogram.process()=timeside.tests.api.examples.Spectrogram-class.html#process,Method timeside.tests.api.examples.WavEncoder.process()=timeside.tests.api.examples.WavEncoder-class.html#process,Method timeside.tests.api.examples.Waveform.process()=timeside.tests.api.examples.Waveform-class.html#process,Method timeside.tests.api.gstreamer.FileDecoder.process()=timeside.tests.api.gstreamer.FileDecoder-class.html#process,Method timeside.tests.api.gstreamer.WavEncoder.process()=timeside.tests.api.gstreamer.WavEncoder-class.html#process"><a title="timeside.api.IProcessor.process
+timeside.core.FixedSizeInputAdapter.process
+timeside.core.Processor.process
+timeside.decode.core.DecoderCore.process
+timeside.encode.flac.FlacEncoder.process
+timeside.encode.mp3.Mp3Encoder.process
+timeside.encode.ogg.OggVorbisEncoder.process
+timeside.encode.wav.WavEncoder.process
+timeside.grapher.core.SpectralCentroid.process
+timeside.grapher.core.SpectrogramImage.process
+timeside.grapher.core.WaveformImage.process
+timeside.tests.api.examples.FileDecoder.process
+timeside.tests.api.examples.FixedInputProcessor.process
+timeside.tests.api.examples.Gain.process
+timeside.tests.api.examples.MaxLevel.process
+timeside.tests.api.examples.Spectrogram.process
+timeside.tests.api.examples.WavEncoder.process
+timeside.tests.api.examples.Waveform.process
+timeside.tests.api.gstreamer.FileDecoder.process
+timeside.tests.api.gstreamer.WavEncoder.process" class="py-name" href="#" onclick="return doclink('link-7', 'process', 'link-7');">process</a></tt><tt class="py-op">(</tt><tt class="py-name">input</tt><tt class="py-op">,</tt> <tt class="py-name">input_eod</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"> <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">output</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array_equiv</tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"\n-- Actual --\n%s\n -- Expected -- \n%s\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">buffer</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">_eod</tt> <tt class="py-op">!=</tt> <tt class="py-name">output_eod</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"eod do not match: %s != %s"</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">_eod</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">output_eod</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">output</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fail</tt><tt class="py-op">(</tt><tt class="py-string">"trailing expected data: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">output</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter.setUp"></a><div id="TestFixedSizeInputAdapter.setUp-def"><a name="L24"></a><tt class="py-lineno">24</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter.setUp-toggle" onclick="return toggle('TestFixedSizeInputAdapter.setUp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#setUp">setUp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter.setUp-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TestFixedSizeInputAdapter.setUp-expanded"><a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-number">44</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">22</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">transpose</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter.testTwoChannels"></a><div id="TestFixedSizeInputAdapter.testTwoChannels-def"><a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter.testTwoChannels-toggle" onclick="return toggle('TestFixedSizeInputAdapter.testTwoChannels');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testTwoChannels">testTwoChannels</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter.testTwoChannels-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TestFixedSizeInputAdapter.testTwoChannels-expanded"><a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-docstring">"Test simple stream with two channels"</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-name">adapter</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-8', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEquals</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">adapter</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method timeside.api.IProcessor.nframes()=timeside.api.IProcessor-class.html#nframes,Method timeside.core.FixedSizeInputAdapter.nframes()=timeside.core.FixedSizeInputAdapter-class.html#nframes,Method timeside.core.Processor.nframes()=timeside.core.Processor-class.html#nframes,Method timeside.tests.api.examples.FileDecoder.nframes()=timeside.tests.api.examples.FileDecoder-class.html#nframes,Method timeside.tests.api.gstreamer.FileDecoder.nframes()=timeside.tests.api.gstreamer.FileDecoder-class.html#nframes,Variable timeside.tests.api.test_lolevel.nframes=timeside.tests.api.test_lolevel-module.html#nframes"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-9', 'nframes', 'link-9');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals()=timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#assertIOEquals"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-10', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-11', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-12', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-13', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-14', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">:</tt><tt class="py-number">14</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-15', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">14</tt><tt class="py-op">:</tt><tt class="py-number">18</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-16', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">18</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-17', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">20</tt><tt class="py-op">:</tt><tt class="py-number">21</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-18', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">21</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">20</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter.testPadding"></a><div id="TestFixedSizeInputAdapter.testPadding-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter.testPadding-toggle" onclick="return toggle('TestFixedSizeInputAdapter.testPadding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testPadding">testPadding</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter.testPadding-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TestFixedSizeInputAdapter.testPadding-expanded"><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> <tt class="py-docstring">"Test automatic padding support"</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> <tt class="py-name">adapter</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-19', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt> <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEquals</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">adapter</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="timeside.api.IProcessor.nframes
+timeside.core.FixedSizeInputAdapter.nframes
+timeside.core.Processor.nframes
+timeside.tests.api.examples.FileDecoder.nframes
+timeside.tests.api.gstreamer.FileDecoder.nframes
+timeside.tests.api.test_lolevel.nframes" class="py-name" href="#" onclick="return doclink('link-20', 'nframes', 'link-9');">nframes</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-21', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">21</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt> <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-22', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">21</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">42</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-number">21</tt><tt class="py-op">,</tt> <tt class="py-number">43</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt> <tt class="py-line"> <tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno">59</tt> <tt class="py-line"> </tt>
+<a name="TestFixedSizeInputAdapter.testSizeMultiple"></a><div id="TestFixedSizeInputAdapter.testSizeMultiple-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="TestFixedSizeInputAdapter.testSizeMultiple-toggle" onclick="return toggle('TestFixedSizeInputAdapter.testSizeMultiple');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#testSizeMultiple">testSizeMultiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestFixedSizeInputAdapter.testSizeMultiple-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TestFixedSizeInputAdapter.testSizeMultiple-expanded"><a name="L61"></a><tt class="py-lineno">61</tt> <tt class="py-line"> <tt class="py-docstring">"Test a stream which contain a multiple number of buffers"</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt> <tt class="py-line"> <tt class="py-name">adapter</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="timeside.core.FixedSizeInputAdapter" class="py-name" href="#" onclick="return doclink('link-23', 'FixedSizeInputAdapter', 'link-2');">FixedSizeInputAdapter</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt> <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="timeside.tests.testinputadapter.TestFixedSizeInputAdapter.assertIOEquals" class="py-name" href="#" onclick="return doclink('link-24', 'assertIOEquals', 'link-10');">assertIOEquals</a></tt><tt class="py-op">(</tt><tt class="py-name">adapter</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">:</tt><tt class="py-number">20</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt> <tt class="py-line"> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L67"></a><tt class="py-lineno">67</tt> <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt> <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt> <tt class="py-line"> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">main</tt><tt class="py-op">(</tt><tt class="py-name">testRunner</tt><tt class="py-op">=</tt><tt id="link-25" class="py-name"><a title="timeside.tests.TestRunner" class="py-name" href="#" onclick="return doclink('link-25', 'TestRunner', 'link-6');">TestRunner</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:41 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside.tests.testinputadapter.TestFixedSizeInputAdapter</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="timeside-module.html">Package timeside</a> ::
+ <a href="timeside.tests-module.html">Package tests</a> ::
+ <a href="timeside.tests.testinputadapter-module.html">Module testinputadapter</a> ::
+ Class TestFixedSizeInputAdapter
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span></td></tr>
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >] | <a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html"
+ target="_top">no frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TestFixedSizeInputAdapter</h1><p class="nomargin-top"><span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter">source code</a></span></p>
+<pre class="base-tree">
+ object --+
+ |
+unittest.TestCase --+
+ |
+ <a href="timeside.tests.TestCase-class.html">TestCase</a> --+
+ |
+ <strong class="uidshort">TestFixedSizeInputAdapter</strong>
+</pre>
+
+<hr />
+<p>Test the fixed-sized input adapter</p>
+
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Nested Classes</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-NestedClasses"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code><a href="exceptions.AssertionError-class.html">failureException</a></code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Instance Methods</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-InstanceMethods"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="assertIOEquals"></a><span class="summary-sig-name">assertIOEquals</span>(<span class="summary-sig-arg">self</span>,
+ <span class="summary-sig-arg">adapter</span>,
+ <span class="summary-sig-arg">input</span>,
+ <span class="summary-sig-arg">input_eod</span>,
+ <span class="summary-sig-arg">output</span>,
+ <span class="summary-sig-arg">output_eod</span>=<span class="summary-sig-default">None</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.assertIOEquals">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html#setUp" class="summary-sig-name">setUp</a>(<span class="summary-sig-arg">self</span>)</span><br />
+ Hook method for setting up the test fixture before exercising it.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.setUp">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testTwoChannels"></a><span class="summary-sig-name">testTwoChannels</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test simple stream with two channels</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.testTwoChannels">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testPadding"></a><span class="summary-sig-name">testPadding</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test automatic padding support</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.testPadding">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="testSizeMultiple"></a><span class="summary-sig-name">testSizeMultiple</span>(<span class="summary-sig-arg">self</span>)</span><br />
+ Test a stream which contain a multiple number of buffers</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.testSizeMultiple">source code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code><a href="timeside.tests.TestCase-class.html">TestCase</a></code></b>:
+ <code><a href="timeside.tests.TestCase-class.html#assertSameList">assertSameList</a></code>
+ </p>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b>:
+ <code>__call__</code>,
+ <code>__init__</code>,
+ <code>__repr__</code>,
+ <code>__str__</code>,
+ <code>assertAlmostEqual</code>,
+ <code>assertAlmostEquals</code>,
+ <code>assertEqual</code>,
+ <code>assertEquals</code>,
+ <code>assertFalse</code>,
+ <code>assertNotAlmostEqual</code>,
+ <code>assertNotAlmostEquals</code>,
+ <code>assertNotEqual</code>,
+ <code>assertNotEquals</code>,
+ <code>assertRaises</code>,
+ <code>assertTrue</code>,
+ <code>assert_</code>,
+ <code>countTestCases</code>,
+ <code>debug</code>,
+ <code>defaultTestResult</code>,
+ <code>fail</code>,
+ <code>failIf</code>,
+ <code>failIfAlmostEqual</code>,
+ <code>failIfEqual</code>,
+ <code>failUnless</code>,
+ <code>failUnlessAlmostEqual</code>,
+ <code>failUnlessEqual</code>,
+ <code>failUnlessRaises</code>,
+ <code>id</code>,
+ <code>run</code>,
+ <code>shortDescription</code>,
+ <code>tearDown</code>
+ </p>
+ <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.TestCase</code></b> (private):
+ <code>_exc_info</code>
+ </p></div>
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__delattr__</code>,
+ <code>__getattribute__</code>,
+ <code>__hash__</code>,
+ <code>__new__</code>,
+ <code>__reduce__</code>,
+ <code>__reduce_ex__</code>,
+ <code>__setattr__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Properties</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-Properties"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+ <tr>
+ <td colspan="2" class="summary">
+ <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+ <code>__class__</code>
+ </p>
+ </td>
+ </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td colspan="2" class="table-header">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr valign="top">
+ <td align="left"><span class="table-header">Method Details</span></td>
+ <td align="right" valign="top"
+ ><span class="options">[<a href="#section-MethodDetails"
+ class="privatelink" onclick="toggle_private();"
+ >hide private</a>]</span></td>
+ </tr>
+ </table>
+ </td>
+</tr>
+</table>
+<a name="setUp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">setUp</span>(<span class="sig-arg">self</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="timeside.tests.testinputadapter-pysrc.html#TestFixedSizeInputAdapter.setUp">source code</a></span>
+ </td>
+ </tr></table>
+
+ <p>Hook method for setting up the test fixture before exercising it.</p>
+ <dl class="fields">
+ <dt>Overrides:
+ unittest.TestCase.setUp
+ <dd><em class="note">(inherited documentation)</em></dd>
+ </dt>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th> <a
+ href="timeside-module.html">Home</a> </th>
+
+ <!-- Tree link -->
+ <th> <a
+ href="module-tree.html">Trees</a> </th>
+
+ <!-- Index link -->
+ <th> <a
+ href="identifier-index.html">Indices</a> </th>
+
+ <!-- Help link -->
+ <th> <a
+ href="help.html">Help</a> </th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Thu Mar 11 15:38:39 2010
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Everything</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Everything</h1>
+<hr />
+ <h2 class="toc">All Classes</h2>
+ <a target="mainFrame" href="exceptions.AssertionError-class.html"
+ >exceptions.AssertionError</a><br /> <a target="mainFrame" href="timeside.analyze.channels.ChannelAnalyser-class.html"
+ >timeside.analyze.channels.ChannelAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.core.AudioProcessor-class.html"
+ >timeside.analyze.core.AudioProcessor</a><br /> <a target="mainFrame" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html"
+ >timeside.analyze.dc.MeanDCShiftAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.duration.DurationAnalyzer-class.html"
+ >timeside.analyze.duration.DurationAnalyzer</a><br /> <a target="mainFrame" href="timeside.analyze.encoding.EncodingAnalyser-class.html"
+ >timeside.analyze.encoding.EncodingAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.format.FormatAnalyser-class.html"
+ >timeside.analyze.format.FormatAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html"
+ >timeside.analyze.max_level.MaxLevelAnalyzer</a><br /> <a target="mainFrame" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html"
+ >timeside.analyze.mean_level.MeanLevelAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.resolution.ResolutionAnalyser-class.html"
+ >timeside.analyze.resolution.ResolutionAnalyser</a><br /> <a target="mainFrame" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html"
+ >timeside.analyze.samplerate.SampleRateAnalyzer</a><br /> <a target="mainFrame" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html"
+ >timeside.analyze.vamp.core.VampCoreAnalyzer</a><br /> <a target="mainFrame" href="timeside.api.IAnalyzer-class.html"
+ >timeside.api.IAnalyzer</a><br /> <a target="mainFrame" href="timeside.api.IDecoder-class.html"
+ >timeside.api.IDecoder</a><br /> <a target="mainFrame" href="timeside.api.IEffect-class.html"
+ >timeside.api.IEffect</a><br /> <a target="mainFrame" href="timeside.api.IEncoder-class.html"
+ >timeside.api.IEncoder</a><br /> <a target="mainFrame" href="timeside.api.IGrapher-class.html"
+ >timeside.api.IGrapher</a><br /> <a target="mainFrame" href="timeside.api.IProcessor-class.html"
+ >timeside.api.IProcessor</a><br /> <a target="mainFrame" href="timeside.api.IValueAnalyzer-class.html"
+ >timeside.api.IValueAnalyzer</a><br /> <a target="mainFrame" href="timeside.component.Component-class.html"
+ >timeside.component.Component</a><br /> <a target="mainFrame" href="timeside.component.ComponentError-class.html"
+ >timeside.component.ComponentError</a><br /> <a target="mainFrame" href="timeside.component.Interface-class.html"
+ >timeside.component.Interface</a><br /> <a target="mainFrame" href="timeside.component.MetaComponent-class.html"
+ >timeside.component.MetaComponent</a><br /> <a target="mainFrame" href="timeside.core.FixedSizeInputAdapter-class.html"
+ >timeside.core.FixedSizeInputAdapter</a><br /> <a target="mainFrame" href="timeside.core.MetaProcessor-class.html"
+ >timeside.core.MetaProcessor</a><br /> <a target="mainFrame" href="timeside.core.ProcessPipe-class.html"
+ >timeside.core.ProcessPipe</a><br /> <a target="mainFrame" href="timeside.core.Processor-class.html"
+ >timeside.core.Processor</a><br /> <a target="mainFrame" href="timeside.decode.core.DecoderCore-class.html"
+ >timeside.decode.core.DecoderCore</a><br /> <a target="mainFrame" href="timeside.decode.core.SubProcessPipe-class.html"
+ >timeside.decode.core.SubProcessPipe</a><br /> <a target="mainFrame" href="timeside.decode.flac.FlacDecoder-class.html"
+ >timeside.decode.flac.FlacDecoder</a><br /> <a target="mainFrame" href="timeside.decode.mp3.Mp3Decoder-class.html"
+ >timeside.decode.mp3.Mp3Decoder</a><br /> <a target="mainFrame" href="timeside.decode.ogg.OggDecoder-class.html"
+ >timeside.decode.ogg.OggDecoder</a><br /> <a target="mainFrame" href="timeside.decode.wav.WavDecoder-class.html"
+ >timeside.decode.wav.WavDecoder</a><br /> <a target="mainFrame" href="timeside.encode.core.EncoderCore-class.html"
+ >timeside.encode.core.EncoderCore</a><br /> <a target="mainFrame" href="timeside.encode.core.SubProcessPipe-class.html"
+ >timeside.encode.core.SubProcessPipe</a><br /> <a target="mainFrame" href="timeside.encode.flac.FlacEncoder-class.html"
+ >timeside.encode.flac.FlacEncoder</a><br /> <a target="mainFrame" href="timeside.encode.mp3.Mp3Encoder-class.html"
+ >timeside.encode.mp3.Mp3Encoder</a><br /> <a target="mainFrame" href="timeside.encode.ogg.OggVorbisEncoder-class.html"
+ >timeside.encode.ogg.OggVorbisEncoder</a><br /> <a target="mainFrame" href="timeside.encode.wav.WavEncoder-class.html"
+ >timeside.encode.wav.WavEncoder</a><br /> <a target="mainFrame" href="timeside.exceptions.ApiError-class.html"
+ >timeside.exceptions.ApiError</a><br /> <a target="mainFrame" href="timeside.exceptions.Error-class.html"
+ >timeside.exceptions.Error</a><br /> <a target="mainFrame" href="timeside.exceptions.SubProcessError-class.html"
+ >timeside.exceptions.SubProcessError</a><br /> <a target="mainFrame" href="timeside.grapher.core.Noise-class.html"
+ >timeside.grapher.core.Noise</a><br /> <a target="mainFrame" href="timeside.grapher.core.SpectralCentroid-class.html"
+ >timeside.grapher.core.SpectralCentroid</a><br /> <a target="mainFrame" href="timeside.grapher.core.SpectrogramImage-class.html"
+ >timeside.grapher.core.SpectrogramImage</a><br /> <a target="mainFrame" href="timeside.grapher.core.WaveformImage-class.html"
+ >timeside.grapher.core.WaveformImage</a><br /> <a target="mainFrame" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html"
+ >timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab</a><br /> <a target="mainFrame" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html"
+ >timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab</a><br /> <a target="mainFrame" href="timeside.metadata.Metadata-class.html"
+ >timeside.metadata.Metadata</a><br /> <a target="mainFrame" href="timeside.tests.TestCase-class.html"
+ >timeside.tests.TestCase</a><br /> <a target="mainFrame" href="timeside.tests.TestRunner-class.html"
+ >timeside.tests.TestRunner</a><br /> <div class="private">
+ <a target="mainFrame" href="timeside.tests._TextTestResult-class.html"
+ >timeside.tests._TextTestResult</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests._WritelnDecorator-class.html"
+ >timeside.tests._WritelnDecorator</a><br /> </div>
+ <a target="mainFrame" href="timeside.tests.api.examples.Duration-class.html"
+ >timeside.tests.api.examples.Duration</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.FileDecoder-class.html"
+ >timeside.tests.api.examples.FileDecoder</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.FixedInputProcessor-class.html"
+ >timeside.tests.api.examples.FixedInputProcessor</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Gain-class.html"
+ >timeside.tests.api.examples.Gain</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.MaxLevel-class.html"
+ >timeside.tests.api.examples.MaxLevel</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Spectrogram-class.html"
+ >timeside.tests.api.examples.Spectrogram</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.WavEncoder-class.html"
+ >timeside.tests.api.examples.WavEncoder</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Waveform-class.html"
+ >timeside.tests.api.examples.Waveform</a><br /> <a target="mainFrame" href="timeside.tests.api.gstreamer.FileDecoder-class.html"
+ >timeside.tests.api.gstreamer.FileDecoder</a><br /> <a target="mainFrame" href="timeside.tests.api.gstreamer.WavEncoder-class.html"
+ >timeside.tests.api.gstreamer.WavEncoder</a><br /> <a target="mainFrame" href="timeside.tests.test.TestAnalyzers-class.html"
+ >timeside.tests.test.TestAnalyzers</a><br /> <a target="mainFrame" href="timeside.tests.test.TestDecoders-class.html"
+ >timeside.tests.test.TestDecoders</a><br /> <a target="mainFrame" href="timeside.tests.test.TestEncoders-class.html"
+ >timeside.tests.test.TestEncoders</a><br /> <a target="mainFrame" href="timeside.tests.test.TestGraphers-class.html"
+ >timeside.tests.test.TestGraphers</a><br /> <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C1-class.html"
+ >timeside.tests.testcomponent.C1</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C10-class.html"
+ >timeside.tests.testcomponent.C10</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C11-class.html"
+ >timeside.tests.testcomponent.C11</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C2-class.html"
+ >timeside.tests.testcomponent.C2</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C3-class.html"
+ >timeside.tests.testcomponent.C3</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C4-class.html"
+ >timeside.tests.testcomponent.C4</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C5-class.html"
+ >timeside.tests.testcomponent.C5</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C6-class.html"
+ >timeside.tests.testcomponent.C6</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C7-class.html"
+ >timeside.tests.testcomponent.C7</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C8-class.html"
+ >timeside.tests.testcomponent.C8</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C9-class.html"
+ >timeside.tests.testcomponent.C9</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I1-class.html"
+ >timeside.tests.testcomponent.I1</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I10-class.html"
+ >timeside.tests.testcomponent.I10</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I11-class.html"
+ >timeside.tests.testcomponent.I11</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I2-class.html"
+ >timeside.tests.testcomponent.I2</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I3-class.html"
+ >timeside.tests.testcomponent.I3</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I4-class.html"
+ >timeside.tests.testcomponent.I4</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I5-class.html"
+ >timeside.tests.testcomponent.I5</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I6-class.html"
+ >timeside.tests.testcomponent.I6</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I7-class.html"
+ >timeside.tests.testcomponent.I7</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I8-class.html"
+ >timeside.tests.testcomponent.I8</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I9-class.html"
+ >timeside.tests.testcomponent.I9</a><br /> </div>
+ <a target="mainFrame" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html"
+ >timeside.tests.testcomponent.TestComponentArchitecture</a><br /> <a target="mainFrame" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html"
+ >timeside.tests.testinputadapter.TestFixedSizeInputAdapter</a><br /> <h2 class="toc">All Functions</h2>
+ <a target="mainFrame" href="timeside.component-module.html#abstract"
+ >timeside.component.abstract</a><br /> <div class="private">
+ <a target="mainFrame" href="timeside.component-module.html#extend_unique"
+ >timeside.component.extend_unique</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.component-module.html#find_implementations"
+ >timeside.component.find_implementations</a><br /> </div>
+ <a target="mainFrame" href="timeside.component-module.html#implementations"
+ >timeside.component.implementations</a><br /> <a target="mainFrame" href="timeside.component-module.html#implements"
+ >timeside.component.implements</a><br /> <a target="mainFrame" href="timeside.component-module.html#interfacedoc"
+ >timeside.component.interfacedoc</a><br /> <a target="mainFrame" href="timeside.core-module.html#get_processor"
+ >timeside.core.get_processor</a><br /> <a target="mainFrame" href="timeside.core-module.html#processors"
+ >timeside.core.processors</a><br /> <a target="mainFrame" href="timeside.grapher.core-module.html#interpolate_colors"
+ >timeside.grapher.core.interpolate_colors</a><br /> <a target="mainFrame" href="timeside.tests.listprocessors-module.html#list_processors"
+ >timeside.tests.listprocessors.list_processors</a><br /> <a target="mainFrame" href="timeside.tests.test-module.html#mimetype"
+ >timeside.tests.test.mimetype</a><br /> <h2 class="toc">All Variables</h2>
+ <div class="private">
+ <a target="mainFrame" href="timeside.core-module.html#_processors"
+ >timeside.core._processors</a><br /> </div>
+ <a target="mainFrame" href="timeside.grapher-module.html#color_schemes"
+ >timeside.grapher.color_schemes</a><br /> <a target="mainFrame" href="timeside.grapher.core-module.html#color_schemes"
+ >timeside.grapher.core.color_schemes</a><br /> <a target="mainFrame" href="timeside.grapher.spectrogram_audiolab-module.html#color_schemes"
+ >timeside.grapher.spectrogram_audiolab.color_schemes</a><br /> <a target="mainFrame" href="timeside.grapher.waveform_audiolab-module.html#color_schemes"
+ >timeside.grapher.waveform_audiolab.color_schemes</a><br /> <a target="mainFrame" href="timeside.tests.api.examples-module.html#color_schemes"
+ >timeside.tests.api.examples.color_schemes</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#analyzer"
+ >timeside.tests.api.test_lolevel.analyzer</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#decoder"
+ >timeside.tests.api.test_lolevel.decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#destination"
+ >timeside.tests.api.test_lolevel.destination</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#effect"
+ >timeside.tests.api.test_lolevel.effect</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#encoder"
+ >timeside.tests.api.test_lolevel.encoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#eod"
+ >timeside.tests.api.test_lolevel.eod</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#frames"
+ >timeside.tests.api.test_lolevel.frames</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#gain"
+ >timeside.tests.api.test_lolevel.gain</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#max_level"
+ >timeside.tests.api.test_lolevel.max_level</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#nchannels"
+ >timeside.tests.api.test_lolevel.nchannels</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#nframes"
+ >timeside.tests.api.test_lolevel.nframes</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#samplerate"
+ >timeside.tests.api.test_lolevel.samplerate</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#source"
+ >timeside.tests.api.test_lolevel.source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#use_gst"
+ >timeside.tests.api.test_lolevel.use_gst</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#decoder"
+ >timeside.tests.api.test_pipe.decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#duration"
+ >timeside.tests.api.test_pipe.duration</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#encoder"
+ >timeside.tests.api.test_pipe.encoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#fixed"
+ >timeside.tests.api.test_pipe.fixed</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#gain"
+ >timeside.tests.api.test_pipe.gain</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#maxlevel"
+ >timeside.tests.api.test_pipe.maxlevel</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#source"
+ >timeside.tests.api.test_pipe.source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#subpipe"
+ >timeside.tests.api.test_pipe.subpipe</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#use_gst"
+ >timeside.tests.api.test_pipe.use_gst</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#decoder"
+ >timeside.tests.api.test_pipe_spectrogram.decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#image_file"
+ >timeside.tests.api.test_pipe_spectrogram.image_file</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#source"
+ >timeside.tests.api.test_pipe_spectrogram.source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram"
+ >timeside.tests.api.test_pipe_spectrogram.spectrogram</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#use_gst"
+ >timeside.tests.api.test_pipe_spectrogram.use_gst</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#decoder"
+ >timeside.tests.api.test_pipe_waveform.decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#image_file"
+ >timeside.tests.api.test_pipe_waveform.image_file</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#source"
+ >timeside.tests.api.test_pipe_waveform.source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#use_gst"
+ >timeside.tests.api.test_pipe_waveform.use_gst</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#waveform"
+ >timeside.tests.api.test_pipe_waveform.waveform</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>timeside</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module timeside</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>analyze</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module analyze</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>channels</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module channels</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.channels.ChannelAnalyser-class.html"
+ >ChannelAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.core.AudioProcessor-class.html"
+ >AudioProcessor</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>dc</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module dc</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.dc.MeanDCShiftAnalyser-class.html"
+ >MeanDCShiftAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>duration</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module duration</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.duration.DurationAnalyzer-class.html"
+ >DurationAnalyzer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>encoding</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module encoding</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.encoding.EncodingAnalyser-class.html"
+ >EncodingAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>format</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module format</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.format.FormatAnalyser-class.html"
+ >FormatAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>max_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module max_level</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.max_level.MaxLevelAnalyzer-class.html"
+ >MaxLevelAnalyzer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>mean_level</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module mean_level</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.mean_level.MeanLevelAnalyser-class.html"
+ >MeanLevelAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>resolution</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module resolution</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.resolution.ResolutionAnalyser-class.html"
+ >ResolutionAnalyser</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>samplerate</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module samplerate</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.samplerate.SampleRateAnalyzer-class.html"
+ >SampleRateAnalyzer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>vamp</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module vamp</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.analyze.vamp.core.VampCoreAnalyzer-class.html"
+ >VampCoreAnalyzer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module api</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.api.IAnalyzer-class.html"
+ >IAnalyzer</a><br /> <a target="mainFrame" href="timeside.api.IDecoder-class.html"
+ >IDecoder</a><br /> <a target="mainFrame" href="timeside.api.IEffect-class.html"
+ >IEffect</a><br /> <a target="mainFrame" href="timeside.api.IEncoder-class.html"
+ >IEncoder</a><br /> <a target="mainFrame" href="timeside.api.IGrapher-class.html"
+ >IGrapher</a><br /> <a target="mainFrame" href="timeside.api.IProcessor-class.html"
+ >IProcessor</a><br /> <a target="mainFrame" href="timeside.api.IValueAnalyzer-class.html"
+ >IValueAnalyzer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>component</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module component</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.component.Component-class.html"
+ >Component</a><br /> <a target="mainFrame" href="timeside.component.ComponentError-class.html"
+ >ComponentError</a><br /> <a target="mainFrame" href="timeside.component.Interface-class.html"
+ >Interface</a><br /> <a target="mainFrame" href="timeside.component.MetaComponent-class.html"
+ >MetaComponent</a><br /> <h2 class="toc">Functions</h2>
+ <a target="mainFrame" href="timeside.component-module.html#abstract"
+ >abstract</a><br /> <div class="private">
+ <a target="mainFrame" href="timeside.component-module.html#extend_unique"
+ >extend_unique</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.component-module.html#find_implementations"
+ >find_implementations</a><br /> </div>
+ <a target="mainFrame" href="timeside.component-module.html#implementations"
+ >implementations</a><br /> <a target="mainFrame" href="timeside.component-module.html#implements"
+ >implements</a><br /> <a target="mainFrame" href="timeside.component-module.html#interfacedoc"
+ >interfacedoc</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.core.FixedSizeInputAdapter-class.html"
+ >FixedSizeInputAdapter</a><br /> <a target="mainFrame" href="timeside.core.MetaProcessor-class.html"
+ >MetaProcessor</a><br /> <a target="mainFrame" href="timeside.core.ProcessPipe-class.html"
+ >ProcessPipe</a><br /> <a target="mainFrame" href="timeside.core.Processor-class.html"
+ >Processor</a><br /> <h2 class="toc">Functions</h2>
+ <a target="mainFrame" href="timeside.core-module.html#abstract"
+ >abstract</a><br /> <a target="mainFrame" href="timeside.core-module.html#get_processor"
+ >get_processor</a><br /> <a target="mainFrame" href="timeside.core-module.html#implements"
+ >implements</a><br /> <a target="mainFrame" href="timeside.core-module.html#interfacedoc"
+ >interfacedoc</a><br /> <a target="mainFrame" href="timeside.core-module.html#processors"
+ >processors</a><br /> <h2 class="toc">Variables</h2>
+ <div class="private">
+ <a target="mainFrame" href="timeside.core-module.html#_processors"
+ >_processors</a><br /> </div>
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>decode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module decode</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.decode.core.DecoderCore-class.html"
+ >DecoderCore</a><br /> <a target="mainFrame" href="timeside.decode.core.SubProcessPipe-class.html"
+ >SubProcessPipe</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module flac</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.decode.flac.FlacDecoder-class.html"
+ >FlacDecoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module mp3</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.decode.mp3.Mp3Decoder-class.html"
+ >Mp3Decoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module ogg</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.decode.ogg.OggDecoder-class.html"
+ >OggDecoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module wav</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.decode.wav.WavDecoder-class.html"
+ >WavDecoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>encode</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module encode</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.encode.core.EncoderCore-class.html"
+ >EncoderCore</a><br /> <a target="mainFrame" href="timeside.encode.core.SubProcessPipe-class.html"
+ >SubProcessPipe</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>flac</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module flac</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.encode.flac.FlacEncoder-class.html"
+ >FlacEncoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>mp3</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module mp3</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.encode.mp3.Mp3Encoder-class.html"
+ >Mp3Encoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>ogg</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module ogg</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.encode.ogg.OggVorbisEncoder-class.html"
+ >OggVorbisEncoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>wav</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module wav</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.encode.wav.WavEncoder-class.html"
+ >WavEncoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>exceptions</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module exceptions</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.exceptions.ApiError-class.html"
+ >ApiError</a><br /> <a target="mainFrame" href="timeside.exceptions.Error-class.html"
+ >Error</a><br /> <a target="mainFrame" href="timeside.exceptions.SubProcessError-class.html"
+ >SubProcessError</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>grapher</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module grapher</h1>
+<hr />
+ <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.grapher-module.html#color_schemes"
+ >color_schemes</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>core</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.grapher.core.Noise-class.html"
+ >Noise</a><br /> <a target="mainFrame" href="timeside.grapher.core.SpectralCentroid-class.html"
+ >SpectralCentroid</a><br /> <a target="mainFrame" href="timeside.grapher.core.SpectrogramImage-class.html"
+ >SpectrogramImage</a><br /> <a target="mainFrame" href="timeside.grapher.core.WaveformImage-class.html"
+ >WaveformImage</a><br /> <h2 class="toc">Functions</h2>
+ <a target="mainFrame" href="timeside.grapher.core-module.html#interpolate_colors"
+ >interpolate_colors</a><br /> <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.grapher.core-module.html#color_schemes"
+ >color_schemes</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>spectrogram_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module spectrogram_audiolab</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.grapher.spectrogram_audiolab.SpectrogramGrapherAudiolab-class.html"
+ >SpectrogramGrapherAudiolab</a><br /> <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.grapher.spectrogram_audiolab-module.html#color_schemes"
+ >color_schemes</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>waveform_audiolab</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module waveform_audiolab</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.grapher.waveform_audiolab.WaveFormGrapherAudiolab-class.html"
+ >WaveFormGrapherAudiolab</a><br /> <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.grapher.waveform_audiolab-module.html#color_schemes"
+ >color_schemes</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>metadata</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module metadata</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.metadata.Metadata-class.html"
+ >Metadata</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>tests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module tests</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.tests.TestCase-class.html"
+ >TestCase</a><br /> <a target="mainFrame" href="timeside.tests.TestRunner-class.html"
+ >TestRunner</a><br /> <div class="private">
+ <a target="mainFrame" href="timeside.tests._TextTestResult-class.html"
+ >_TextTestResult</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests._WritelnDecorator-class.html"
+ >_WritelnDecorator</a><br /> </div>
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>alltests</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module alltests</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>api</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module api</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>examples</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module examples</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.tests.api.examples.Duration-class.html"
+ >Duration</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.FileDecoder-class.html"
+ >FileDecoder</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.FixedInputProcessor-class.html"
+ >FixedInputProcessor</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Gain-class.html"
+ >Gain</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.MaxLevel-class.html"
+ >MaxLevel</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Spectrogram-class.html"
+ >Spectrogram</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.WavEncoder-class.html"
+ >WavEncoder</a><br /> <a target="mainFrame" href="timeside.tests.api.examples.Waveform-class.html"
+ >Waveform</a><br /> <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.tests.api.examples-module.html#color_schemes"
+ >color_schemes</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>gstreamer</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module gstreamer</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.tests.api.gstreamer.FileDecoder-class.html"
+ >FileDecoder</a><br /> <a target="mainFrame" href="timeside.tests.api.gstreamer.WavEncoder-class.html"
+ >WavEncoder</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>test_lolevel</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module test_lolevel</h1>
+<hr />
+ <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#analyzer"
+ >analyzer</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#decoder"
+ >decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#destination"
+ >destination</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#effect"
+ >effect</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#encoder"
+ >encoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#eod"
+ >eod</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#frames"
+ >frames</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#gain"
+ >gain</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#max_level"
+ >max_level</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#nchannels"
+ >nchannels</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#nframes"
+ >nframes</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#samplerate"
+ >samplerate</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#source"
+ >source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_lolevel-module.html#use_gst"
+ >use_gst</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>test_pipe</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module test_pipe</h1>
+<hr />
+ <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#decoder"
+ >decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#duration"
+ >duration</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#encoder"
+ >encoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#fixed"
+ >fixed</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#gain"
+ >gain</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#maxlevel"
+ >maxlevel</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#source"
+ >source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#subpipe"
+ >subpipe</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe-module.html#use_gst"
+ >use_gst</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>test_pipe_spectrogram</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module test_pipe_spectrogram</h1>
+<hr />
+ <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#decoder"
+ >decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#image_file"
+ >image_file</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#source"
+ >source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#spectrogram"
+ >spectrogram</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_spectrogram-module.html#use_gst"
+ >use_gst</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>test_pipe_waveform</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module test_pipe_waveform</h1>
+<hr />
+ <h2 class="toc">Variables</h2>
+ <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#decoder"
+ >decoder</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#image_file"
+ >image_file</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#source"
+ >source</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#use_gst"
+ >use_gst</a><br /> <a target="mainFrame" href="timeside.tests.api.test_pipe_waveform-module.html#waveform"
+ >waveform</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>listprocessors</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module listprocessors</h1>
+<hr />
+ <h2 class="toc">Functions</h2>
+ <a target="mainFrame" href="timeside.tests.listprocessors-module.html#list_processors"
+ >list_processors</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>test</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module test</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.tests.test.TestAnalyzers-class.html"
+ >TestAnalyzers</a><br /> <a target="mainFrame" href="timeside.tests.test.TestDecoders-class.html"
+ >TestDecoders</a><br /> <a target="mainFrame" href="timeside.tests.test.TestEncoders-class.html"
+ >TestEncoders</a><br /> <a target="mainFrame" href="timeside.tests.test.TestGraphers-class.html"
+ >TestGraphers</a><br /> <h2 class="toc">Functions</h2>
+ <a target="mainFrame" href="timeside.tests.test-module.html#mimetype"
+ >mimetype</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>testcomponent</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module testcomponent</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C1-class.html"
+ >C1</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C10-class.html"
+ >C10</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C11-class.html"
+ >C11</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C2-class.html"
+ >C2</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C3-class.html"
+ >C3</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C4-class.html"
+ >C4</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C5-class.html"
+ >C5</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C6-class.html"
+ >C6</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C7-class.html"
+ >C7</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C8-class.html"
+ >C8</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.C9-class.html"
+ >C9</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I1-class.html"
+ >I1</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I10-class.html"
+ >I10</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I11-class.html"
+ >I11</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I2-class.html"
+ >I2</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I3-class.html"
+ >I3</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I4-class.html"
+ >I4</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I5-class.html"
+ >I5</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I6-class.html"
+ >I6</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I7-class.html"
+ >I7</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I8-class.html"
+ >I8</a><br /> </div>
+ <div class="private">
+ <a target="mainFrame" href="timeside.tests.testcomponent.I9-class.html"
+ >I9</a><br /> </div>
+ <a target="mainFrame" href="timeside.tests.testcomponent.TestComponentArchitecture-class.html"
+ >TestComponentArchitecture</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>testinputadapter</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Module testinputadapter</h1>
+<hr />
+ <h2 class="toc">Classes</h2>
+ <a target="mainFrame" href="timeside.tests.testinputadapter.TestFixedSizeInputAdapter-class.html"
+ >TestFixedSizeInputAdapter</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Table of Contents</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<h1 class="toc">Table of Contents</h1>
+<hr />
+ <a target="moduleFrame" href="toc-everything.html">Everything</a>
+ <br />
+ <h2 class="toc">Modules</h2>
+ <a target="moduleFrame" href="toc-timeside-module.html"
+ onclick="setFrame('toc-timeside-module.html','timeside-module.html');" >timeside</a><br /> <a target="moduleFrame" href="toc-timeside.analyze-module.html"
+ onclick="setFrame('toc-timeside.analyze-module.html','timeside.analyze-module.html');" >timeside.analyze</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.channels-module.html"
+ onclick="setFrame('toc-timeside.analyze.channels-module.html','timeside.analyze.channels-module.html');" >timeside.analyze.channels</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.core-module.html"
+ onclick="setFrame('toc-timeside.analyze.core-module.html','timeside.analyze.core-module.html');" >timeside.analyze.core</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.dc-module.html"
+ onclick="setFrame('toc-timeside.analyze.dc-module.html','timeside.analyze.dc-module.html');" >timeside.analyze.dc</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.duration-module.html"
+ onclick="setFrame('toc-timeside.analyze.duration-module.html','timeside.analyze.duration-module.html');" >timeside.analyze.duration</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.encoding-module.html"
+ onclick="setFrame('toc-timeside.analyze.encoding-module.html','timeside.analyze.encoding-module.html');" >timeside.analyze.encoding</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.format-module.html"
+ onclick="setFrame('toc-timeside.analyze.format-module.html','timeside.analyze.format-module.html');" >timeside.analyze.format</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.max_level-module.html"
+ onclick="setFrame('toc-timeside.analyze.max_level-module.html','timeside.analyze.max_level-module.html');" >timeside.analyze.max_level</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.mean_level-module.html"
+ onclick="setFrame('toc-timeside.analyze.mean_level-module.html','timeside.analyze.mean_level-module.html');" >timeside.analyze.mean_level</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.resolution-module.html"
+ onclick="setFrame('toc-timeside.analyze.resolution-module.html','timeside.analyze.resolution-module.html');" >timeside.analyze.resolution</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.samplerate-module.html"
+ onclick="setFrame('toc-timeside.analyze.samplerate-module.html','timeside.analyze.samplerate-module.html');" >timeside.analyze.samplerate</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.vamp-module.html"
+ onclick="setFrame('toc-timeside.analyze.vamp-module.html','timeside.analyze.vamp-module.html');" >timeside.analyze.vamp</a><br /> <a target="moduleFrame" href="toc-timeside.analyze.vamp.core-module.html"
+ onclick="setFrame('toc-timeside.analyze.vamp.core-module.html','timeside.analyze.vamp.core-module.html');" >timeside.analyze.vamp.core</a><br /> <a target="moduleFrame" href="toc-timeside.api-module.html"
+ onclick="setFrame('toc-timeside.api-module.html','timeside.api-module.html');" >timeside.api</a><br /> <a target="moduleFrame" href="toc-timeside.component-module.html"
+ onclick="setFrame('toc-timeside.component-module.html','timeside.component-module.html');" >timeside.component</a><br /> <a target="moduleFrame" href="toc-timeside.core-module.html"
+ onclick="setFrame('toc-timeside.core-module.html','timeside.core-module.html');" >timeside.core</a><br /> <a target="moduleFrame" href="toc-timeside.decode-module.html"
+ onclick="setFrame('toc-timeside.decode-module.html','timeside.decode-module.html');" >timeside.decode</a><br /> <a target="moduleFrame" href="toc-timeside.decode.core-module.html"
+ onclick="setFrame('toc-timeside.decode.core-module.html','timeside.decode.core-module.html');" >timeside.decode.core</a><br /> <a target="moduleFrame" href="toc-timeside.decode.flac-module.html"
+ onclick="setFrame('toc-timeside.decode.flac-module.html','timeside.decode.flac-module.html');" >timeside.decode.flac</a><br /> <a target="moduleFrame" href="toc-timeside.decode.mp3-module.html"
+ onclick="setFrame('toc-timeside.decode.mp3-module.html','timeside.decode.mp3-module.html');" >timeside.decode.mp3</a><br /> <a target="moduleFrame" href="toc-timeside.decode.ogg-module.html"
+ onclick="setFrame('toc-timeside.decode.ogg-module.html','timeside.decode.ogg-module.html');" >timeside.decode.ogg</a><br /> <a target="moduleFrame" href="toc-timeside.decode.wav-module.html"
+ onclick="setFrame('toc-timeside.decode.wav-module.html','timeside.decode.wav-module.html');" >timeside.decode.wav</a><br /> <a target="moduleFrame" href="toc-timeside.encode-module.html"
+ onclick="setFrame('toc-timeside.encode-module.html','timeside.encode-module.html');" >timeside.encode</a><br /> <a target="moduleFrame" href="toc-timeside.encode.core-module.html"
+ onclick="setFrame('toc-timeside.encode.core-module.html','timeside.encode.core-module.html');" >timeside.encode.core</a><br /> <a target="moduleFrame" href="toc-timeside.encode.flac-module.html"
+ onclick="setFrame('toc-timeside.encode.flac-module.html','timeside.encode.flac-module.html');" >timeside.encode.flac</a><br /> <a target="moduleFrame" href="toc-timeside.encode.mp3-module.html"
+ onclick="setFrame('toc-timeside.encode.mp3-module.html','timeside.encode.mp3-module.html');" >timeside.encode.mp3</a><br /> <a target="moduleFrame" href="toc-timeside.encode.ogg-module.html"
+ onclick="setFrame('toc-timeside.encode.ogg-module.html','timeside.encode.ogg-module.html');" >timeside.encode.ogg</a><br /> <a target="moduleFrame" href="toc-timeside.encode.wav-module.html"
+ onclick="setFrame('toc-timeside.encode.wav-module.html','timeside.encode.wav-module.html');" >timeside.encode.wav</a><br /> <a target="moduleFrame" href="toc-timeside.exceptions-module.html"
+ onclick="setFrame('toc-timeside.exceptions-module.html','timeside.exceptions-module.html');" >timeside.exceptions</a><br /> <a target="moduleFrame" href="toc-timeside.grapher-module.html"
+ onclick="setFrame('toc-timeside.grapher-module.html','timeside.grapher-module.html');" >timeside.grapher</a><br /> <a target="moduleFrame" href="toc-timeside.grapher.core-module.html"
+ onclick="setFrame('toc-timeside.grapher.core-module.html','timeside.grapher.core-module.html');" >timeside.grapher.core</a><br /> <a target="moduleFrame" href="toc-timeside.grapher.spectrogram_audiolab-module.html"
+ onclick="setFrame('toc-timeside.grapher.spectrogram_audiolab-module.html','timeside.grapher.spectrogram_audiolab-module.html');" >timeside.grapher.spectrogram_audiolab</a><br /> <a target="moduleFrame" href="toc-timeside.grapher.waveform_audiolab-module.html"
+ onclick="setFrame('toc-timeside.grapher.waveform_audiolab-module.html','timeside.grapher.waveform_audiolab-module.html');" >timeside.grapher.waveform_audiolab</a><br /> <a target="moduleFrame" href="toc-timeside.metadata-module.html"
+ onclick="setFrame('toc-timeside.metadata-module.html','timeside.metadata-module.html');" >timeside.metadata</a><br /> <a target="moduleFrame" href="toc-timeside.tests-module.html"
+ onclick="setFrame('toc-timeside.tests-module.html','timeside.tests-module.html');" >timeside.tests</a><br /> <a target="moduleFrame" href="toc-timeside.tests.alltests-module.html"
+ onclick="setFrame('toc-timeside.tests.alltests-module.html','timeside.tests.alltests-module.html');" >timeside.tests.alltests</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api-module.html"
+ onclick="setFrame('toc-timeside.tests.api-module.html','timeside.tests.api-module.html');" >timeside.tests.api</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.examples-module.html"
+ onclick="setFrame('toc-timeside.tests.api.examples-module.html','timeside.tests.api.examples-module.html');" >timeside.tests.api.examples</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.gstreamer-module.html"
+ onclick="setFrame('toc-timeside.tests.api.gstreamer-module.html','timeside.tests.api.gstreamer-module.html');" >timeside.tests.api.gstreamer</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.test_lolevel-module.html"
+ onclick="setFrame('toc-timeside.tests.api.test_lolevel-module.html','timeside.tests.api.test_lolevel-module.html');" >timeside.tests.api.test_lolevel</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.test_pipe-module.html"
+ onclick="setFrame('toc-timeside.tests.api.test_pipe-module.html','timeside.tests.api.test_pipe-module.html');" >timeside.tests.api.test_pipe</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.test_pipe_spectrogram-module.html"
+ onclick="setFrame('toc-timeside.tests.api.test_pipe_spectrogram-module.html','timeside.tests.api.test_pipe_spectrogram-module.html');" >timeside.tests.api.test_pipe_spectrogram</a><br /> <a target="moduleFrame" href="toc-timeside.tests.api.test_pipe_waveform-module.html"
+ onclick="setFrame('toc-timeside.tests.api.test_pipe_waveform-module.html','timeside.tests.api.test_pipe_waveform-module.html');" >timeside.tests.api.test_pipe_waveform</a><br /> <a target="moduleFrame" href="toc-timeside.tests.listprocessors-module.html"
+ onclick="setFrame('toc-timeside.tests.listprocessors-module.html','timeside.tests.listprocessors-module.html');" >timeside.tests.listprocessors</a><br /> <a target="moduleFrame" href="toc-timeside.tests.test-module.html"
+ onclick="setFrame('toc-timeside.tests.test-module.html','timeside.tests.test-module.html');" >timeside.tests.test</a><br /> <a target="moduleFrame" href="toc-timeside.tests.testcomponent-module.html"
+ onclick="setFrame('toc-timeside.tests.testcomponent-module.html','timeside.tests.testcomponent-module.html');" >timeside.tests.testcomponent</a><br /> <a target="moduleFrame" href="toc-timeside.tests.testinputadapter-module.html"
+ onclick="setFrame('toc-timeside.tests.testinputadapter-module.html','timeside.tests.testinputadapter-module.html');" >timeside.tests.testinputadapter</a><br /><hr />
+ <span class="options">[<a href="javascript:void(0);" class="privatelink"
+ onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>