From 07aa2154f13a2c90ac3f98b676cddd4e2b1a82b8 Mon Sep 17 00:00:00 2001 From: mikeos Date: Sat, 28 Sep 2013 16:38:17 +0400 Subject: support of different output encoding formats --- formats/__base__.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 formats/__base__.py (limited to 'formats/__base__.py') diff --git a/formats/__base__.py b/formats/__base__.py new file mode 100644 index 0000000..4bb6598 --- /dev/null +++ b/formats/__base__.py @@ -0,0 +1,25 @@ +class BaseHandler: + def __init__(self, logger = None): + self.logger = logger + self.buf = [] + + def log(self, fmt, *args): + if self.logger is not None: + self.logger(fmt, *args) + + def add(self, *args): + self.buf.extend(args) + + def build(self, join=True): + data = " ".join(self.buf) if join else self.buf + self.buf = [] + + return data + + def add_sox_args(self, opt, info): + if opt.sample_rate and opt.sample_rate != info.sample_rate: + self.add("-r %d" % opt.sample_rate) + if opt.bits_per_sample and opt.bits_per_sample != info.bits_per_sample: + self.add("-b %d" % opt.bits_per_sample) + if opt.channels and opt.channels != info.channels: + self.add("-c %d" % opt.channels) -- cgit v1.2.3-70-g09d2