From: Thomas Fillon Date: Fri, 27 Mar 2015 08:35:43 +0000 (+0100) Subject: Export Segment Result to Elan: only one tier in the annotation X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=6a5428a2edca31afbaa27c4b137db45c802ceae8;p=timeside.git Export Segment Result to Elan: only one tier in the annotation --- diff --git a/timeside/core/analyzer.py b/timeside/core/analyzer.py index c905c8c..0b2b89b 100644 --- a/timeside/core/analyzer.py +++ b/timeside/core/analyzer.py @@ -933,17 +933,23 @@ class SegmentLabelObject(LabelObject, SegmentObject): elan = pympi.Elan.Eaf(author='TimeSide') if media_file is not None: elan.add_linked_file(media_file) - for label in self.label_metadata.label.values(): - elan.add_tier(label) + #for label in self.label_metadata.label.values(): + tier_id = 'Analysis' + elan.add_tier(tier_id) + for n in xrange(len(self.label)): - label_id = self.label[n] - tier_id = self.label_metadata.label[unicode(label_id)] + label_id = self.label_metadata.label[unicode(self.label[n])] + #tier_id = self.label_metadata.label[unicode(label_id)] start = self.time[n] + if start < 0: + # TODO: check why start could be negative + start = 0 end = start + self.duration[n] # Time has to be converted in millisecond integer values elan.add_annotation(id_tier=tier_id, start=int(start*1000), - end=int(end*1000)) + end=int(end*1000), + value=label_id) elan.to_file(elan_file) diff --git a/timeside/server/serializers.py b/timeside/server/serializers.py index 1b18c2b..9205610 100644 --- a/timeside/server/serializers.py +++ b/timeside/server/serializers.py @@ -66,7 +66,7 @@ class PresetSerializer(serializers.ModelSerializer): def validate_parameters(self, attrs, source): - import timeside + import timeside.core proc = timeside.core.get_processor(attrs['processor'].pid) if proc.type == 'analyzer': processor = proc()