2.3.0
Important
This update bumps minimum requirements for compilation to Xcode 16.0 / Swift 5.9
Major Update Summary
- Fully updated for Swift 6 strict concurrency compatibility
- Restructured library
- 1 umbrella module (TimecodeKit) which imports the entire library and all submoduels
- 3 submodules (
TimecodeKitCore
,TimecodeKitAV
,TimecodeKitUI
) which may each be discretely imported
- Added two new extremely polished and versatile multiplatform SwiftUI controls:
TimecodeField
andTimecodeText
- Added 3 brand new in-depth multiplatform example projects
- Timecode Math: demonstrates basic math
- Timecode UI: demonstrates the new SwiftUI controls available and all of their options
- Movie Timecode: demonstrates reading and writing timecode tracks to QuickTime movie files
- Online docc documentation has been overhauled and now includes docs for all package modules
Detailed Release Notes
TimecodeKitCore
Timecode
- Added
isValid
computed property - Implemented more consistent
Equatable
andHashable
behavior - Renamed
propertiesForTimecodeString
method parameters topropertiesForString
- Added
isWithinValidComponentDigitCounts
property - Refactored
invalidComponents
static methods asTimecode.Components
instance methods - Refactored
stringValueValidated
method asnsAttributedString
, moved to TimecodeKitUI target - Added missing math methods (
add
,adding
,subtract
,subtracting
) for new timecode source value types TextFormatter
- Moved to TimecodeKitUI module
- Renamed
validationAttributes
property toinvalidAttributes
- Added
Timecode.Component
- Added
next(excluding:)
andprevious(excluding:)
methods - Added
first(excluding:)
andlast(excluding:)
methods - Added
numberOfDigits(at:)
method - Added suite of name properties
- Added
Timecode.Components
- Added
init(_ dictionary:)
anddictionary
property (get/set) - Added
init(_ array:)
andarray
property (get/set) - Added
Sequence
conformance to iterate on component values - Added
isWithinValidDigitCount(at:base:)
method
- Added
Timecode.SubFramesBase
:- Added
stringValueVerbose
property - Added
numberOfDigits
property
- Added
- Added new
random
timecode value source String
: RemovedtimecodeFrameRate
public category property
TimecodeKitUI
- SwiftUI Views
- Added new
TimecodeField
SwiftUI view for user-interactive timecode entry Timecode
: RefactoredstringValueValidatedText()
as a new SwiftUITimecodeText
view- Added view modifiers usable on
TimecodeField
andTimecodeText
- Added new
@TimecodeState
SwiftUI property wrapper for storing aTimecode
instance in view
- Added new
AttributedString
- Added
init(_ timecode:format:separatorStyle:validationStyle:)
overload
- Added
Maintenance
- Documentation overhaul
- Unit tests updated
- Minor codebase improvements