TimecodeKit

The definitive SMPTE timecode library for Swift.

MIT License

Stars
87
Committers
2

Bot releases are hidden (Show)

TimecodeKit - 1.2.3

Published by orchetect about 3 years ago

TimecodeKit - 1.2.2

Published by orchetect about 3 years ago

  • Added CaseIterable to enums that didn't have it
  • Changed Timecode.FrameRate.sorted() internal logic
TimecodeKit - 1.2.1

Published by orchetect about 3 years ago

  • Refactored FrameCount which was introduced in 1.2.0 to have more friendly API
  • Added StringFormat (replaces displaySubFrames: Bool throughout the library)
  • Added SubFramesBase (replaces subFramesDivisor throughout the library)
  • Timecode inits and all .toTimecode() methods have been updated to reflect API changes
  • Updated unit tests
TimecodeKit - 1.2.0

Published by orchetect about 3 years ago

  • Refactored how internal math is done
  • Renamed all references to totalElapsedFrames to now be called frameCount using new Timecode.FrameCount type
  • Renamed .init(clamping:) to .init(clampingEach:) (clamp individual timecode components)
  • Renamed .setTimecode(clamping:) to .setTimecode(clampingEach:) (clamp individual timecode components)
  • Added .init(clamping:) methods to clamp to upper/lower extents of valid timecodes
  • Added .setTimecode(clamping:) methods to clamp to upper/lower extents of valid timecodes
  • Various bug fixes
  • Added additional unit tests
  • README Documentation updated
TimecodeKit - 1.1.5

Published by orchetect about 3 years ago

  • No functional changes, just cleanup and GitHub CI set up
TimecodeKit - 1.1.4

Published by orchetect over 3 years ago

  • Added Timecode.stringValueValidatedText() property to return a SwiftUI Text() instance applying formatting to invalid components (either default, or user-supplied as a parameter) similar to how .stringValueValidated returns an NSAttributedString showing invalid components with different fomatting attributes.
  • Minor improvements
TimecodeKit - 1.1.3

Published by orchetect over 3 years ago

  • Added displaySubFrames: Bool = false parameter to all .toTimecode(...) extension methods
TimecodeKit - 1.1.2

Published by orchetect over 3 years ago

  • Improved real time conversion behavior & added additional unit test
TimecodeKit - 1.1.1

Published by orchetect over 3 years ago

  • Timecode.Delta: Fixed access levels, clarified inline help
TimecodeKit - 1.1.0

Published by orchetect over 3 years ago

  • Math operator behavior change
    • +, -, +=, -= now use wrapping: instead of clamping: when underflow/overflow occurs around timecode bounds
    • +, -, +=, -= now converts rhs to lhs's frame rate if they do not match prior to calculating
    • *, /, *=, /= can now take a Double as the rhs operand
  • Added Timecode.Delta
  • Added Timecode.Transformer
  • Removed TimeValue struct and replaced it with TimeInterval (aka Double, from Foundation)
TimecodeKit - 1.0.11

Published by orchetect over 3 years ago

  • Added Identifiable conformance to Timecode.FrameRate (for SwiftUI)
  • Added .compatibleGroupRates to Timecode.FrameRate
  • Updated unit tests
TimecodeKit - 1.0.10

Published by orchetect over 3 years ago

Bumped dependency version to account for RegEx helper method changes

TimecodeKit - 1.0.9

Published by orchetect over 3 years ago

  • Performance improvements: Removed redundant imports, added @inlinable where possible
  • 100fps stringValue bugfix (incorrectly output as 3 digit places for frame number, but is now 2 digits)
  • Added FrameRate.CompatibleGroup and related methods
  • Misc inline help clarification, typos fixed
  • Bumped dependency min versions
TimecodeKit - 1.0.8

Published by orchetect almost 4 years ago

Fixed TCC.toTimecode(rawValuesAt:) to not return Optional

TimecodeKit - 1.0.7

Published by orchetect almost 4 years ago

  • Internalized dependency
TimecodeKit - 1.0.6

Published by orchetect almost 4 years ago

  • Added conformance to Codable
TimecodeKit - 1.0.5

Published by orchetect almost 4 years ago

Minor syntax updates and performance improvements.

TimecodeKit - 1.0.4

Published by orchetect almost 4 years ago

  • Renamed Timecode property .realTime to .realTimeValue
  • Updated some inline documentation for clarity
  • Misc code formatting/prettying
  • Added subframes unit tests for edge cases
  • Updated README with clamping and wrapping documentation examples
TimecodeKit - 1.0.3

Published by orchetect almost 4 years ago

  • Updated FrameRate.stringValue values, added FrameRate.stringValueVerbose
  • Added Timecode.converted(to:)
  • Updated README with documentation
TimecodeKit - 1.0.2

Published by orchetect almost 4 years ago

Version bump

  • Moved utilities to shared dependency for better maintainability
  • Updated README with minor fixes