Added track index to TrackDescriptor

to indicate a track's import order.
This commit is contained in:
Jamie Hardt
2023-07-27 22:58:06 -07:00
parent e2b9a20870
commit 81909c8a51
2 changed files with 10 additions and 4 deletions

View File

@@ -124,6 +124,7 @@ class HeaderDescriptor:
class TrackDescriptor: class TrackDescriptor:
index: int
name: str name: str
comments: str comments: str
user_delay_samples: int user_delay_samples: int
@@ -132,6 +133,7 @@ class TrackDescriptor:
clips: List["TrackClipDescriptor"] clips: List["TrackClipDescriptor"]
def __init__(self, **kwargs): def __init__(self, **kwargs):
self.index = kwargs['index']
self.name = kwargs['name'] self.name = kwargs['name']
self.comments = kwargs['comments'] self.comments = kwargs['comments']
self.user_delay_samples = kwargs['user_delay_samples'] self.user_delay_samples = kwargs['user_delay_samples']

View File

@@ -166,8 +166,8 @@ class DocParserVisitor(NodeVisitor):
count_instances=child[10]), count_instances=child[10]),
visited_children[2])) visited_children[2]))
@staticmethod # @staticmethod
def visit_track_block(_, visited_children): def visit_track_block(self, _, visited_children):
track_header, track_clip_list = visited_children track_header, track_clip_list = visited_children
clips = [] clips = []
for clip in track_clip_list: for clip in track_clip_list:
@@ -179,7 +179,11 @@ class DocParserVisitor(NodeVisitor):
for plugin in plugin_opt[1]: for plugin in plugin_opt[1]:
plugins.append(plugin[1]) plugins.append(plugin[1])
this_index = self.track_index
self.track_index += 1
return TrackDescriptor( return TrackDescriptor(
index=this_index,
name=track_header[2], name=track_header[2],
comments=track_header[6], comments=track_header[6],
user_delay_samples=track_header[10], user_delay_samples=track_header[10],
@@ -192,8 +196,8 @@ class DocParserVisitor(NodeVisitor):
def visit_frame_rate(node, _): def visit_frame_rate(node, _):
return node.text return node.text
@staticmethod def visit_track_listing(self, _, visited_children):
def visit_track_listing(_, visited_children): self.track_index = 0
return visited_children[1] return visited_children[1]
@staticmethod @staticmethod