Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
2d4ba8d
`Timecode.Components`: Added static `zero` constructor
orchetect Mar 22, 2023
efeed52
`Timecode` refactors
orchetect Mar 22, 2023
8d76c87
`Timecode`: Updated initializers
orchetect Mar 22, 2023
1bd5ccf
Cleanup
orchetect Mar 22, 2023
d97b37e
V2 Refactors
orchetect Mar 22, 2023
5c547bd
Cleanup and file organization
orchetect Mar 22, 2023
06e995c
V2 Refactors
orchetect Mar 22, 2023
fe97197
`Timecode`: Consolidated init overloads
orchetect Mar 27, 2023
ad99989
Refactors
orchetect Mar 27, 2023
78bbca8
Refactors
orchetect Mar 27, 2023
a7b8cb2
Refactors
orchetect Mar 27, 2023
cdd7eff
Refactors
orchetect Mar 27, 2023
1102204
`Timecode`: Custom Codable implementation
orchetect Mar 27, 2023
17cdceb
Refactors
orchetect Mar 27, 2023
14f693d
Refactors
orchetect Mar 27, 2023
54e3995
Refactors
orchetect Mar 27, 2023
b34bb7e
Refactors
orchetect Mar 27, 2023
0672a8b
Refactors
orchetect Mar 28, 2023
81b1919
Updated dev tests
orchetect Mar 28, 2023
18e8d14
Refactors, re-added AVFoundation unit tests
orchetect Mar 28, 2023
0b11e0b
Re-added FeetAndFrames unit tests
orchetect Mar 28, 2023
caff40b
Updated VideoFrameRate unit tests
orchetect Mar 28, 2023
9bed90d
Updated TimecodeTransformer unit tests
orchetect Mar 28, 2023
5337e1b
Refactors, updated unit tests
orchetect Mar 28, 2023
4679d5c
Refactors
orchetect Mar 28, 2023
de06c4a
Refactors
orchetect Mar 28, 2023
9363625
API Update
orchetect Mar 28, 2023
d5a73ec
Refactors
orchetect Mar 28, 2023
0178e70
Updated unit tests
orchetect Mar 28, 2023
af569b1
Refactors
orchetect Mar 28, 2023
4bcf3f8
`Timecode`: Fixed custom Codable
orchetect Mar 28, 2023
67b3818
Updated unit tests
orchetect Mar 28, 2023
dc8fe89
Updated unit tests
orchetect Mar 28, 2023
6fde0cf
Updated unit tests
orchetect Mar 28, 2023
5a1ac19
Removed stale code
orchetect Mar 28, 2023
d1aa71c
Refactors
orchetect Mar 28, 2023
b882653
Refactors
orchetect Mar 28, 2023
747dad0
Refactors
orchetect Mar 28, 2023
d1522a3
Refactors
orchetect Mar 28, 2023
c86b21b
Refactors
orchetect Mar 28, 2023
e506772
Refactors
orchetect Mar 28, 2023
5c917d6
Refactors
orchetect Mar 28, 2023
f812dde
Refactors
orchetect Mar 28, 2023
757c0a1
Refactors
orchetect Mar 28, 2023
3ad7ce2
Added deprecated `TCC`
orchetect Mar 28, 2023
a519119
Cleanup
orchetect Mar 28, 2023
3d20540
API respelling
orchetect Mar 28, 2023
9798fa7
Cleanup
orchetect Mar 28, 2023
455bdb8
Old style Optional unwrap
orchetect Mar 28, 2023
d44053e
Merge remote-tracking branch 'refs/remotes/origin/main'
orchetect Apr 21, 2023
0f6d804
Merge pull request #58 from orchetect/main
orchetect May 5, 2023
f9bfaaa
Merge pull request #60 from orchetect/main
orchetect Jun 15, 2023
c7f7e02
Cleanup
orchetect Jun 15, 2023
805512c
Refactored Timecode source protocols to value structs, refactored mat…
orchetect Jun 15, 2023
ce828d5
Updated API Changes
orchetect Jun 15, 2023
f5d8932
Bypassed 2.0.0 API deprecations
orchetect Jun 15, 2023
d233b10
`Timecode.Zero` now internal access level
orchetect Jun 15, 2023
bc88e42
Merge pull request #62 from orchetect/main
orchetect Jun 15, 2023
3b28b27
Merge branch 'v2b' of https://github.com/orchetect/TimecodeKit into v2b
orchetect Jun 15, 2023
3df0b34
Updated README
orchetect Jun 15, 2023
f0ef12b
Updated README
orchetect Jun 15, 2023
bf6c85d
Updated README
orchetect Jun 15, 2023
00510a4
Updated README
orchetect Jun 15, 2023
f285b59
Added `.rational(_ numerator:, _ denominator:)` time source value
orchetect Jun 18, 2023
1abb9ad
Added `.feetAndFrames(feet:frames:_:_:)` time source value
orchetect Jun 18, 2023
edb440e
Updated README, added 1.x -> 2.x migration guide
orchetect Jun 18, 2023
f8919b2
Updated docs
orchetect Jun 18, 2023
cfdb624
`Timecode`: Added `add(_:)`, `adding(_:)`, `subtract(_:)` and `subtra…
orchetect Jun 18, 2023
6322082
Updated unit tests
orchetect Jun 18, 2023
04579b5
Timecode: Added `add(_:)` and `adding(_:)` with time source argument
orchetect Jun 18, 2023
461cd63
Timecode: Added `subtract(_:)` and `subtracting(_:)` with time source…
orchetect Jun 18, 2023
f3d9af5
`Timecode`: Added division by timecode to return Double
orchetect Jun 18, 2023
f1b86d7
Updated README
orchetect Jun 18, 2023
a013236
Updated README
orchetect Jun 18, 2023
ca0a48d
`VideoFrameRate(fps:)` better accommodates nominal VFR rates (#59)
orchetect Jun 19, 2023
29dfc45
Updated unit tests
orchetect Jun 19, 2023
139950f
Fixed visionOS 1.0 (xrOS) build
orchetect Jun 27, 2023
a50a557
Updated README
orchetect Sep 21, 2023
79e6ebe
Updated 2.x migration guide
orchetect Sep 21, 2023
c2d6f4c
Updated unit tests
orchetect Sep 21, 2023
1bfa131
Updated README
orchetect Sep 21, 2023
9bf0f8e
Fixed unit tests for new AVFoundation API
orchetect Sep 21, 2023
f1ef3aa
SwiftFormat pass
orchetect Sep 21, 2023
7bafef8
Updated .swiftformat
orchetect Sep 21, 2023
8cf5ced
SwiftFormat pass
orchetect Sep 21, 2023
e79dd69
Resolved invalid docc references
orchetect Sep 21, 2023
2469a5b
`Timecode.UpperLimit`: Renamed cases to use lowerCamelCase
orchetect Sep 21, 2023
9e2b231
Refactored README to new DocC documentation
orchetect Sep 21, 2023
3831904
Updated docs
orchetect Sep 23, 2023
3fbb34f
Fixed visionOS build
orchetect Sep 23, 2023
e3577bc
Added conditional visionOS support to Package
orchetect Sep 23, 2023
a0760d1
Updated README and comments
orchetect Sep 23, 2023
2162607
Fixed Xcode 14 build
orchetect Sep 23, 2023
733383d
`stringValueValidatedText()`: Renamed `withDefaultModifiers` paramete…
orchetect Sep 23, 2023
87bad61
Updated README
orchetect Sep 23, 2023
0262c7f
Cleanup
orchetect Sep 23, 2023
b8bafe7
Updated docs
orchetect Sep 23, 2023
ca401f3
`stringValueValidated()`: Renamed `withDefaultAttributes` parameter t…
orchetect Sep 23, 2023
7fb82ab
`TimecodeFrameRate.CompatibleGroup`: Renamed cases using lowerCamelCase
orchetect Sep 23, 2023
3bec18b
Updated docs
orchetect Sep 23, 2023
5ff218b
Updated docs
orchetect Sep 23, 2023
5890e46
Updated docs
orchetect Sep 23, 2023
432a120
Updated docs
orchetect Sep 23, 2023
5078e6a
Updated docs
orchetect Sep 23, 2023
7d05b21
Updated docs
orchetect Sep 23, 2023
eb61ffb
Updated docs
orchetect Sep 24, 2023
210983f
`Timecode.decode(timecode:)` is now internal
orchetect Sep 24, 2023
c79bb21
Timecode source protocols are now internal
orchetect Sep 24, 2023
d9297c8
Updated docs
orchetect Sep 24, 2023
842b2be
Timecode source protocol adoptions are now internal
orchetect Sep 24, 2023
bca42c1
`Timecode`: `cmTime` renamed to `cmTimeValue`
orchetect Sep 24, 2023
657648b
Cleanup
orchetect Sep 24, 2023
7abb449
`TimecodeInterval`: `cmTime` renamed to `cmTimeValue`
orchetect Sep 24, 2023
b9903e0
`TimecodeFrameRate.CompatibleGroup`: Updated docs, added lazy
orchetect Sep 24, 2023
6c84ac2
`TimecodeFrameRate.CompatibleGroup`: Renamed cases to be more descrip…
orchetect Sep 25, 2023
11208d1
`TimecodeFrameRate.CompatibleGroup`: Fixed capitalization
orchetect Sep 25, 2023
600a522
Updated docs
orchetect Sep 25, 2023
50861e2
Merge branch 'main' into v2
orchetect Sep 25, 2023
2f67111
Updated docs: refactored Getting Started topics to top-level topics
orchetect Sep 25, 2023
d4f5134
`Fraction`: Renamed `toCMTime()` method to `cmTimeValue` property
orchetect Sep 25, 2023
8ba0928
`CMTime`: Renamed `toFraction()` method to `fractionValue` property
orchetect Sep 25, 2023
bf2c155
Moved `rateCMTime` and `frameDurationCMTime` to `FrameRateProtocol`
orchetect Sep 25, 2023
8a80af1
Updated docs
orchetect Sep 25, 2023
5c5cff9
Updated docs
orchetect Sep 25, 2023
3758a69
`BinaryInteger`: `numberOfDigits` utility property now internal
orchetect Sep 25, 2023
c1bc0de
`String` extension methods `timecodeFrameRate()` and `videoFrameRate(…
orchetect Sep 25, 2023
d76f248
Updated docs
orchetect Sep 25, 2023
ae8bf0e
Updated docs
orchetect Sep 25, 2023
ee7cbbd
Renamed `StringFormatParameter` to `StringFormatOption`
orchetect Sep 25, 2023
66ac84a
Access levels
orchetect Sep 25, 2023
c0dbd5c
Updated docs
orchetect Sep 25, 2023
385bc95
Updated docs
orchetect Sep 25, 2023
ee45958
Updated docs
orchetect Sep 25, 2023
42b5243
`FeetAndFrames`: Added string constructor
orchetect Sep 25, 2023
9aae256
Updated docs
orchetect Sep 25, 2023
1da8e00
Updated docs
orchetect Sep 28, 2023
c56bc79
Added docs for MTC and LTC
orchetect Sep 28, 2023
9229be9
Updated docs
orchetect Sep 28, 2023
3d997a7
Updated docs
orchetect Sep 28, 2023
24ea562
Updated docs
orchetect Sep 28, 2023
9daa5d1
`TimecodeFrameRate`: Renamed cases with 'fps' prefix instead of under…
orchetect Sep 28, 2023
0f31473
`VideoFrameRate`: Renamed cases with 'fps' prefix instead of underscore
orchetect Sep 28, 2023
9a48355
`Timecode.UpperLimit`: Renamed cases with 'max' prefix instead of und…
orchetect Sep 28, 2023
cb94acd
`Timecode.SubFramesBase`: Renamed cases with 'max' prefix instead of …
orchetect Sep 28, 2023
52e577a
Updated docs
orchetect Sep 28, 2023
901cc56
Formatting
orchetect Sep 28, 2023
7d602d2
Added docs for TimecodeKitUI
orchetect Sep 28, 2023
cff9e2e
Updated docs
orchetect Sep 28, 2023
8cc8605
Updated docs
orchetect Sep 28, 2023
8b5f978
Fixed Xcode 13 build errors
orchetect Sep 28, 2023
44dc8bb
Fixed Xcode 13 build errors
orchetect Sep 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .swiftformat
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
--funcattributes prev-line
--groupedextension "MARK: %c"
--guardelse auto
--header "\n {file}\n TimecodeKit • https://github.com/orchetect/TimecodeKit\n © {year} Steffan Andrews • Licensed under MIT License\n"
--header "\n {file}\n TimecodeKit • https://github.com/orchetect/TimecodeKit\n © 2020-{year} Steffan Andrews • Licensed under MIT License\n"
--hexgrouping 4,8
--hexliteralcase uppercase
--ifdef no-indent
Expand All @@ -37,7 +37,7 @@
--markcategories true
--markextensions always
--marktypes always
--maxwidth 100
--maxwidth 140
--modifierorder
--nevertrailing
--nospaceoperators
Expand Down
Binary file added Images/timecode-init.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 29 additions & 7 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.5
// swift-tools-version: 5.5
// (be sure to update the .swift-version file when this Swift version changes)

import PackageDescription
Expand All @@ -11,7 +11,16 @@ let package = Package(
// certain features of the library are marked @available only on newer versions of OSes,
// but a platforms spec here determines what base platforms
// the library is currently supported on
platforms: [.macOS(.v10_12), .iOS(.v9), .tvOS(.v9), .watchOS(.v2)],

// Add visionOS platform in supported Swift toolchain / Xcode versions
// TODO: Not yet implemented in Xcode 15.0 but can be added later
platforms: {
// #if swift(>=5.9.1)
// [.macOS(.v10_12), .iOS(.v9), .tvOS(.v9), .watchOS(.v2), .visionOS(.v1)]
// #else
[.macOS(.v10_12), .iOS(.v9), .tvOS(.v9), .watchOS(.v2)]
// #endif
}(),

products: [
.library(
Expand All @@ -28,7 +37,7 @@ let package = Package(
],

dependencies: [
// used only for Dev tests, not part of regular unit test
// used only for Dev tests, not part of regular unit tests
// .package(url: "https://github.com/orchetect/XCTestUtils", from: "1.0.3")
],

Expand All @@ -44,10 +53,20 @@ let package = Package(
name: "TimecodeKitUI",
dependencies: ["TimecodeKit"],
linkerSettings: [
.linkedFramework("SwiftUI", .when(platforms: [.macOS, .iOS, .tvOS, .watchOS]))
.linkedFramework(
"SwiftUI",
.when(platforms: {
// Xcode 15 beta 8 (Swift 5.9) introduced visionOS
#if swift(>=5.9)
[.macOS, .iOS, .tvOS, .watchOS, .visionOS]
#else
[.macOS, .iOS, .tvOS, .watchOS]
#endif
}())
)
]
),

// unit tests
.testTarget(
name: "TimecodeKit-Unit-Tests",
Expand All @@ -56,14 +75,17 @@ let package = Package(
),

// dev tests
// (not meant to be run as unit tests, but only to verify library's computational integrity when making major changes to the library, as these tests require modification to be meaningful)
// (not meant to be run as unit tests, but only to verify library's computational integrity when making major changes to the
// library, as these tests require modification to be meaningful)
.testTarget(
name: "TimecodeKit-Dev-Tests",
dependencies: ["TimecodeKit"] // , "SegmentedProgress"
dependencies: ["TimecodeKit"] // , "XCTestUtils"
)
]
)

// MARK: - Conditional Unit Testing

func addShouldTestFlag() {
package.targets.filter { $0.isTest }.forEach { target in
if target.swiftSettings == nil { target.swiftSettings = [] }
Expand Down
Loading