add "null" AudioFilter and move the format methods

This commit is contained in:
Mathias Koehler 2011-10-13 17:48:39 +02:00
parent f2d2f16722
commit e687fa0251
2 changed files with 23 additions and 18 deletions

View file

@ -17,6 +17,7 @@ class CombinedFilter(CombinedOptions):
else:
yield key
class VideoFilter(CombinedFilter):
def blackframe(self, amount, threshold):
@ -161,29 +162,15 @@ class VideoFilter(CombinedFilter):
self.add_option('yadif', filter)
return self
def _format_parameter(self, *args):
parameter = filter(lambda x: x is not None, args)
return ':'.join(map(str, parameter))
def _format_keyword_parameter(self, **kwargs):
parameter_list = []
print(kwargs)
for key, value in kwargs.items():
try:
if not value:
parameter_list.append(key)
else:
parameter_list.append("=".join([key, value]))
except TypeError:
values = ':'.join(kwargs[key])
parameter_list.append("=".join([key, values]))
return '"' + ':'.join(parameter_list) + '"'
def __iter__(self):
return chain(['-vf', CombinedFilter.__str__(self)])
class AudioFilter(CombinedFilter):
def null(self):
self.add_option('null', None)
return self
def __iter__(self):
return chain(['-af', CombinedFilter.__str__(self)])

View file

@ -67,6 +67,24 @@ class CombinedOptions(object):
for option in self._list:
for item in option.iteritems():
yield item
def _format_parameter(self, *args):
parameter = filter(lambda x: x is not None, args)
return ':'.join(map(str, parameter))
def _format_keyword_parameter(self, **kwargs):
parameter_list = []
print(kwargs)
for key, value in kwargs.items():
try:
if not value:
parameter_list.append(key)
else:
parameter_list.append("=".join([key, value]))
except TypeError:
values = ':'.join(kwargs[key])
parameter_list.append("=".join([key, values]))
return '"' + ':'.join(parameter_list) + '"'
def __repr__(self):
return "<{cls} {opts}>".format(opts=list(self),