Adding support for track markers

(Always ignore for now)
This commit is contained in:
Jamie Hardt
2025-05-17 11:19:22 -07:00
parent a602b09551
commit d4e23b59eb
2 changed files with 13 additions and 3 deletions

View File

@@ -19,11 +19,17 @@ class SessionDescriptor:
self.tracks = kwargs['tracks']
self.markers = kwargs['markers']
def markers_timed(self) -> Iterator[Tuple['MarkerDescriptor', Fraction]]:
def markers_timed(self,
only_ruler_markers: bool = True) -> \
Iterator[Tuple['MarkerDescriptor', Fraction]]:
"""
Iterate each marker in the session with its respective time reference.
"""
for marker in self.markers:
if marker.track_marker and only_ruler_markers:
continue
marker_time = Fraction(marker.time_reference,
int(self.header.sample_rate))
# marker_time = self.header.convert_timecode(marker.location)
@@ -182,6 +188,7 @@ class MarkerDescriptor:
units: str
name: str
comments: str
track_marker: bool
def __init__(self, **kwargs):
self.number = kwargs['number']
@@ -190,3 +197,4 @@ class MarkerDescriptor:
self.units = kwargs['units']
self.name = kwargs['name']
self.comments = kwargs['comments']
self.track_marker = kwargs['track_marker']

View File

@@ -244,15 +244,17 @@ class DocParserVisitor(NodeVisitor):
@staticmethod
def visit_marker_record(_, visited_children):
is_track_marker = False
if isinstance(visited_children[12], list):
pass
is_track_marker = visited_children[12][2] == "Track"
return MarkerDescriptor(number=visited_children[0],
location=visited_children[3],
time_reference=visited_children[5],
units=visited_children[8],
name=visited_children[10],
comments=visited_children[13])
comments=visited_children[13],
track_marker=is_track_marker)
@staticmethod
def visit_formatted_clip_name(_, visited_children):