Releases: orchetect/TimecodeKit
1.6.11
1.6.10
1.6.9
New
-
Added Feet+Frames conversion support (Avid / Pro Tools 35mm 4-perf standard)
- New
FeetAndFrames
struct - Added related
Timecode
init
andfeetAndFramesValue
property
- New
-
Timecode
/TimecodeFrameRate
: Added 96 fps & 95.904 fps (96/1.001) (#57) -
VideoFrameRate
: Added 96p & 95.9p (#57) -
VideoFrameRate
: Added 59.94i
Improvements
Timecode.SubFramesBase
: AddedIdentifiable
conformanceVideoFrameRate
: Addedstrict: Bool = false
parameter toinit(fps:interlaced:)
Fixes
VideoFrameRate
: Fixed typo in_59_94p.stringValue
string value
1.6.8
AVFoundation Related
It is now possible to fully read, mutate, and create timecode tracks in supported video file formats (.mov, .mp4).
AVAsset
: Improved resiliency of reading timecodeAVMutableMovie
- Added
addTimecodeTrack(startTimecode:duration:extensions:fileType:)
- Added
replaceTimecodeTrack(startTimecode:duration:extensions:fileType:)
- Added
Timecode
: AddedcmFormatDescription(extensions:)
In a future release, some of the AVAsset methods will be improved to handle AVAsset timecode tracks with multiple samples (ie: not just a start timecode and total duration, but subranges as well if the track contains edit segments). For the time being, all origin timecodes are returned for timecode tracks without ranges. The first of which is the start timecode which is most important.
Timecode Comparison and Sorting
Timecode
: Addedcompare(to:timelineStart:)
method to returnComparisonResult
- Collection of
Timecode
: Added mutatingsort(ascending:timelineStart:)
- Collection of
Timecode
: Addedsorted(ascending:timelineStart:) -> [Timecode]
- Collection of
Timecode
: AddedisSorted(ascending:timelineStart:) -> Bool
- Added new
TimecodeSortComparator
Misc
Timecode
: AddedisZero
propertyTimecode.FrameCount
: AddedisZero
propertyTimecode.FrameCount.Value
: AddedisZero
property- Readme updated
- Unit tests updated
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
Timecode
: Negative value calculations now more accurateTimecode
:init(rawValues:)
negative input now returnsComponents
with only largest non-zero component negatedTimecode.FrameCount
: AddedisNegative
TimecodeInterval
: AddedEquatable
,Hashable
conformanceTimecodeInterval
: Addedinit(_: Fraction)
andrationalValue
TimecodeInterval
: RemovedSign
, now usingFloatingPointSign
TimecodeInterval
:sign
property is now publicFraction
: Addedabs()
Fraction
: AddedisNegative
,negate()
,negated()
Fraction
:isSimplestForm
renamed toisReduced
Fraction
: AddedtoTimecodeInterval(at:)
convenience method
Full Changelog: 1.6.2...1.6.3
1.6.2
Timecode
: Rational value (fraction, includingCMTime
) now supports subframes.
Subframes were previously truncated in 1.6.1.
Full Changelog: 1.6.1...1.6.2