The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Waveform, reference main (06d625), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 09:52:39 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pixlwave/Waveform.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pixlwave/Waveform
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 06d625f Add LICENSE
Cloned https://github.com/pixlwave/Waveform.git
Revision (git rev-parse @):
06d625fc6729b0654292b3678bf214d8ad38e1ee
SUCCESS checkout https://github.com/pixlwave/Waveform.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "waveform",
      "name": "Waveform",
      "url": "https://github.com/pixlwave/Waveform.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Waveform",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/pixlwave/Waveform.git
[1/446] Fetching waveform
Fetched https://github.com/pixlwave/Waveform.git from cache (2.43s)
Creating working copy for https://github.com/pixlwave/Waveform.git
Working copy of https://github.com/pixlwave/Waveform.git resolved at main (06d625f)
warning: '.resolve-product-dependencies': dependency 'waveform' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/pixlwave/Waveform.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/11] Compiling Waveform SizeKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/SizeKey.swift:4:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | struct SizeKey: PreferenceKey {
 4 |     static var defaultValue: CGSize = .zero
   |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 5 |
 6 |     static func reduce(value: inout CGSize, nextValue: () -> CGSize) {
[4/11] Compiling Waveform Waveform.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:10:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
    |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:12:6: error: 'State' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
    |      `- error: 'State' is only available in macOS 10.15 or newer
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:13:6: error: 'State' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
 13 |     @State private var panGestureValue: CGFloat = 0
    |      `- error: 'State' is only available in macOS 10.15 or newer
 14 |     @Binding var selectedSamples: SampleRange
 15 |     @Binding var selectionEnabled: Bool
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:14:6: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
    |      `- error: 'Binding' is only available in macOS 10.15 or newer
 15 |     @Binding var selectionEnabled: Bool
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:15:6: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
 15 |     @Binding var selectionEnabled: Bool
    |      `- error: 'Binding' is only available in macOS 10.15 or newer
 16 |
 17 |     /// Creates an instance powered by the supplied generator.
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:22:64: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 20 |     ///   - selectedSamples: A binding to a `SampleRange` to update with the selection chosen in the waveform.
 21 |     ///   - selectionEnabled: A binding to enable/disable selection on the waveform
 22 |     public init(generator: WaveformGenerator, selectedSamples: Binding<SampleRange>, selectionEnabled: Binding<Bool>) {
    |            |                                                   `- error: 'Binding' is only available in macOS 10.15 or newer
    |            `- note: add @available attribute to enclosing initializer
 23 |         self.generator = generator
 24 |         self._selectedSamples = selectedSamples
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:22:104: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 20 |     ///   - selectedSamples: A binding to a `SampleRange` to update with the selection chosen in the waveform.
 21 |     ///   - selectionEnabled: A binding to enable/disable selection on the waveform
 22 |     public init(generator: WaveformGenerator, selectedSamples: Binding<SampleRange>, selectionEnabled: Binding<Bool>) {
    |            |                                                                                           `- error: 'Binding' is only available in macOS 10.15 or newer
    |            `- note: add @available attribute to enclosing initializer
 23 |         self.generator = generator
 24 |         self._selectedSamples = selectedSamples
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:28:27: error: 'View' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 26 |     }
 27 |
 28 |     public var body: some View {
    |                |          `- error: 'View' is only available in macOS 10.15 or newer
    |                `- note: add @available attribute to enclosing property
 29 |         GeometryReader { geometry in
 30 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:61:20: error: 'Gesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:75:19: error: 'Gesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         |         `- error: 'Gesture' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:23:9: error: setter for 'generator' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 20 |     ///   - selectedSamples: A binding to a `SampleRange` to update with the selection chosen in the waveform.
 21 |     ///   - selectionEnabled: A binding to enable/disable selection on the waveform
 22 |     public init(generator: WaveformGenerator, selectedSamples: Binding<SampleRange>, selectionEnabled: Binding<Bool>) {
    |            `- note: add @available attribute to enclosing initializer
 23 |         self.generator = generator
    |         |- error: setter for 'generator' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 24 |         self._selectedSamples = selectedSamples
 25 |         self._selectionEnabled = selectionEnabled
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:33:45: error: reference to member 'systemBackground' cannot be resolved without a contextual type
 31 |                 // invisible rectangle needed to register gestures that aren't on top of the waveform
 32 |                 Rectangle()
 33 |                     .foregroundColor(Color(.systemBackground).opacity(0.01))
    |                                             `- error: reference to member 'systemBackground' cannot be resolved without a contextual type
 34 |
 35 |                 Renderer(waveformData: generator.sampleData)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:68:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
    :
 66 |                 zoomGestureValue = $0
 67 |             }
 68 |             .onEnded {
    |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |              `- note: add 'if #available' version check
 69 |                 let zoomAmount = $0 / zoomGestureValue
 70 |                 zoom(amount: zoomAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:62:9: error: 'MagnificationGesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
    |         |- error: 'MagnificationGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 63 |             .onChanged {
 64 |                 let zoomAmount = $0 / zoomGestureValue
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:63:14: error: 'onChanged' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 64 |                 let zoomAmount = $0 / zoomGestureValue
 65 |                 zoom(amount: zoomAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:66:17: error: setter for 'zoomGestureValue' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
 64 |                 let zoomAmount = $0 / zoomGestureValue
 65 |                 zoom(amount: zoomAmount)
 66 |                 zoomGestureValue = $0
    |                 |- error: setter for 'zoomGestureValue' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 67 |             }
 68 |             .onEnded {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:68:14: error: 'onEnded' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
    :
 66 |                 zoomGestureValue = $0
 67 |             }
 68 |             .onEnded {
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 69 |                 let zoomAmount = $0 / zoomGestureValue
 70 |                 zoom(amount: zoomAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:71:17: error: setter for 'zoomGestureValue' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
    :
 69 |                 let zoomAmount = $0 / zoomGestureValue
 70 |                 zoom(amount: zoomAmount)
 71 |                 zoomGestureValue = 1
    |                 |- error: setter for 'zoomGestureValue' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 72 |             }
 73 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:82:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
    :
 80 |                 panGestureValue = $0.translation.width
 81 |             }
 82 |             .onEnded {
    |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |              `- note: add 'if #available' version check
 83 |                 let panAmount = $0.translation.width - panGestureValue
 84 |                 pan(offset: -panAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:76:9: error: 'DragGesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
    |         |- error: 'DragGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 77 |             .onChanged {
 78 |                 let panAmount = $0.translation.width - panGestureValue
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:76:9: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
    |         |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 77 |             .onChanged {
 78 |                 let panAmount = $0.translation.width - panGestureValue
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:77:14: error: 'onChanged' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 78 |                 let panAmount = $0.translation.width - panGestureValue
 79 |                 pan(offset: -panAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:80:17: error: setter for 'panGestureValue' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
 78 |                 let panAmount = $0.translation.width - panGestureValue
 79 |                 pan(offset: -panAmount)
 80 |                 panGestureValue = $0.translation.width
    |                 |- error: setter for 'panGestureValue' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 81 |             }
 82 |             .onEnded {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:82:14: error: 'onEnded' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
    :
 80 |                 panGestureValue = $0.translation.width
 81 |             }
 82 |             .onEnded {
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 83 |                 let panAmount = $0.translation.width - panGestureValue
 84 |                 pan(offset: -panAmount)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:85:17: error: setter for 'panGestureValue' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
    :
 83 |                 let panAmount = $0.translation.width - panGestureValue
 84 |                 pan(offset: -panAmount)
 85 |                 panGestureValue = 0
    |                 |- error: setter for 'panGestureValue' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 86 |             }
 87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:95:9: error: cannot pass as inout because setter for 'generator' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 87 |     }
 88 |
 89 |     func zoom(amount: CGFloat) {
    |          `- note: add @available attribute to enclosing instance method
 90 |         let count = generator.renderSamples.count
 91 |         let newCount = CGFloat(count) / amount
    :
 93 |         let renderStartSample = max(0, generator.renderSamples.lowerBound + delta)
 94 |         let renderEndSample = min(generator.renderSamples.upperBound - delta, Int(generator.audioBuffer.frameLength))
 95 |         generator.renderSamples = renderStartSample..<renderEndSample
    |         |- error: cannot pass as inout because setter for 'generator' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 96 |     }
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:95:9: error: setter for 'renderSamples' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 87 |     }
 88 |
 89 |     func zoom(amount: CGFloat) {
    |          `- note: add @available attribute to enclosing instance method
 90 |         let count = generator.renderSamples.count
 91 |         let newCount = CGFloat(count) / amount
    :
 93 |         let renderStartSample = max(0, generator.renderSamples.lowerBound + delta)
 94 |         let renderEndSample = min(generator.renderSamples.upperBound - delta, Int(generator.audioBuffer.frameLength))
 95 |         generator.renderSamples = renderStartSample..<renderEndSample
    |         |- error: setter for 'renderSamples' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 96 |     }
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:111:9: error: cannot pass as inout because setter for 'generator' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 96 |     }
 97 |
 98 |     func pan(offset: CGFloat) {
    |          `- note: add @available attribute to enclosing instance method
 99 |         let count = generator.renderSamples.count
100 |         var startSample = generator.sample(generator.renderSamples.lowerBound, with: offset)
    :
109 |         }
110 |
111 |         generator.renderSamples = startSample..<endSample
    |         |- error: cannot pass as inout because setter for 'generator' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
112 |     }
113 | }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:111:9: error: setter for 'renderSamples' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 96 |     }
 97 |
 98 |     func pan(offset: CGFloat) {
    |          `- note: add @available attribute to enclosing instance method
 99 |         let count = generator.renderSamples.count
100 |         var startSample = generator.sample(generator.renderSamples.lowerBound, with: offset)
    :
109 |         }
110 |
111 |         generator.renderSamples = startSample..<endSample
    |         |- error: setter for 'renderSamples' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
112 |     }
113 | }
[5/11] Compiling Waveform Renderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:6:35: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          |                        `- error: 'Path' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:7:9: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
   |         |- error: 'Path' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
 9 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:8:18: error: 'move(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
   |                  |- error: 'move(to:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
 9 |
10 |             for index in 0..<waveformData.count {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:13:22: error: 'addLine(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
   :
11 |                 let x = CGFloat(index)
12 |                 let max = rect.midY + (rect.midY * CGFloat(waveformData[index].max))
13 |                 path.addLine(to: CGPoint(x: x, y: max))
   |                      |- error: 'addLine(to:)' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
14 |             }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:19:22: error: 'addLine(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
   :
17 |                 let x = CGFloat(index)
18 |                 let min = rect.midY + (rect.midY * CGFloat(waveformData[index].min))
19 |                 path.addLine(to: CGPoint(x: x, y: min))
   |                      |- error: 'addLine(to:)' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
20 |             }
21 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:22:18: error: 'closeSubpath()' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
   :
20 |             }
21 |
22 |             path.closeSubpath()
   |                  |- error: 'closeSubpath()' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
23 |         }
24 |     }
[6/11] Compiling Waveform GenerateTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:20:32: warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 2 | import Accelerate
 3 |
 4 | class GenerateTask {
   |       `- note: class 'GenerateTask' does not conform to the 'Sendable' protocol
 5 |     let audioBuffer: AVAudioPCMBuffer
 6 |     private var isCancelled = false
   :
18 |
19 |         DispatchQueue.global(qos: .userInteractive).async {
20 |             let channels = Int(self.audioBuffer.format.channelCount)
   |                                `- warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |             let length = renderSamples.count
22 |             let samplesPerPoint = length / Int(width)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:54:17: warning: capture of 'completion' with non-sendable type '([SampleData]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 // don't call completion if the task has been cancelled
53 |                 guard !self.isCancelled else { return }
54 |                 completion(sampleData)
   |                 |- warning: capture of 'completion' with non-sendable type '([SampleData]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
55 |             }
56 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:28:24: warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 2 | import Accelerate
 3 |
 4 | class GenerateTask {
   |       `- note: class 'GenerateTask' does not conform to the 'Sendable' protocol
 5 |     let audioBuffer: AVAudioPCMBuffer
 6 |     private var isCancelled = false
   :
26 |             DispatchQueue.concurrentPerform(iterations: Int(width)) { point in
27 |                 // don't begin work if the task has been cancelled
28 |                 guard !self.isCancelled else { return }
   |                        `- warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 |
30 |                 var data: SampleData = .zero
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:32:35: warning: capture of 'floatChannelData' with non-sendable type 'UnsafePointer<UnsafeMutablePointer<Float>>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
30 |                 var data: SampleData = .zero
31 |                 for channel in 0..<channels {
32 |                     let pointer = floatChannelData[channel].advanced(by: renderSamples.lowerBound + (point * samplesPerPoint))
   |                                   `- warning: capture of 'floatChannelData' with non-sendable type 'UnsafePointer<UnsafeMutablePointer<Float>>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |                     let stride = vDSP_Stride(self.audioBuffer.stride)
34 |                     let length = vDSP_Length(samplesPerPoint)
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
  |                       `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 |     public let _rawValue: Builtin.RawPointer
3 |     public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:48:43: warning: mutation of captured var 'sampleData' in concurrently-executing code; this is an error in the Swift 6 language mode
46 |
47 |                 // sync to hold completion handler until all iterations are complete
48 |                 DispatchQueue.main.sync { sampleData[point] = data }
   |                                           `- warning: mutation of captured var 'sampleData' in concurrently-executing code; this is an error in the Swift 6 language mode
49 |             }
50 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:53:24: warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 2 | import Accelerate
 3 |
 4 | class GenerateTask {
   |       `- note: class 'GenerateTask' does not conform to the 'Sendable' protocol
 5 |     let audioBuffer: AVAudioPCMBuffer
 6 |     private var isCancelled = false
   :
51 |             DispatchQueue.main.async {
52 |                 // don't call completion if the task has been cancelled
53 |                 guard !self.isCancelled else { return }
   |                        `- warning: capture of 'self' with non-sendable type 'GenerateTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
54 |                 completion(sampleData)
55 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:54:17: warning: capture of 'completion' with non-sendable type '([SampleData]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |                 // don't call completion if the task has been cancelled
53 |                 guard !self.isCancelled else { return }
54 |                 completion(sampleData)
   |                 |- warning: capture of 'completion' with non-sendable type '([SampleData]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
55 |             }
56 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Models/GenerateTask.swift:54:28: warning: reference to captured var 'sampleData' in concurrently-executing code; this is an error in the Swift 6 language mode
52 |                 // don't call completion if the task has been cancelled
53 |                 guard !self.isCancelled else { return }
54 |                 completion(sampleData)
   |                            `- warning: reference to captured var 'sampleData' in concurrently-executing code; this is an error in the Swift 6 language mode
55 |             }
56 |         }
[7/11] Compiling Waveform Highlight.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:6:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 7 |
 8 |     func path(in rect: CGRect) -> Path {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:8:35: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          |                        `- error: 'Path' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:9:9: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
   |         |- error: 'Path' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
11 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:18:18: error: 'move(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
   :
16 |             let endIndex = Int(endPosition)
17 |
18 |             path.move(to: CGPoint(x: startPosition, y: rect.midY))
   |                  |- error: 'move(to:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
19 |
20 |             for index in startIndex..<endIndex {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:23:22: error: 'addLine(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
   :
21 |                 let x = CGFloat(index)
22 |                 let max = rect.midY + (rect.midY * CGFloat(generator.sampleData[index].max))
23 |                 path.addLine(to: CGPoint(x: x, y: max))
   |                      |- error: 'addLine(to:)' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
24 |             }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:29:22: error: 'addLine(to:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
   :
27 |                 let x = CGFloat(index)
28 |                 let min = rect.midY + (rect.midY * CGFloat(generator.sampleData[index].min))
29 |                 path.addLine(to: CGPoint(x: x, y: min))
   |                      |- error: 'addLine(to:)' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
30 |             }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:32:18: error: 'closeSubpath()' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
   :
30 |             }
31 |
32 |             path.closeSubpath()
   |                  |- error: 'closeSubpath()' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
33 |         }
34 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:10:71: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
   |                                                                       `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
11 |
12 |             let startPosition = max(0, generator.position(of: selectedSamples.lowerBound))
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:12:40: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   :
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
11 |
12 |             let startPosition = max(0, generator.position(of: selectedSamples.lowerBound))
   |                                        `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 |             let endPosition = min(generator.position(of: selectedSamples.upperBound), generator.width)
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:13:35: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   :
11 |
12 |             let startPosition = max(0, generator.position(of: selectedSamples.lowerBound))
13 |             let endPosition = min(generator.position(of: selectedSamples.upperBound), generator.width)
   |                                   `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
14 |
15 |             let startIndex = Int(startPosition)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:13:87: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   :
11 |
12 |             let startPosition = max(0, generator.position(of: selectedSamples.lowerBound))
13 |             let endPosition = min(generator.position(of: selectedSamples.upperBound), generator.width)
   |                                                                                       `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
14 |
15 |             let startIndex = Int(startPosition)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:22:60: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   :
20 |             for index in startIndex..<endIndex {
21 |                 let x = CGFloat(index)
22 |                 let max = rect.midY + (rect.midY * CGFloat(generator.sampleData[index].max))
   |                                                            `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
23 |                 path.addLine(to: CGPoint(x: x, y: max))
24 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:28:60: warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |                            `- note: property declared here
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   :
26 |             for index in (startIndex..<endIndex).reversed() {
27 |                 let x = CGFloat(index)
28 |                 let min = rect.midY + (rect.midY * CGFloat(generator.sampleData[index].min))
   |                                                            `- warning: main actor-isolated property 'generator' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
29 |                 path.addLine(to: CGPoint(x: x, y: min))
30 |             }
[8/11] Compiling Waveform Handle.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:5:6: error: 'Binding' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   |      `- error: 'Binding' is only available in macOS 10.15 or newer
 6 |
 7 |     @EnvironmentObject var generator: WaveformGenerator
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:7:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
 6 |
 7 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 8 |
 9 |     var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:9:20: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:20:20: error: 'Gesture' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
22 |             .onChanged { // $0.location is in the Circle's coordinate space
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:40:6: error: 'Binding' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   |      `- error: 'Binding' is only available in macOS 10.15 or newer
41 |
42 |     @EnvironmentObject var generator: WaveformGenerator
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:42:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
41 |
42 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
43 |
44 |     var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:44:20: error: 'View' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:55:20: error: 'Gesture' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
57 |             .onChanged { // $0.location is in the Circle's coordinate space
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:10:9: error: 'VStack' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
   |         |- error: 'VStack' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
11 |             Rectangle()
12 |                 .frame(width: 2)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:11:13: error: 'Rectangle' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
   |             |- error: 'Rectangle' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
12 |                 .frame(width: 2)
13 |             Circle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:12:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
12 |                 .frame(width: 2)
   |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
13 |             Circle()
14 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:13:13: error: 'Circle' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
12 |                 .frame(width: 2)
13 |             Circle()
   |             |- error: 'Circle' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
14 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
15 |                 .gesture(drag)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:14:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
12 |                 .frame(width: 2)
13 |             Circle()
14 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
   |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
15 |                 .gesture(drag)
16 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:14:75: error: 'center' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
12 |                 .frame(width: 2)
13 |             Circle()
14 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
   |                                                                           |- error: 'center' is only available in macOS 10.15 or newer
   |                                                                           `- note: add 'if #available' version check
15 |                 .gesture(drag)
16 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:15:18: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
   :
13 |             Circle()
14 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
15 |                 .gesture(drag)
   |                  |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
16 |         }
17 |         .offset(x: generator.position(of: selectedSamples.lowerBound) - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:17:10: error: 'offset(x:y:)' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
   :
15 |                 .gesture(drag)
16 |         }
17 |         .offset(x: generator.position(of: selectedSamples.lowerBound) - radius)
   |          |- error: 'offset(x:y:)' is only available in macOS 10.15 or newer
   |          `- note: add 'if #available' version check
18 |     }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:25:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
22 |             .onChanged { // $0.location is in the Circle's coordinate space
23 |                 updateSelection($0.location.x - radius)
24 |             }
25 |             .onEnded {
   |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |              `- note: add 'if #available' version check
26 |                 updateSelection($0.location.x - radius)
27 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:21:9: error: 'DragGesture' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
   |         |- error: 'DragGesture' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
22 |             .onChanged { // $0.location is in the Circle's coordinate space
23 |                 updateSelection($0.location.x - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:21:9: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
   |         |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
   |         `- note: add 'if #available' version check
22 |             .onChanged { // $0.location is in the Circle's coordinate space
23 |                 updateSelection($0.location.x - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:22:14: error: 'onChanged' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
22 |             .onChanged { // $0.location is in the Circle's coordinate space
   |              |- error: 'onChanged' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
23 |                 updateSelection($0.location.x - radius)
24 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:25:14: error: 'onEnded' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
22 |             .onChanged { // $0.location is in the Circle's coordinate space
23 |                 updateSelection($0.location.x - radius)
24 |             }
25 |             .onEnded {
   |              |- error: 'onEnded' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
26 |                 updateSelection($0.location.x - radius)
27 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:33:9: error: setter for 'selectedSamples' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
28 |     }
29 |
30 |     func updateSelection(_ offset: CGFloat) {
   |          `- note: add @available attribute to enclosing instance method
31 |         let sample = generator.sample(selectedSamples.lowerBound, with: offset)
32 |         guard sample < selectedSamples.upperBound else { return }
33 |         selectedSamples = sample..<selectedSamples.upperBound
   |         |- error: setter for 'selectedSamples' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
34 |     }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:45:9: error: 'VStack' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
   |         |- error: 'VStack' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
46 |             Rectangle()
47 |                 .frame(width: 2)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:46:13: error: 'Rectangle' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
   |             |- error: 'Rectangle' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
47 |                 .frame(width: 2)
48 |             Circle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:47:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
47 |                 .frame(width: 2)
   |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
48 |             Circle()
49 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:48:13: error: 'Circle' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
47 |                 .frame(width: 2)
48 |             Circle()
   |             |- error: 'Circle' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
49 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
50 |                 .gesture(drag)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:49:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
47 |                 .frame(width: 2)
48 |             Circle()
49 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
   |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
50 |                 .gesture(drag)
51 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:49:75: error: 'center' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
47 |                 .frame(width: 2)
48 |             Circle()
49 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
   |                                                                           |- error: 'center' is only available in macOS 10.15 or newer
   |                                                                           `- note: add 'if #available' version check
50 |                 .gesture(drag)
51 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:50:18: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
   :
48 |             Circle()
49 |                 .frame(width: 2 * radius, height: 2 * radius, alignment: .center)
50 |                 .gesture(drag)
   |                  |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
   |                  `- note: add 'if #available' version check
51 |         }
52 |         .offset(x: generator.position(of: selectedSamples.upperBound) - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:52:10: error: 'offset(x:y:)' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
   :
50 |                 .gesture(drag)
51 |         }
52 |         .offset(x: generator.position(of: selectedSamples.upperBound) - radius)
   |          |- error: 'offset(x:y:)' is only available in macOS 10.15 or newer
   |          `- note: add 'if #available' version check
53 |     }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:60:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
57 |             .onChanged { // $0.location is in the Circle's coordinate space
58 |                 updateSelection($0.location.x - radius)
59 |             }
60 |             .onEnded {
   |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |              `- note: add 'if #available' version check
61 |                 updateSelection($0.location.x - radius)
62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:56:9: error: 'DragGesture' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
   |         |- error: 'DragGesture' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
57 |             .onChanged { // $0.location is in the Circle's coordinate space
58 |                 updateSelection($0.location.x - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:56:9: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
   |         |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
   |         `- note: add 'if #available' version check
57 |             .onChanged { // $0.location is in the Circle's coordinate space
58 |                 updateSelection($0.location.x - radius)
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:57:14: error: 'onChanged' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
57 |             .onChanged { // $0.location is in the Circle's coordinate space
   |              |- error: 'onChanged' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
58 |                 updateSelection($0.location.x - radius)
59 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:60:14: error: 'onEnded' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
57 |             .onChanged { // $0.location is in the Circle's coordinate space
58 |                 updateSelection($0.location.x - radius)
59 |             }
60 |             .onEnded {
   |              |- error: 'onEnded' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
61 |                 updateSelection($0.location.x - radius)
62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:68:9: error: setter for 'selectedSamples' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
63 |     }
64 |
65 |     func updateSelection(_ offset: CGFloat) {
   |          `- note: add @available attribute to enclosing instance method
66 |         let sample = generator.sample(selectedSamples.upperBound, with: offset)
67 |         guard sample > selectedSamples.lowerBound else { return }
68 |         selectedSamples = selectedSamples.lowerBound..<sample
   |         |- error: setter for 'selectedSamples' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
69 |     }
70 | }
[9/11] Compiling Waveform SampleData.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/11] Emitting module Waveform
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:12:6: error: 'Published' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
10 |
11 |     private var generateTask: GenerateTask?
12 |     @Published private(set) var sampleData: [SampleData] = []
   |      `- error: 'Published' is only available in macOS 10.15 or newer
13 |
14 |     /// The range of samples to display. The value will update as the waveform is zoomed and panned.
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
13 |
14 |     /// The range of samples to display. The value will update as the waveform is zoomed and panned.
15 |     @Published public var renderSamples: SampleRange {
   |      `- error: 'Published' is only available in macOS 10.15 or newer
16 |         didSet { refreshData() }
17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:5:33: error: 'ObservableObject' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              |                  `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:5:6: error: 'Binding' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   |      `- error: 'Binding' is only available in macOS 10.15 or newer
 6 |
 7 |     @EnvironmentObject var generator: WaveformGenerator
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:7:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
 6 |
 7 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 8 |
 9 |     var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:9:20: error: 'View' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
 7 |     @EnvironmentObject var generator: WaveformGenerator
 8 |
 9 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
10 |         VStack(spacing: 0) {
11 |             Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:20:20: error: 'Gesture' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct StartHandle: View {
   |        `- note: add @available attribute to enclosing struct
 4 |     let radius: CGFloat = 12
 5 |     @Binding var selectedSamples: SampleRange
   :
18 |     }
19 |
20 |     var drag: some Gesture {
   |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
21 |         DragGesture()
22 |             .onChanged { // $0.location is in the Circle's coordinate space
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:40:6: error: 'Binding' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   |      `- error: 'Binding' is only available in macOS 10.15 or newer
41 |
42 |     @EnvironmentObject var generator: WaveformGenerator
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:42:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
41 |
42 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
43 |
44 |     var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:44:20: error: 'View' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
42 |     @EnvironmentObject var generator: WaveformGenerator
43 |
44 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
45 |         VStack(spacing: 0) {
46 |             Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Handle.swift:55:20: error: 'Gesture' is only available in macOS 10.15 or newer
36 |
37 |
38 | struct EndHandle: View {
   |        `- note: add @available attribute to enclosing struct
39 |     let radius: CGFloat = 12
40 |     @Binding var selectedSamples: SampleRange
   :
53 |     }
54 |
55 |     var drag: some Gesture {
   |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
56 |         DragGesture()
57 |             .onChanged { // $0.location is in the Circle's coordinate space
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:6:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
   |      `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
 7 |
 8 |     func path(in rect: CGRect) -> Path {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Highlight.swift:8:35: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Highlight: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let selectedSamples: SampleRange
 5 |
 6 |     @EnvironmentObject var generator: WaveformGenerator
 7 |
 8 |     func path(in rect: CGRect) -> Path {
   |          |                        `- error: 'Path' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
 9 |         Path { path in
10 |             guard selectedSamples.count > 0, selectedSamples.overlaps(generator.renderSamples) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Renderer.swift:6:35: error: 'Path' is only available in macOS 10.15 or newer
 1 | import SwiftUI
 2 |
 3 | struct Renderer: Shape {
   |        `- note: add @available attribute to enclosing struct
 4 |     let waveformData: [SampleData]
 5 |
 6 |     func path(in rect: CGRect) -> Path {
   |          |                        `- error: 'Path' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
 7 |         Path { path in
 8 |             path.move(to: CGPoint(x: 0, y: rect.midY))
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/SizeKey.swift:4:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | struct SizeKey: PreferenceKey {
 4 |     static var defaultValue: CGSize = .zero
   |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 5 |
 6 |     static func reduce(value: inout CGSize, nextValue: () -> CGSize) {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:10:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
    |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:12:6: error: 'State' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
    |      `- error: 'State' is only available in macOS 10.15 or newer
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:13:6: error: 'State' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
 13 |     @State private var panGestureValue: CGFloat = 0
    |      `- error: 'State' is only available in macOS 10.15 or newer
 14 |     @Binding var selectedSamples: SampleRange
 15 |     @Binding var selectionEnabled: Bool
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:14:6: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
 12 |     @State private var zoomGestureValue: CGFloat = 1
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
    |      `- error: 'Binding' is only available in macOS 10.15 or newer
 15 |     @Binding var selectionEnabled: Bool
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:15:6: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 13 |     @State private var panGestureValue: CGFloat = 0
 14 |     @Binding var selectedSamples: SampleRange
 15 |     @Binding var selectionEnabled: Bool
    |      `- error: 'Binding' is only available in macOS 10.15 or newer
 16 |
 17 |     /// Creates an instance powered by the supplied generator.
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:22:64: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 20 |     ///   - selectedSamples: A binding to a `SampleRange` to update with the selection chosen in the waveform.
 21 |     ///   - selectionEnabled: A binding to enable/disable selection on the waveform
 22 |     public init(generator: WaveformGenerator, selectedSamples: Binding<SampleRange>, selectionEnabled: Binding<Bool>) {
    |            |                                                   `- error: 'Binding' is only available in macOS 10.15 or newer
    |            `- note: add @available attribute to enclosing initializer
 23 |         self.generator = generator
 24 |         self._selectedSamples = selectedSamples
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:22:104: error: 'Binding' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 20 |     ///   - selectedSamples: A binding to a `SampleRange` to update with the selection chosen in the waveform.
 21 |     ///   - selectionEnabled: A binding to enable/disable selection on the waveform
 22 |     public init(generator: WaveformGenerator, selectedSamples: Binding<SampleRange>, selectionEnabled: Binding<Bool>) {
    |            |                                                                                           `- error: 'Binding' is only available in macOS 10.15 or newer
    |            `- note: add @available attribute to enclosing initializer
 23 |         self.generator = generator
 24 |         self._selectedSamples = selectedSamples
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:28:27: error: 'View' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 26 |     }
 27 |
 28 |     public var body: some View {
    |                |          `- error: 'View' is only available in macOS 10.15 or newer
    |                `- note: add @available attribute to enclosing property
 29 |         GeometryReader { geometry in
 30 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:61:20: error: 'Gesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 59 |     }
 60 |
 61 |     var zoom: some Gesture {
    |         |          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 62 |         MagnificationGesture()
 63 |             .onChanged {
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/Views/Waveform.swift:75:19: error: 'Gesture' is only available in macOS 10.15 or newer
  7 |
  8 | /// An interactive waveform generated from an `AVAudioFile`.
  9 | public struct Waveform: View {
    |               `- note: add @available attribute to enclosing struct
 10 |     @ObservedObject var generator: WaveformGenerator
 11 |
    :
 73 |     }
 74 |
 75 |     var pan: some Gesture {
    |         |         `- error: 'Gesture' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 76 |         DragGesture()
 77 |             .onChanged {
[11/11] Compiling Waveform WaveformGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:12:6: error: 'Published' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
10 |
11 |     private var generateTask: GenerateTask?
12 |     @Published private(set) var sampleData: [SampleData] = []
   |      `- error: 'Published' is only available in macOS 10.15 or newer
13 |
14 |     /// The range of samples to display. The value will update as the waveform is zoomed and panned.
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
13 |
14 |     /// The range of samples to display. The value will update as the waveform is zoomed and panned.
15 |     @Published public var renderSamples: SampleRange {
   |      `- error: 'Published' is only available in macOS 10.15 or newer
16 |         didSet { refreshData() }
17 |     }
<unknown>:0: error: cannot convert value of type 'KeyPath<WaveformGenerator, [SampleData]>' to expected argument type 'ReferenceWritableKeyPath<WaveformGenerator, [SampleData]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<WaveformGenerator, SampleRange>' (aka 'KeyPath<WaveformGenerator, Range<Int>>') to expected argument type 'ReferenceWritableKeyPath<WaveformGenerator, SampleRange>' (aka 'ReferenceWritableKeyPath<WaveformGenerator, Range<Int>>')
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:5:33: error: 'ObservableObject' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              |                  `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:38:9: error: setter for 'renderSamples' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
23 |     /// Creates an instance from an `AVAudioFile`.
24 |     /// - Parameter audioFile: The audio file to generate waveform data from.
25 |     public init?(audioFile: AVAudioFile) {
   |            `- note: add @available attribute to enclosing initializer
26 |         let capacity = AVAudioFrameCount(audioFile.length)
27 |         guard let audioBuffer = AVAudioPCMBuffer(pcmFormat: audioFile.processingFormat, frameCapacity: capacity) else { return nil }
   :
36 |         self.audioFile = audioFile
37 |         self.audioBuffer = audioBuffer
38 |         self.renderSamples = 0..<Int(capacity)
   |         |- error: setter for 'renderSamples' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
39 |     }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/Waveform/View Model/WaveformGenerator.swift:46:13: error: setter for 'sampleData' is only available in macOS 10.15 or newer
 3 |
 4 | /// An object that generates waveform data from an `AVAudioFile`.
 5 | public class WaveformGenerator: ObservableObject {
   |              `- note: add @available attribute to enclosing class
 6 |     /// The audio file initially used to create the generator.
 7 |     public let audioFile: AVAudioFile
   :
39 |     }
40 |
41 |     func refreshData() {
   |          `- note: add @available attribute to enclosing instance method
42 |         generateTask?.cancel()
43 |         generateTask = GenerateTask(audioBuffer: audioBuffer)
44 |
45 |         generateTask?.resume(width: width, renderSamples: renderSamples) { sampleData in
46 |             self.sampleData = sampleData
   |             |- error: setter for 'sampleData' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
47 |         }
48 |     }
BUILD FAILURE 6.0 macosSpm