|
1 | | -### Pipeline Neo |
| 1 | +### Pipeline Neo (CLI & Library) |
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | | -**Pipeline Neo** is a modern Swift framework and spiritual successor to the original [Pipeline](https://github.com/reuelk/pipeline), designed for professional video editing workflows. Built with Swift 6.0 and targeting macOS 12+, it provides a comprehensive API for parsing, creating, and manipulating FCPXML files with advanced timecode operations, async/await patterns, and robust error handling. |
| 5 | +**Pipeline Neo** is modern Swift 6 framework for working with Final Cut Pro's FCPXML with full concurrency support and SwiftTimecode integration. Pipeline Neo is a spiritual successor to the original [Pipeline](https://github.com/reuelk/pipeline), modernised for Swift 6.0 and contemporary development practices. |
6 | 6 |
|
7 | | -The framework seamlessly integrates with [TimecodeKit](https://github.com/orchetect/TimecodeKit) to deliver type-safe operations for professional video editing environments. Pipeline Neo is currently in experimental development, focusing on core functionality while providing a foundation for future expansion. The entire codebase has been developed and refined using AI-assisted development practices. |
| 7 | +Pipeline Neo provides a comprehensive API for parsing, creating, and manipulating FCPXML files with advanced timecode operations, async/await patterns, and robust error handling. Built with Swift 6.0 and targeting macOS 12+, it offers type-safe operations, comprehensive test coverage, and seamless integration with SwiftTimecode for professional video editing workflows. |
8 | 8 |
|
9 | | -#### AI Agent Development Collaboration |
| 9 | +Pipeline Neo is currently in an experimental stage and does not yet cover the full range of FCPXML attributes and parameters. It focuses on core functionality while providing a foundation for future expansion and feature completeness. |
10 | 10 |
|
11 | | -Pipeline Neo is refactored and developed using AI agents. [Vigneswaran Rajkumar](https://bsky.app/profile/vigneswaranrajkumar.com) welcomes developers interested in maintaining or contributing to the project through similar AI-assisted development approaches. Those passionate about AI-driven development workflows and looking to collaborate on expanding Pipeline Neo's capabilities are encouraged to reach out. |
12 | | - |
13 | | -Developers with experience in AI agent development and FCPXML processing are invited to contact Vigneswaran Rajkumar for repository access and collaboration on advancing the framework's functionality. |
| 11 | +This codebase is developed using AI agents. |
14 | 12 |
|
15 | 13 | > [!IMPORTANT] |
16 | | -> Pipeline Neo has yet to be extensively tested in production environments, real-world workflows, or application integration. This library serves as a modernised foundation for AI-assisted development and experimentation with FCPXML processing capabilities. |
| 14 | +> Pipeline Neo has yet to be extensively tested in production environments, real-world workflows, or application integration. This library serves as a modernised foundation for AI-assisted development and experimentation with FCPXML processing capabilities. Additionally, this project would not be actively maintained, so please consider this when planning long-term integrations. |
| 15 | +
|
| 16 | +#### Core Features |
| 17 | + |
| 18 | +- Read, create, and modify FCPXML documents via a protocol-oriented API (resources, events, projects, sequences). |
| 19 | +- Load single .fcpxml files or .fcpxmld bundles (FCPXMLFileLoader; sync and async). |
| 20 | +- Parse and validate against bundled DTDs (1.5–1.14): structural/reference validation and DTD schema validation. |
| 21 | +- Typed access to resources, events, clips, and projects (helpers and APIs). |
| 22 | +- Timecode and timing with SwiftTimecode: CMTime, Timecode, FCPXML time strings; all FCP frame rates; frame-boundary conform. |
| 23 | +- Typed element filtering (FCPXMLElementType; multicam vs compound inferred from structure). |
| 24 | +- Cut detection on project spines: edit points (hard cut, transition, gap) and same-clip vs different-clips; sync and async. |
| 25 | +- Version conversion: convert to a target version (e.g. 1.14 → 1.10), strip elements not in target DTD, validate; save as .fcpxml or .fcpxmld (bundle from 1.10+). |
| 26 | +- Per-version DTD validation against a chosen version or the document’s declared version. |
| 27 | +- Media extraction and copy: extract asset/locator URLs, copy to a directory with deduplication; sync and async. |
| 28 | +- Timeline and export: build Timeline, export to FCPXML string or .fcpxmld bundle (optional media copy). |
| 29 | +- Experimental CLI: `pipeline-neo` with `--check-version`, `--convert-version`, `--extract-media` (see CLI README). |
| 30 | +- Sync and async APIs; dependency-injected, concurrency-safe design for Swift 6. |
17 | 31 |
|
18 | 32 | [!button text="View on GitHub" target="blank" variant="info"](https://github.com/TheAcharya/pipeline-neo) |
0 commit comments