"""Atalhos de uma linha para as operações mais comuns. Extraído de writer.py — ver fcpxml/writer/__init__.py para o conjunto. """ from typing import Optional from ..models import ( MarkerType, ) from .modifier import FCPXMLModifier # ============================================================================ # CONVENIENCE FUNCTIONS # ============================================================================ def modify_fcpxml(filepath: str) -> FCPXMLModifier: """ Open an FCPXML file for modification. Usage: modifier = modify_fcpxml("project.fcpxml") modifier.add_marker(...) modifier.save("output.fcpxml") """ return FCPXMLModifier(filepath) def add_marker_to_file( filepath: str, timecode: str, name: str, marker_type: str = "standard", output_path: Optional[str] = None ) -> str: """Convenience function to add a marker to an FCPXML file.""" modifier = FCPXMLModifier(filepath) modifier.add_marker_at_timeline( timecode, name, MarkerType.from_string(marker_type) ) return modifier.save(output_path) def trim_clip_in_file( filepath: str, clip_id: str, trim_start: Optional[str] = None, trim_end: Optional[str] = None, output_path: Optional[str] = None ) -> str: """Convenience function to trim a clip in an FCPXML file.""" modifier = FCPXMLModifier(filepath) modifier.trim_clip(clip_id, trim_start, trim_end) return modifier.save(output_path)