mirror of
https://github.com/iluvcapra/pycmx.git
synced 2026-01-02 01:40:58 +00:00
Implemented better logic for reading event-modifying lines
This commit is contained in:
@@ -20,8 +20,11 @@ class CmxEvent:
|
|||||||
self.aux_source = (source_name == 'AX')
|
self.aux_source = (source_name == 'AX')
|
||||||
|
|
||||||
|
|
||||||
def accept_statement(statement):
|
def can_accept(self):
|
||||||
atement_type = type(statement).__name__
|
return {'AudioExt','Remark','SourceFile','ClipName','EffectsName'}
|
||||||
|
|
||||||
|
def accept_statement(self, statement):
|
||||||
|
statement_type = type(statement).__name__
|
||||||
if statement_type == 'AudioExt':
|
if statement_type == 'AudioExt':
|
||||||
self.channels.appendExt(statement)
|
self.channels.appendExt(statement)
|
||||||
elif statement_type == 'Remark':
|
elif statement_type == 'Remark':
|
||||||
@@ -34,7 +37,7 @@ class CmxEvent:
|
|||||||
self.transition.name = statement.name
|
self.transition.name = statement.name
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"""CmxEvent(title="{self.title}",number="{self.number}",\
|
return f"""CmxEvent(title="{self.title}",number={self.number},\
|
||||||
clip_name="{self.clip_name}",source_name="{self.source_name}",\
|
clip_name="{self.clip_name}",source_name="{self.source_name}",\
|
||||||
channels={self.channels},transition={self.transition},\
|
channels={self.channels},transition={self.transition},\
|
||||||
source_start="{self.source_start}",source_finish="{self.source_finish}",\
|
source_start="{self.source_start}",source_finish="{self.source_finish}",\
|
||||||
|
|||||||
@@ -141,36 +141,32 @@ def event_list(title, parser):
|
|||||||
state['fcm_drop'] = parser.current_token.drop
|
state['fcm_drop'] = parser.current_token.drop
|
||||||
elif parser.accept('Event'):
|
elif parser.accept('Event'):
|
||||||
if this_event != None:
|
if this_event != None:
|
||||||
event_t = CmxEvent(**this_event)
|
events_result.append(this_event)
|
||||||
events_result.append(event_t)
|
|
||||||
|
|
||||||
raw_event = parser.current_token
|
raw_event = parser.current_token
|
||||||
channels = CmxChannelMap(v=False, audio_channels=set([]))
|
channels = CmxChannelMap(v=False, audio_channels=set([]))
|
||||||
channels.appendEvent(raw_event.channels)
|
channels.appendEvent(raw_event.channels)
|
||||||
|
|
||||||
this_event = {'title': title, 'number': raw_event.event, 'clip_name': None ,
|
this_event = CmxEvent(title=title,number=int(raw_event.event), clip_name=None ,
|
||||||
'source_name': raw_event.source,
|
source_name=raw_event.source,
|
||||||
'channels': channels,
|
channels=channels,
|
||||||
'transition': CmxTransition(raw_event.trans, raw_event.trans_op),
|
transition=CmxTransition(raw_event.trans, raw_event.trans_op),
|
||||||
'source_start': raw_event.source_in,
|
source_start= raw_event.source_in,
|
||||||
'source_finish': raw_event.source_out,
|
source_finish= raw_event.source_out,
|
||||||
'record_start': raw_event.record_in,
|
record_start= raw_event.record_in,
|
||||||
'record_finish': raw_event.record_out,
|
record_finish= raw_event.record_out,
|
||||||
'fcm_drop': state['fcm_drop']}
|
fcm_drop= state['fcm_drop'])
|
||||||
elif parser.accept('AudioExt'):
|
elif parser.accept('AudioExt') or parser.accept('ClipName') or \
|
||||||
this_event['channels'].appendExt(parser.current_token)
|
parser.accept('SourceFile') or parser.accept('EffectsName') or \
|
||||||
elif parser.accept('ClipName'):
|
parser.accept('Remark'):
|
||||||
this_event['clip_name'] = parser.current_token.name
|
this_event.accept_statement(parser.current_token)
|
||||||
elif parser.accept('SourceFile'):
|
|
||||||
this_event['source_name'] = parser.current_token.filename
|
|
||||||
elif parser.accept('Trailer'):
|
elif parser.accept('Trailer'):
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
parser.next_token()
|
parser.next_token()
|
||||||
|
|
||||||
if this_event != None:
|
if this_event != None:
|
||||||
event_t = CmxEvent(**this_event)
|
events_result.append(this_event)
|
||||||
events_result.append(event_t)
|
|
||||||
|
|
||||||
return events_result
|
return events_result
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user