From 2483e7fe43e6de7fa4f700d1da166afa34d7d54c Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Tue, 16 Dec 2025 11:10:08 -0800 Subject: [PATCH] Implemented Cdl ASC_SAT --- pycmx/edit_list.py | 5 ++--- pycmx/event.py | 10 +++++++--- pycmx/parse_cmx_statements.py | 9 ++++++++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/pycmx/edit_list.py b/pycmx/edit_list.py index 08e6c39..490358c 100644 --- a/pycmx/edit_list.py +++ b/pycmx/edit_list.py @@ -1,6 +1,7 @@ # pycmx # (c) 2018 Jamie Hardt +from pycmx.statements import StmtTitle from .parse_cmx_statements import ( StmtUnrecognized, StmtEvent, StmtSourceUMID) from .event import Event @@ -16,7 +17,7 @@ class EditList: """ def __init__(self, statements): - self.title_statement = statements[0] + self.title_statement: StmtTitle = statements[0] self.event_statements = statements[1:] @property @@ -90,8 +91,6 @@ class EditList: else: event_statements.append(stmt) - elif type(stmt) is StmtSourceUMID: - break else: event_statements.append(stmt) diff --git a/pycmx/event.py b/pycmx/event.py index 0b94236..d671852 100644 --- a/pycmx/event.py +++ b/pycmx/event.py @@ -1,9 +1,10 @@ # pycmx # (c) 2023 Jamie Hardt -from .parse_cmx_statements import ( - StmtEvent, StmtClipName, StmtSourceFile, StmtAudioExt, StmtUnrecognized, - StmtEffectsName) +from pycmx.statements import * +# from .parse_cmx_statements import ( +# StmtEvent, StmtClipName, StmtSourceFile, StmtAudioExt, StmtUnrecognized, +# StmtEffectsName) from .edit import Edit from typing import List, Generator, Optional, Tuple, Any @@ -106,3 +107,6 @@ class Event: yield (s1, s2) elif type(s1) is StmtEvent: yield (s1, None) + + def _asc_sop_statements(self) -> list[StmtCdlSop]: + return [s for s in self.statements if type(s) == StmtCdlSop] diff --git a/pycmx/parse_cmx_statements.py b/pycmx/parse_cmx_statements.py index 048aabd..e3d0b4b 100644 --- a/pycmx/parse_cmx_statements.py +++ b/pycmx/parse_cmx_statements.py @@ -121,7 +121,14 @@ def _parse_remark(line, line_number) -> object: power_b=v[2][2], line_number=line_number) elif line.startswith("ASC_SAT"): - ... + value = re.findall(r'-?\d+(\.\d+)?', line) + + if len(value) != 1: + return StmtRemark(line, line_number) + + else: + return StmtCdlSat(value=value[0]) + elif line.startswith("FRMC"): ... else: