I'm developing a Final Cut Pro X workflow extension that transcribes audio and creates a text output. I need to allow users to drag this text directly from my extension into FCPX's timeline as titles.
Current Implementation: Using NSFilePromiseProvider as per Apple's guidelines for drag and drop Generating valid FCPXML (v1.10) with proper structure: Complete resources section with format and asset references Event and project hierarchy Asset clip with connected title elements Proper timing and duration calculations Supporting multiple pasteboard types: com.apple.finalcutpro.xml.v1-10 com.apple.finalcutpro.xml.v1-9 com.apple.finalcutpro.xml
What's Working:
- Drag operation initiates correctly
- File promise provider is set up properly
- FCPXML generation is successful (verified content)
- All required pasteboard types are registered
- Proper logging confirms data is being requested and provided
Current Pasteboard Types Offered:
- com.apple.NSFilePromiseItemMetaData
- com.apple.pasteboard.promised-file-name
- com.apple.pasteboard.promised-suggested-file-name
- com.apple.pasteboard.promised-file-content-type
- Apple files promise pasteboard type
- com.apple.pasteboard.NSFilePromiseID
- com.apple.pasteboard.promised-file-url
- com.apple.finalcutpro.xml.v1-10
- com.apple.finalcutpro.xml.v1-9
- com.apple.finalcutpro.xml
What additional requirements or considerations are needed to make FCPX accept the dragged FCPXML content? Are there specific requirements for workflow extensions regarding drag and drop operations with titles that aren't documented? Any insights, especially from those who have implemented similar functionality in FCPX workflow extensions, would be greatly appreciated.
Technical Details:
- macOS Version: 15.5 (24F74)
- FCPX Version: 11.1.1
- Extension built with SwiftUI and AppKit integration
- Using NSFilePromiseProvider and NSPasteboardItemDataProvider
- Full pasteboard type support for FCPXML versions