From: yomguy Date: Fri, 9 Oct 2009 13:39:09 +0000 (+0000) Subject: get first encoder test X-Git-Tag: 0.3.2~236 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=bfdedc8bdb92ba76a9e4c61a60a227d2d37e600d;p=timeside.git get first encoder test --- diff --git a/decode/core.py b/decode/core.py index da895f4..6065a40 100644 --- a/decode/core.py +++ b/decode/core.py @@ -65,16 +65,18 @@ class DecoderCore(Component): def process(self, source, options=None): """Encode and stream audio data through a generator""" - proc = SubProcessPipe(self.command) % source - - while True: - __chunk = proc.output.read(self.proc.buffer_size) - status = proc.poll() - if status != None and status != 0: - raise ExportProcessError('Command failure:', command, proc) - if len(__chunk) == 0: - break - yield __chunk + command = self.command % source + proc = SubProcessPipe(command) + return proc.output + + #while True: + #__chunk = proc.output.read(self.proc.buffer_size) + #status = proc.poll() + #if status != None and status != 0: + #raise ExportProcessError('Command failure:', command, proc) + #if len(__chunk) == 0: + #break + #yield __chunk diff --git a/encode/core.py b/encode/core.py index 7988279..31a031d 100644 --- a/encode/core.py +++ b/encode/core.py @@ -63,10 +63,10 @@ class EncoderCore(Component): proc = SubProcessPipe(command, stdin) while True: - __chunk = proc.output.read(self.proc.buffer_size) - status = proc.poll() - if status != None and status != 0: - raise EncodeProcessError('Command failure:', command, proc) + __chunk = proc.output.read(proc.buffer_size) + #status = proc.poll() + #if status != None and status != 0: + #raise EncodeProcessError('Command failure:', command, proc) if len(__chunk) == 0: break yield __chunk diff --git a/encode/flac.py b/encode/flac.py index 60bf356..8ab2f1f 100644 --- a/encode/flac.py +++ b/encode/flac.py @@ -105,18 +105,19 @@ class FlacEncoder(EncoderCore): def process(self, source, metadata, options=None): buffer_size = 0xFFFF - args = self.get_args(options) + self.options = options + args = self.get_args() args = ' '.join(args) - ext = self.get_file_extension() + ext = self.file_extension() command = 'flac -c %s -' % args stream = self.core_process(command, source) - temp_file = NamedTemporaryFile(delete=False) + temp_file = NamedTemporaryFile() for __chunk in stream: temp_file.write(__chunk) temp_file.flush() - self.write_tags(temp_file) + #self.write_tags(temp_file) while True: __chunk = temp_file.read(buffer_size) diff --git a/encode/mp3.py b/encode/mp3.py index 3360f6d..2bde51f 100644 --- a/encode/mp3.py +++ b/encode/mp3.py @@ -127,7 +127,7 @@ class Mp3Encoder(EncoderCore): def process(self, source, metadata, options=None): self.metadata = metadata self.options = options - args = get_args(options) + args = self.get_args() args = ' '.join(args) command = 'lame %s - -' % args diff --git a/encode/ogg.py b/encode/ogg.py index b04f22f..84dd8c7 100644 --- a/encode/ogg.py +++ b/encode/ogg.py @@ -101,7 +101,7 @@ class OggVorbisEncoder(EncoderCore): def process(self, source, metadata, options=None): self.metadata = metadata self.options = options - args = self.get_args(options) + args = self.get_args() args = ' '.join(args) command = 'oggenc %s -' % args diff --git a/tests/test.py b/tests/test.py index d069edd..c00ad0a 100755 --- a/tests/test.py +++ b/tests/test.py @@ -24,6 +24,7 @@ class TestAnalyzers(Component): value = analyzer.render(media) print id + ' = ' + str(value) + ' ' + analyzer.unit() + class TestDecoders(Component): decoders = ExtensionPoint(timeside.decode.IDecoder) @@ -35,6 +36,12 @@ class TestDecoders(Component): }) print decoders + def run(self, media, format): + for decoder in self.decoders: + if decoder.format() == format: + break + return decoder.process(media) + class TestEncoders(Component): encoders = ExtensionPoint(timeside.encode.IEncoder) @@ -47,6 +54,20 @@ class TestEncoders(Component): }) print encoders + def run(self, source, metadata): + print '\n=== Encoder testing ===\n' + for encoder in self.encoders: + format = encoder.format() + ext = encoder.file_extension() + stream = encoder.process(source, metadata) + file_path = 'results/sweep' + '.' + ext + file = open(file_path, 'w') + for chunk in stream: + file.write(chunk) + print 'Sound exported to :' + file_path + file.close() + + class TestGraphers(Component): graphers = ExtensionPoint(timeside.graph.IGrapher) @@ -70,20 +91,23 @@ class TestGraphers(Component): print 'Image exported to :' + file_path file.close() + + if __name__ == '__main__': sample = 'samples/sweep.wav' + metadata = {'creator': 'yomguy', 'date': '2009', 'name': 'test'} comp_mgr = ComponentManager() a = TestAnalyzers(comp_mgr) d = TestDecoders(comp_mgr) e = TestEncoders(comp_mgr) g = TestGraphers(comp_mgr) - a.list() - d.list() - e.list() - g.list() - a.run(sample) - #d.run() - #e.run() - g.run(sample) + #a.list() + #d.list() + #e.list() + #g.list() + #a.run(sample) + #g.run(sample) + audio = d.run(sample, 'WAV') + e.run(audio, metadata)