Update app.py
Browse files
app.py
CHANGED
|
@@ -127,10 +127,10 @@ def generate_cmx_edl(edl_title, segments, source_name, fps=25):
|
|
| 127 |
return "\n".join(edl_lines)
|
| 128 |
|
| 129 |
def generate_xml(sequence_name, segments, source_name, fps=25):
|
| 130 |
-
"""Constructs a
|
| 131 |
|
| 132 |
-
#
|
| 133 |
-
unified_file_id = "unified-source-
|
| 134 |
|
| 135 |
# FPS Logic
|
| 136 |
timebase = int(round(fps))
|
|
@@ -184,20 +184,14 @@ def generate_xml(sequence_name, segments, source_name, fps=25):
|
|
| 184 |
lines.append(f'\t\t\t\t\t<in>{src_in_frames}</in>')
|
| 185 |
lines.append(f'\t\t\t\t\t<out>{src_out_frames}</out>')
|
| 186 |
|
| 187 |
-
# ---
|
| 188 |
-
# NO <
|
| 189 |
-
# NO <reel>
|
| 190 |
-
# CONSTANT ID (keeps bin clean)
|
| 191 |
lines.append(f'\t\t\t\t\t<file id="{unified_file_id}">')
|
| 192 |
lines.append(f'\t\t\t\t\t\t<name>{source_name}</name>')
|
| 193 |
lines.append(f'\t\t\t\t\t\t<rate><timebase>{timebase}</timebase></rate>')
|
| 194 |
lines.append(f'\t\t\t\t\t\t<duration>8640000</duration>')
|
| 195 |
-
|
| 196 |
-
lines.append(f'\t\t\t\t\t\t\t<rate><timebase>{timebase}</timebase></rate>')
|
| 197 |
-
lines.append(f'\t\t\t\t\t\t\t<string>00:00:00:00</string>')
|
| 198 |
-
lines.append(f'\t\t\t\t\t\t\t<frame>0</frame>')
|
| 199 |
-
lines.append(f'\t\t\t\t\t\t\t<displayformat>NDF</displayformat>')
|
| 200 |
-
lines.append(f'\t\t\t\t\t\t</timecode>')
|
| 201 |
lines.append(f'\t\t\t\t\t\t<media>')
|
| 202 |
lines.append(f'\t\t\t\t\t\t\t<video>')
|
| 203 |
lines.append(f'\t\t\t\t\t\t\t\t<samplecharacteristics><width>1920</width><height>1080</height></samplecharacteristics>')
|
|
|
|
| 127 |
return "\n".join(edl_lines)
|
| 128 |
|
| 129 |
def generate_xml(sequence_name, segments, source_name, fps=25):
|
| 130 |
+
"""Constructs a Timecode-Agnostic XML for robust Replace Edit workflows."""
|
| 131 |
|
| 132 |
+
# UNIFIED ID: Keeps the bin clean (1 offline item)
|
| 133 |
+
unified_file_id = "unified-source-master"
|
| 134 |
|
| 135 |
# FPS Logic
|
| 136 |
timebase = int(round(fps))
|
|
|
|
| 184 |
lines.append(f'\t\t\t\t\t<in>{src_in_frames}</in>')
|
| 185 |
lines.append(f'\t\t\t\t\t<out>{src_out_frames}</out>')
|
| 186 |
|
| 187 |
+
# --- AGNOSTIC FILE DEFINITION ---
|
| 188 |
+
# NO <timecode> block: Forces Premiere to use relative frame offset
|
| 189 |
+
# NO <reel>: Prevents metadata mismatch
|
|
|
|
| 190 |
lines.append(f'\t\t\t\t\t<file id="{unified_file_id}">')
|
| 191 |
lines.append(f'\t\t\t\t\t\t<name>{source_name}</name>')
|
| 192 |
lines.append(f'\t\t\t\t\t\t<rate><timebase>{timebase}</timebase></rate>')
|
| 193 |
lines.append(f'\t\t\t\t\t\t<duration>8640000</duration>')
|
| 194 |
+
# TIMECODE REMOVED HERE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 195 |
lines.append(f'\t\t\t\t\t\t<media>')
|
| 196 |
lines.append(f'\t\t\t\t\t\t\t<video>')
|
| 197 |
lines.append(f'\t\t\t\t\t\t\t\t<samplecharacteristics><width>1920</width><height>1080</height></samplecharacteristics>')
|