diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/Messages/SessionInfo ParseMessage.swift b/Sources/DAWFileKit/ProTools/SessionInfo/Messages/SessionInfo ParseMessage.swift index 27b37e00..8c054315 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/Messages/SessionInfo ParseMessage.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/Messages/SessionInfo ParseMessage.swift @@ -7,7 +7,7 @@ import Foundation extension ProTools.SessionInfo { - public enum ParseMessage: Error { + public enum ParseMessage { /// Info message. /// Can be disregarded and only useful for debugging. case info(String) diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Clip.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Clip.swift index d9125ad7..c75cce8b 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Clip.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Clip.swift @@ -17,3 +17,5 @@ extension ProTools.SessionInfo { public internal(set) var online: Bool = true } } + +extension ProTools.SessionInfo.Clip: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo File.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo File.swift index edf69376..15ff5610 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo File.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo File.swift @@ -16,3 +16,5 @@ extension ProTools.SessionInfo { public internal(set) var online: Bool = true } } + +extension ProTools.SessionInfo.File: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Main.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Main.swift index 2b4384a5..590c693c 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Main.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Main.swift @@ -24,3 +24,5 @@ extension ProTools.SessionInfo { public internal(set) var audioFileCount: Int? } } + +extension ProTools.SessionInfo.Main: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Marker.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Marker.swift index 66878ba9..f3cc0cf0 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Marker.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Marker.swift @@ -106,6 +106,8 @@ extension ProTools.SessionInfo { } } +extension ProTools.SessionInfo.Marker: Sendable { } + extension ProTools.SessionInfo.Marker { /// Marker track type. public enum TrackType: String, Equatable, Hashable { @@ -129,3 +131,5 @@ extension ProTools.SessionInfo.Marker { case track = "Track" } } + +extension ProTools.SessionInfo.Marker.TrackType: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo OrphanData.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo OrphanData.swift index 638ddbeb..82ea3742 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo OrphanData.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo OrphanData.swift @@ -12,3 +12,5 @@ extension ProTools.SessionInfo { public internal(set) var content: [String] } } + +extension ProTools.SessionInfo.OrphanData: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Plugin.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Plugin.swift index d535297c..9e94b5d1 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Plugin.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Plugin.swift @@ -17,3 +17,5 @@ extension ProTools.SessionInfo { public internal(set) var numberOfInstances: String = "" } } + +extension ProTools.SessionInfo.Plugin: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Track.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Track.swift index fe83f863..e5cd8691 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Track.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Track.swift @@ -19,6 +19,10 @@ extension ProTools.SessionInfo { } } +extension ProTools.SessionInfo.Track: Sendable { } + +// MARK: - State + extension ProTools.SessionInfo.Track { /// A track's state. public enum State: String { @@ -30,6 +34,10 @@ extension ProTools.SessionInfo.Track { } } +extension ProTools.SessionInfo.Track.State: Sendable { } + +// MARK: - Clip + extension ProTools.SessionInfo.Track { /// Represents a clip contained on a track. public struct Clip: Equatable, Hashable { @@ -40,12 +48,20 @@ extension ProTools.SessionInfo.Track { public internal(set) var endTime: ProTools.SessionInfo.TimeValue? public internal(set) var duration: ProTools.SessionInfo.TimeValue? public internal(set) var state: State = .unmuted - - /// A clip's state (such as 'Muted', 'Unmuted') - public enum State: String { - // ***** there may be more states possible than this -- need to test - case muted = "Muted" - case unmuted = "Unmuted" - } } } + +extension ProTools.SessionInfo.Track.Clip: Sendable { } + +// MARK: - Clip State + +extension ProTools.SessionInfo.Track.Clip { + /// A clip's state (such as 'Muted', 'Unmuted') + public enum State: String { + // TODO: there may be more states possible than this -- need to test + case muted = "Muted" + case unmuted = "Unmuted" + } +} + +extension ProTools.SessionInfo.Track.Clip.State: Sendable { } diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Versions.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Versions.swift index 1811c992..56baf30e 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Versions.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo Versions.swift @@ -16,6 +16,8 @@ extension ProTools.SessionInfo { } } +extension ProTools.SessionInfo.MarkersListingVersion: Sendable { } + extension ProTools.SessionInfo.MarkersListingVersion { public var columnCount: Int { switch self { diff --git a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo.swift b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo.swift index 993decc4..f503f6ad 100644 --- a/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo.swift +++ b/Sources/DAWFileKit/ProTools/SessionInfo/SessionInfo.swift @@ -41,6 +41,8 @@ extension ProTools { } } +extension ProTools.SessionInfo: Sendable { } + // MARK: - Constants extension ProTools.SessionInfo {