Contents

orchetect/swift-fcpxml

A Swift library for efficient parsing and extracting timeline events from FCPXML (Final Cut Pro XML) files, with limited authoring support.

Roadmap

The evolution of this library is ongoing, and features may be added on an as-needed basis.

This library grew out of the more focused need to parse timeline events and has gradually gained more ground in modeling the XML. Currently a substantial amount of the FCPXML DTD is modeled and traversable, but is not entirely complete - some of the more esoteric XML elements have not yet been modeled.

The model is more oriented toward reading, but limited authoring support is available and the library has been built with wider authoring support potentially being added in future in mind.

The core feature-set does allow for comprehensive reasoning on the XML in order to extract timeline events such as markers, and is being used actively in production.

Installation

Swift Package Manager (SPM)

To add this package to an Xcode app project, use:

https://github.com/orchetect/swift-fcpxml as the URL.

To add this package to a Swift package, add it to your package dependencies:

.package(url: "https://github.com/orchetect/swift-fcpxml", from: "0.1.0")

Then add it to your target dependencies:

.product(name: "SwiftFCPXML", package: "swift-fcpxml")

Dependencies

Documentation

No formal documentation yet.

Unit Tests

Core unit tests implemented. More exhaustive tests can be added in future.

Affiliation

The author(s) have no affiliation with Apple or Final Cut Pro. This library is built based on open file data format has been made publicly available by Apple. No reverse-engineering of software was involved in implementation of this library. The goal is to promote easier interoperability for developers.

The library is provided as-is with no warranties. See the LICENSE for more details.

Author

Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.

License

Licensed under the MIT license. See LICENSE for details.

Community & Support

Please do not email maintainers for technical support. Several options are available for issues and questions:

  • Questions and feature ideas can be posted to Discussions.
  • If an issue is a verifiable bug with reproducible steps it may be posted in Issues.

Contributions

Contributions are welcome. Posting in Discussions first prior to new submitting PRs for features or modifications is encouraged.

Code Quality & AI Contribution Policy

In an effort to maintain a consistent level of code quality and safety, this repository was built by hand and is maintained without the use of AI code generation.

AI-assisted contributions are welcome, but must remain modest in scope, maintain the same degree of quality and care, and be thoroughly vetted before acceptance.

Legacy

This repository was formerly a part of swift-daw-file-tools (previously known as DAWFileKit), and was extracted into its own repository in March 2026.

Package Metadata

Repository: orchetect/swift-fcpxml

Default branch: main

README: README.md