0.3.11 (2024-09-26)
- Codebase updates for better compatibility with Xcode 16/Swift 6 and changes in dependency API (#110)
0.3.10 (2024-09-20)
- Codebase updates for better compatibility with Xcode 16/Swift 6 (#110)
- Added
Identifiable
conformance to all relevant exported types
0.3.9 (2024-05-28)
- (SPM Library only) Fixed Xcode compiler error when adding MarkersExtractor as a dependency (#102)
0.3.8 (2024-05-27)
- Added support for new Excel XLSX export profile (#102)
0.3.7 (2024-05-20)
- Extraction now supports FCPXML containing a standalone clip without a project (#99)
- Output folder name timestamp now formats as 24-hour time (#100)
- Renamed
projectTimecode
naming mode totimelineNameAndTimecode
(#99)
0.3.6 (2024-05-05)
- Added
Clip Keywords
manifest field (#63) - Added
Reel
,Scene
,Take
,Clip In
,Clip Out
manifest fields (#39) - Added
--use-chapter-marker-thumbnails
CLI flag to enable chapter marker thumbnail pins (#32)
- Added better filename sanitation which can avoid failure to generate image files (#95)
- Fixed issue where log file may not be created on disk if its target parent path does not exist (#96)
0.3.5 (2024-04-24)
- Added
youtube
export profile to generate YouTube chapters (#38)
- Fixed regression where CSV/TSV did not export thumbnail images (#94)
0.3.4 (2024-04-23)
- Added
--include-disabled
CLI flag. Default is excluded unless flag is passed. (#4)
- Resolved an issue where Titles clips were assigned an audio role when they should not have an audio role. (#9)
- Resolved a bug in
RolesExtractor
where some roles may be missing. (#88) - Resolved a bug where thumbnail images were being generated for profiles that don't support thumbnails. (#93)
- Renamed CLI executable to
markers-extractor
(#86)
- Fixed issue where placeholder GIF file was sometimes not generated (#90)
0.3.3 (2024-01-22)
- Progress percentage messages are now always omitted from log file (#75)
- Added codesign and notarization to macOS binary
- Added new macOS pkg release with notarization ticket stapled
- Fixed log file corruption when progress percentage messages were enabled (#75)
- Improved frame rate scaling accuracy for additional frame rates (#81)
0.3.2 (2024-01-03)
- Default export profile is now CSV (#74, #82)
- Fixed issue where marker timecode locations were sometimes incorrect when a project contained mixed frame rates (#81)
- Fixed regression where labels would not be overlaid on animated GIF thumbnails (#83)
0.3.1 (2024-01-01)
- Added CSV export profile (#74)
- Added TSV export profile (#74)
- Removed CSV manifest file export for Airtable and Notion profiles (#21)
- CSV export correctly encodes fields that contain double-quote and/or comma characters (#74)
- Fixed potential crash due to race condition during animated GIF extraction
0.3.0 (2023-12-16)
- Added
--exclude-role
CLI flag (#57) - Added
RolesExtractor
class to library to extract roles from a FCPXML file (#69) - Added extraction date to result file (#76)
- Added CLI version number to result file (#75)
- Now logs version number when starting extraction (#75)
- If no media file is found, extraction now continues without thumbnail image generation (#77)
- Removed
--include-outside-clip-boundaries
CLI flag (#78)
- Complete rewrite of XML parser/extractor (in DAWFileKit dependency) with substantial performance improvements
0.2.8 (2023-11-30)
- Added unique icon image for captions (#8)
- Renamed icon image filenames to improve clarity and alphabetical sorting (#72)
- Removed
--exclude-exclusive-roles
CLI flag (#5) As an alternative, users can sort and filter byClip Type
manifest field after extraction.
- Improved accuracy for parsing roles from complex timelines
- Default roles encoded lowercase in FCPXML will now be title-cased to match FCP (#66)
0.2.7 (2023-11-26)
- Added
--markers-source
CLI flag, allowing import of markers and/or captions (#8)
0.2.6 (2023-11-24)
MarkersExtractor.extract()
now returns result information (#68)- Added result file JSON key
outputFolder
containing the final output path of the extracted files (#67) - Added result file JSON key
profile
containing the profile identifier for the profile that was used (#67)
- Changed
--done-filename
filename to--result-file-path
path (#67) - Removed
--create-done-file
flag as it is now redundant (#67) If--done-file-path
is specified, a result file will be written to disk and if not specified, none will be written. - Renamed result file JSON key
csvPath
tocsvManifestPath
- Renamed result file JSON key
jsonPath
tojsonManifestPath
0.2.5 (2023-11-22)
- Markers within compound clips are now discarded (#7)
- Renamed "Type" manifest field to "Marker Type" (#63)
- Added "Clip Type" manifest field (#62)
- Removed "Clip Filename" manifest field (#65)
- Fixed bug where image generation could fail when project start time was later than 00:00:00:00 (#37)
0.2.4 (2023-11-21)
- Markers exactly on clip boundaries are now considered within clip bounds (#56)
- Output folder name is now uniqued if it already exists instead of aborting process (#35)
- Substantial internal refactors to FCPXML parser, which fixes several bugs and increases maintainability
0.2.3 (2023-10-31)
- Added
--no-progress
CLI flag to suppress progress output to console (#31)
- Resolved issue where CLI was not outputting progress to the console in a release build (#31)
- Performance and reliability improvements for thumbnail image generation (#49)
0.2.2 (2023-10-31)
- Progress reporting is now more relevant and reliable (#31)
- Fixed hang during thumbnail image generation on Intel systems (#53)
- Fixed potential crash when media contains fewer frames than required to produce an animated GIF
0.2.1 (2023-10-30)
- Updated README and added new icon thanks to Bor Jen Goh
- Thumbnail image generation is now multithreaded to improve performance (#49)
- CLI now outputs progress percentage to the console (#31)
- Added
async
/await
support (#49) - Errors thrown now provide more granular error cases (#46)
MarkersExtractor
now conforms toProgressReporting
(#31)- Most concrete types now conform to
Sendable
- Internal refactors and improvements
0.2.0 (2023-04-28)
- Major internal refactors to improve reliability and scalability for possible future formats and feature additions
- Unit tests added with automated GitHub CI
- Default done file renamed to done.json and content is now JSON formatted (#2)
- Added
--exclude-exclusive-roles <video, audio>
CLI flag (#5) - Markers that share the same ID will gain unique incrementing number suffixes by default (#9)
- Markers are now sorted chronologically by timecode (#10)
- Added
--label-hide-names
CLI flag to hide label names on thumbnail images (#16) - Added
--done-filename <filename>
CLI argument to customize done filename (#17) - Added
--media-search-path <path>
argument to allow custom media search path(s) (#20) - Added Airtable export profile (
--export-format airtable
) (#21) - Added MIDI file export profile (
--export-format midi
) (#23) - Added
--enable-subframes
CLI flag to show subframes in all timecode strings (#29) - Added
--include-outside-clip-boundaries
CLI flag (#34) - Added
--folder-format
CLI flag (#35) - Added
--no-media
CLI flag (#40) - Added JSON manifest file output in addition to CSV (#44)
--id-naming-mode
and--label
CLI arguments now take short-form label IDs (#15)- Empty roles with no default role receive placeholder role (#33)
- Redundant subroles are now stripped in metadata output (#33)
- Parsing marker locations is now more reliable (#34)
- Correctly supports all FCP frame rates (including drop frame) (#3)
- Library name is now URL decoded and stripped of file extension (#13)
- Markers outside of clip bounds now correctly log a warning (#34)
0.1.1 (2022-09-08)
- Create
done.txt
file instead of.done
(ad378e5)
0.1.0 (2022-09-07)
- Added
--label-opacity
option (e9b2418)