From 2834154faee25bc12f6b32cf24cda14cabdbdb0b Mon Sep 17 00:00:00 2001 From: yomguy <> Date: Sun, 14 Sep 2008 14:17:11 +0000 Subject: [PATCH] * Add analyzers (encoding, format) --- telemeta/analysis/__init__.py | 6 +++++- telemeta/analysis/core.py | 2 ++ telemeta/analysis/encoding.py | 30 ++++++++++++++++++++++++++++++ telemeta/analysis/format.py | 30 ++++++++++++++++++++++++++++++ telemeta/models/media.py | 2 +- 5 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 telemeta/analysis/encoding.py create mode 100644 telemeta/analysis/format.py diff --git a/telemeta/analysis/__init__.py b/telemeta/analysis/__init__.py index 0336b26d..306e3888 100644 --- a/telemeta/analysis/__init__.py +++ b/telemeta/analysis/__init__.py @@ -1,7 +1,11 @@ from telemeta.analysis.api import * from telemeta.analysis.core import * from telemeta.analysis.channels import * -from telemeta.analysis.length import * +from telemeta.analysis.format import * +from telemeta.analysis.encoding import * from telemeta.analysis.samplerate import * +from telemeta.analysis.length import * from telemeta.analysis.max_level import * from telemeta.analysis.mean_level import * + + diff --git a/telemeta/analysis/core.py b/telemeta/analysis/core.py index ffc673cc..fe76ed01 100644 --- a/telemeta/analysis/core.py +++ b/telemeta/analysis/core.py @@ -41,6 +41,8 @@ class AudioProcessor(Component): self.frames = self.audio_file.get_nframes() self.samplerate = self.audio_file.get_samplerate() self.channels = self.audio_file.get_channels() + self.format = self.audio_file.get_file_format() + self.encoding = self.audio_file.get_encoding() def post_process(self, audio_file): pass diff --git a/telemeta/analysis/encoding.py b/telemeta/analysis/encoding.py new file mode 100644 index 00000000..48ddbaad --- /dev/null +++ b/telemeta/analysis/encoding.py @@ -0,0 +1,30 @@ +# Copyright (C) 2008 Parisson SARL +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://svn.parisson.org/telemeta/TelemetaLicense. +# +# Author: Guillaume Pellerin + +from telemeta.analysis.core import * +from telemeta.analysis.api import IMediaItemAnalyzer +import numpy + +class EncodingAnalyser(AudioProcessor): + """Media item analyzer driver interface""" + + implements(IMediaItemAnalyzer) + + def get_id(self): + return "encoding" + + def get_name(self): + return "Encoding format" + + def get_unit(self): + return "" + + def render(self, media_item, options=None): + self.pre_process(media_item) + return self.encoding diff --git a/telemeta/analysis/format.py b/telemeta/analysis/format.py new file mode 100644 index 00000000..acb442a3 --- /dev/null +++ b/telemeta/analysis/format.py @@ -0,0 +1,30 @@ +# Copyright (C) 2008 Parisson SARL +# All rights reserved. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://svn.parisson.org/telemeta/TelemetaLicense. +# +# Author: Guillaume Pellerin + +from telemeta.analysis.core import * +from telemeta.analysis.api import IMediaItemAnalyzer +import numpy + +class FormatAnalyser(AudioProcessor): + """Media item analyzer driver interface""" + + implements(IMediaItemAnalyzer) + + def get_id(self): + return "format" + + def get_name(self): + return "File format" + + def get_unit(self): + return "" + + def render(self, media_item, options=None): + self.pre_process(media_item) + return self.format diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 7e8ddb8b..1aed1d36 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -73,7 +73,7 @@ class MediaCollection(Model, MediaCore): publisher_reference = CharField(maxlength=250, blank=True) physical_format = CharField(maxlength=250, blank=True) - id = CharField(maxlength=250, primary_key=True, + id = CharField(maxlength=250, primary_key=True, verbose_name='identifier', validator_list=[id_validator]) title = CharField(maxlength=250) native_title = CharField(maxlength=250, blank=True) -- 2.39.5