Proyectos
Ver en GitHub
iluvcapra/pycmx
iluvcapra/pycmx has 31 GitHub stars and 2 forks. Star changes are not measured yet. Last checked 2026-11-12 01:10 UTC. Last push 2026-09-17.
Python CMX 3600 Edit Decision List Parser
What you can do
- The major variations of the CMX 3600: the standard, "File32", "File128" and long Adobe Premiere event numbers are automatically detected and properly read. Event number field and source name field sizes are determined dynamically for each statement for a high level of compliance at the expense of strictness.
- A more relaxed "tolerant" mode allows parsing of an EDL file where columns use non-standard widths.
- Preserves relationship between events and individual edits/clips.
- Remark or comment fields with common recognized forms are read and available to the client, including clip name and source file data.
Crecimiento de estrellas medido
- in 24h
- Recopilando historial
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Originalpycmx
The pycmx package parses a CMX 3600 EDL and its most most common variations.
Features
- The major variations of the CMX 3600: the standard, "File32", "File128" and long Adobe Premiere event numbers are automatically detected and properly read. Event number field and source name field sizes are determined dynamically for each statement for a high level of compliance at the expense of strictness.
- A more relaxed "tolerant" mode allows parsing of an EDL file where columns use non-standard widths.
- Preserves relationship between events and individual edits/clips.
- Remark or comment fields with common recognized forms are read and available to the client, including clip name and source file data.
- ASC CDL and FRMC/VFX framecount statements are parsed and decoded.
- Symbolically decodes transitions and audio channels.
- Does not parse or validate timecodes, does not enforce framerates, does not parameterize timecode or framerates in any way. This makes the parser more tolerant of EDLs with mixed rates.
- Unrecognized lines are accessible on the
EditListandEventclasses along with the line numbers, to help the client diagnose problems with a list and give the client the ability to extend the package with their own parsing code.
Usage
Opening and Parsing EDL Files
>>> import pycmx
>>> with open("tests/edls/TEST.edl") as f:
... edl = pycmx.parse_cmx3600(f)
...
>>> edl.title
'DC7 R1_v8.2'
Reading Events and Edits
EditList.events is a generator...
>>> events = list( edl.events )
>>> len(events)
120
>>> events[43].number
'044'
...and events contain 1...n edits.
>>> events[43].edits[0].source_in
'00:00:00:00'
>>> events[43].edits[0].transition.cut
True
>>> events[43].edits[0].record_out
'01:10:21:10'
Acessing Transitions and Enabled Channels
>>> events[41].edits[0].transition.dissolve
False
>>> events[41].edits[1].transition.dissolve
True
>>> events[41].edits[0].clip_name
'TC R1 V1.2 TEMP1 DX M.WAV'
>>> events[41].edits[1].clip_name
'TC R1 V6 TEMP2 M DX.WAV'
# parsed channel maps are also
# available to the client
>>> events[2].edits[0].channels.get_audio_channel(7)
True
>>> events[2].edits[0].channels.get_audio_channel(6)
False
>>> for c in events[2].edits[0].channels.channels:
... print(f"Audio channel {c} is present")
...
Audio channel 7 is present
>>> events[2].edits[0].channels.video
False
Explorar proyectos relacionados
ytdl-org/youtube-dl
Programa de línea de comandos para descargar vídeos de YouTube.com y otros sitios de vídeo
141,539 estrellasexcalidraw/excalidraw
Pizarra virtual para esbozar diagramas con aspecto de dibujo a mano
135,492 estrellasgodotengine/godot
Godot Engine – Motor de videojuegos 2D y 3D multiplataforma
120,003 estrellasmrdoob/three.js
Biblioteca 3D de JavaScript.
118,122 estrellas