Files
gart/code/fcpxml/__init__.py
T

140 lines
2.6 KiB
Python
Executable File

"""
FCPXML - Python library for reading, writing, and modifying Final Cut Pro XML files.
This package provides tools to:
- Parse FCPXML files into Python objects
- Modify existing FCPXML files (add markers, trim clips, reorder, etc.)
- Generate new FCPXML files from scratch
- Create AI-powered rough cuts from source material
- Compare timelines and export to other NLE formats
"""
from .diff import ClipDiff, MarkerDiff, TimelineDiff, compare_timelines
from .export import DaVinciExporter
from .models import (
MARKER_XML_TAGS,
AudioClip,
Clip,
CompoundClip,
ConnectedClip,
# Core models
Keyword,
Marker,
MarkerColor,
# Enums
MarkerType,
PacingConfig,
PacingStyle,
Project,
RoughCutResult,
# Rough cut models
SegmentSpec,
SilenceCandidate,
Timecode,
Timeline,
# Time handling
TimeValue,
Transition,
TransitionType,
VideoClip,
)
from .parser import FCPXMLParser, parse_fcpxml
from .rough_cut import (
RoughCutGenerator,
generate_rough_cut,
generate_segmented_rough_cut,
)
from .templates import (
BUILTIN_TEMPLATES,
ClipSpec,
Template,
TemplateSlot,
apply_template,
list_templates,
)
from .writer import (
FCP_EFFECTS,
FCPXMLModifier,
FCPXMLWriter,
add_marker_to_file,
build_marker_element,
list_effects,
modify_fcpxml,
trim_clip_in_file,
validate_fcpxml,
write_fcpxml,
)
__version__ = "0.6.35"
__author__ = "DareDev256"
__all__ = [
# Version
"__version__",
# Enums & constants
"MarkerType",
"MarkerColor",
"MARKER_XML_TAGS",
"TransitionType",
"PacingStyle",
# Time
"TimeValue",
"Timecode",
# Models
"Keyword",
"Marker",
"Clip",
"AudioClip",
"VideoClip",
"ConnectedClip",
"CompoundClip",
"SilenceCandidate",
"Transition",
"Timeline",
"Project",
"SegmentSpec",
"PacingConfig",
"RoughCutResult",
# Parser
"FCPXMLParser",
"parse_fcpxml",
# Writer
"FCPXMLWriter",
"FCPXMLModifier",
"modify_fcpxml",
"add_marker_to_file",
"trim_clip_in_file",
"write_fcpxml",
"build_marker_element",
"validate_fcpxml",
"FCP_EFFECTS",
"list_effects",
# Templates (v0.6.0)
"Template",
"TemplateSlot",
"ClipSpec",
"BUILTIN_TEMPLATES",
"list_templates",
"apply_template",
# Rough Cut
"RoughCutGenerator",
"generate_rough_cut",
"generate_segmented_rough_cut",
# Diff
"compare_timelines",
"TimelineDiff",
"ClipDiff",
"MarkerDiff",
# Export
"DaVinciExporter",
]