Bot releases are hidden (Show)
Published by orchetect over 1 year ago
AVAsset
: Added videoFrameRate(interlaced:)
AVAsset
: Renamed frameRate()
to timecodeFrameRate()
TimecodeFrameRate
: Added videoFrameRate(interlaced:)
VideoFrameRate
: Added init(asset:)
VideoFrameRate
: Fixed typo in _48p
case namePublished by orchetect over 1 year ago
Published by orchetect over 1 year ago
Timecode
: Added roundedUp(toNearest:)
/ roundUp(toNearest:)
methodsTimecode
: Added roundedDown(toNearest:)
/ roundDown(toNearest:)
methodsPublished by orchetect almost 2 years ago
TimecodeInterval
: Added init(cmTime:)
and cmTime
propertyCMTime
: Added toTimecodeInterval(at:)
methodFraction(_: CMTime)
and CMTime(_: Fraction)
initsFraction(...).toCMTime()
and CMTime(...).toFraction()
methodsPublished by orchetect almost 2 years ago
Timecode
: Negative value calculations now more accurateTimecode
: init(rawValues:)
negative input now returns Components
with only largest non-zero component negatedTimecode.FrameCount
: Added isNegative
TimecodeInterval
: Added Equatable
, Hashable
conformanceTimecodeInterval
: Added init(_: Fraction)
and rationalValue
TimecodeInterval
: Removed Sign
, now using FloatingPointSign
TimecodeInterval
: sign
property is now publicFraction
: Added abs()
Fraction
: Added isNegative
, negate()
, negated()
Fraction
: isSimplestForm
renamed to isReduced
Fraction
: Added toTimecodeInterval(at:)
convenience methodFull Changelog: https://github.com/orchetect/TimecodeKit/compare/1.6.2...1.6.3
Published by orchetect almost 2 years ago
Timecode
: Rational value (fraction, including CMTime
) now supports subframes.Full Changelog: https://github.com/orchetect/TimecodeKit/compare/1.6.1...1.6.2
Published by orchetect almost 2 years ago
Timecode
: Added CMTime
init, setTimecode(CMTime)
methods and cmTime
propertyFraction
: refined instance methodsFull Changelog: https://github.com/orchetect/TimecodeKit/compare/1.6.0...1.6.1
Published by orchetect almost 2 years ago
Version 1.6.0 introduces a new frame rate paradigm:
Timecode.FrameRate
to top-level TimecodeFrameRate
VideoFrameRate
In summary:
VideoFrameRate
rates are actual video format rates (25p, 25i, 29.97p, 29.97i, etc.)
init(fps:)
TimecodeFrameRate
: timecodeFrameRate(drop:)
TimecodeFrameRate
rates are timecode display rates (25, 29.97, 29.97d, etc.)Some file formats encode video frame rate and/or time locations (timecode) in rational number notation: a fraction of two whole number integers. (AAF encodes video rate this way, whereas FCPXML (Final Cut Pro) encodes both video rate and time locations as fractions.)
TimecodeKit now incorporates initializers and properties to facilitate the use of rational fractions, and can convert to/from them.
Published by orchetect almost 2 years ago
FrameCount
):
clamping
, wrapping
, and rawValues
variants to both init
and setTimecode()
methods.String
, TCC
) had these. (#49)Int
overloads for audio samples in addition to where Double
was already used (#50)Published by orchetect almost 2 years ago
fraction
is now correct (inherently fixes aafMetadata
and CMTime
as well)Timecode(raw:)
video frame rate heuristic now omits 30d/60d/120d from being possible matches, as they are not video rates and are display rates onlyPublished by orchetect about 2 years ago
Timecode
Comparable calculation regressionPublished by orchetect about 2 years ago
TimecodeInterval
Timecode.Delta
(marked deprecated) to be top-level TimecodeInterval
Timecode
unary operators -
and +
to construct a new TimecodeInterval
instanceTimecode
: Added init(flattening: TimecodeInterval)
TimecodeTransformer
Timecode.Transformer
(marked deprecated) to be top-level TimecodeTransformer
TimecodeTransformer
: now allows multiple transforms in seriesTimecode
: Added .transform(using: TimecodeTransformer)
and .transformed(using: TimecodeTransformer)
Published by orchetect about 2 years ago
Published by orchetect over 2 years ago
Published by orchetect almost 3 years ago
Published by orchetect almost 3 years ago
00;00;00;00
and all permutationsPublished by orchetect almost 3 years ago
FrameRate(raw:favorDropFrame:)
initFrameRate.fraction
FrameRate
Formats for convenience:
.aafMetadata
returns pre-formatted strings for AAF XML fields.frameDurationCMTime
returns an AVFoundation CMTime
instance using the rate fraction to represent duration of 1 frame in secondsPublished by orchetect about 3 years ago
Published by orchetect about 3 years ago
Published by orchetect about 3 years ago