Build Information
Successful build of MidiParser, reference master (1ae510), with Swift 6.3 for macOS (SPM) on 11 Apr 2026 11:03:35 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/matsune/MidiParser.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/matsune/MidiParser
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 1ae510b Merge pull request #5 from zhouhao27/master
Cloned https://github.com/matsune/MidiParser.git
Revision (git rev-parse @):
1ae510bde5327156619ddee992c5dbbe0afa359f
SUCCESS checkout https://github.com/matsune/MidiParser.git at master
========================================
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",
"traits": [
"default"
],
"dependencies": [
{
"identity": "midiparser",
"name": "MidiParser",
"url": "https://github.com/matsune/MidiParser.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/MidiParser",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/matsune/MidiParser.git
[1/1006] Fetching midiparser
Fetched https://github.com/matsune/MidiParser.git from cache (0.76s)
Creating working copy for https://github.com/matsune/MidiParser.git
Working copy of https://github.com/matsune/MidiParser.git resolved at master (1ae510b)
warning: '.resolve-product-dependencies': dependency 'midiparser' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/matsune/MidiParser.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
[3/35] Compiling MidiParser MidiExtendedNoteOnEvent.swift
[4/35] Compiling MidiParser MidiExtendedTempo.swift
[5/35] Compiling MidiParser MidiNote.swift
[6/35] Emitting module MidiParser
/Users/admin/builder/spi-builder-workspace/Source/MidiData/EventIterator.swift:103:1: warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
101 | }
102 |
103 | extension MIDINoteMessage: Equatable {
| |- warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
104 | public static func == (lhs: MIDINoteMessage, rhs: MIDINoteMessage) -> Bool {
105 | return lhs.channel == rhs.channel
/Users/admin/builder/spi-builder-workspace/Source/MidiEvent/MidiEventType.swift:55:5: warning: 'public' modifier is redundant for property declared in a public extension
53 | public extension MidiEventType {
54 |
55 | public var debugDescription: String {
| `- warning: 'public' modifier is redundant for property declared in a public extension
56 | switch self {
57 | case .null:
[7/35] Compiling MidiParser EventIterator.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/EventIterator.swift:103:1: warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
101 | }
102 |
103 | extension MIDINoteMessage: Equatable {
| |- warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
104 | public static func == (lhs: MIDINoteMessage, rhs: MIDINoteMessage) -> Bool {
105 | return lhs.channel == rhs.channel
[8/35] Compiling MidiParser HeaderChunk.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/EventIterator.swift:103:1: warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
101 | }
102 |
103 | extension MIDINoteMessage: Equatable {
| |- warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
104 | public static func == (lhs: MIDINoteMessage, rhs: MIDINoteMessage) -> Bool {
105 | return lhs.channel == rhs.channel
[9/35] Compiling MidiParser MidiData.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/EventIterator.swift:103:1: warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
101 | }
102 |
103 | extension MIDINoteMessage: Equatable {
| |- warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
104 | public static func == (lhs: MIDINoteMessage, rhs: MIDINoteMessage) -> Bool {
105 | return lhs.channel == rhs.channel
[10/35] Compiling MidiParser MidiInfoKey.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/EventIterator.swift:103:1: warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
101 | }
102 |
103 | extension MIDINoteMessage: Equatable {
| |- warning: extension declares a conformance of imported type 'MIDINoteMessage' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'AudioToolbox' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
104 | public static func == (lhs: MIDINoteMessage, rhs: MIDINoteMessage) -> Bool {
105 | return lhs.channel == rhs.channel
[11/38] Compiling MidiParser MidiChannelMessage.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiEvent/MidiEventType.swift:55:5: warning: 'public' modifier is redundant for property declared in a public extension
53 | public extension MidiEventType {
54 |
55 | public var debugDescription: String {
| `- warning: 'public' modifier is redundant for property declared in a public extension
56 | switch self {
57 | case .null:
[12/38] Compiling MidiParser MidiEventType.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiEvent/MidiEventType.swift:55:5: warning: 'public' modifier is redundant for property declared in a public extension
53 | public extension MidiEventType {
54 |
55 | public var debugDescription: String {
| `- warning: 'public' modifier is redundant for property declared in a public extension
56 | switch self {
57 | case .null:
[13/38] Compiling MidiParser MidiEventUserData.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiEvent/MidiEventType.swift:55:5: warning: 'public' modifier is redundant for property declared in a public extension
53 | public extension MidiEventType {
54 |
55 | public var debugDescription: String {
| `- warning: 'public' modifier is redundant for property declared in a public extension
56 | switch self {
57 | case .null:
[14/38] Compiling MidiParser MidiSequence.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/MidiSequence.swift:111:27: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
109 | }
110 |
111 | let header = data.withUnsafeBytes {
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
112 | UnsafeRawBufferPointer(start: $0, count: Int(sizeof(HeaderChunk.self))).load(as: HeaderChunk.self)
113 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[15/38] Compiling MidiParser EventInfo.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/MidiSequence.swift:111:27: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
109 | }
110 |
111 | let header = data.withUnsafeBytes {
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
112 | UnsafeRawBufferPointer(start: $0, count: Int(sizeof(HeaderChunk.self))).load(as: HeaderChunk.self)
113 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[16/38] Compiling MidiParser EventProtocol.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/MidiSequence.swift:111:27: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
109 | }
110 |
111 | let header = data.withUnsafeBytes {
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
112 | UnsafeRawBufferPointer(start: $0, count: Int(sizeof(HeaderChunk.self))).load(as: HeaderChunk.self)
113 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[17/38] Compiling MidiParser KeySignature.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiData/MidiSequence.swift:111:27: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
109 | }
110 |
111 | let header = data.withUnsafeBytes {
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead [#DeprecatedDeclaration]
112 | UnsafeRawBufferPointer(start: $0, count: Int(sizeof(HeaderChunk.self))).load(as: HeaderChunk.self)
113 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[18/38] Compiling MidiParser MidiTempoTrack.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:69:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
67 | func getProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
68 | var length = sizeof(T.self)
69 | check(MusicTrackGetProperty(musicTrack, property.inPropertyID, &data, &length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
70 | label: "[MusicTrackGetProperty] \(property)", level: .fatal)
71 | }
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:75:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
73 | func setProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
74 | let length = sizeof(T.self)
75 | check(MusicTrackSetProperty(musicTrack, property.inPropertyID, &data, length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
76 | label: "[MusicTrackSetProperty] \(property)", level: .fatal)
77 | }
[19/38] Compiling MidiParser MidiTrack.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:69:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
67 | func getProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
68 | var length = sizeof(T.self)
69 | check(MusicTrackGetProperty(musicTrack, property.inPropertyID, &data, &length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
70 | label: "[MusicTrackGetProperty] \(property)", level: .fatal)
71 | }
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:75:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
73 | func setProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
74 | let length = sizeof(T.self)
75 | check(MusicTrackSetProperty(musicTrack, property.inPropertyID, &data, length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
76 | label: "[MusicTrackSetProperty] \(property)", level: .fatal)
77 | }
[20/38] Compiling MidiParser SequenceTrackProperty.swift
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:69:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
67 | func getProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
68 | var length = sizeof(T.self)
69 | check(MusicTrackGetProperty(musicTrack, property.inPropertyID, &data, &length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
70 | label: "[MusicTrackGetProperty] \(property)", level: .fatal)
71 | }
/Users/admin/builder/spi-builder-workspace/Source/MidiTrack/MidiTrack.swift:75:72: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
73 | func setProperty<T>(_ property: SequenceTrackProperty, data: inout T) {
74 | let length = sizeof(T.self)
75 | check(MusicTrackSetProperty(musicTrack, property.inPropertyID, &data, length),
| `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'T'; this is likely incorrect because 'T' may contain an object reference.
76 | label: "[MusicTrackSetProperty] \(property)", level: .fatal)
77 | }
[21/38] Compiling MidiParser MidiKeySignature.swift
[22/38] Compiling MidiParser MetaEvent.swift
[23/38] Compiling MidiParser MetaEventProtocol.swift
[24/38] Compiling MidiParser MetaEventType.swift
[25/38] Compiling MidiParser MidiLyric.swift
[26/38] Compiling MidiParser MidiTime.swift
[27/38] Compiling MidiParser MidiTimeSignature.swift
[28/38] Compiling MidiParser MidiAUPresetEvent.swift
[29/38] Compiling MidiParser MidiParameterEvent.swift
[30/38] Compiling MidiParser MidiRawData.swift
[31/38] Compiling MidiParser MidiNoteTrack.swift
[32/38] Compiling MidiParser MidiError.swift
[33/38] Compiling MidiParser GMPatch.swift
[34/38] Compiling MidiParser MidiPatch.swift
[35/38] Compiling MidiParser PatchFamily.swift
[36/38] Compiling MidiParser Byte.swift
[37/38] Compiling MidiParser Ticks.swift
[38/38] Compiling MidiParser Util.swift
Build complete! (9.33s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MidiParser",
"name" : "MidiParser",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "MidiParser",
"targets" : [
"MidiParser"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MidiParser",
"module_type" : "SwiftTarget",
"name" : "MidiParser",
"path" : "Source",
"product_memberships" : [
"MidiParser"
],
"sources" : [
"Error/MidiError.swift",
"Instrument/GMPatch.swift",
"Instrument/MidiPatch.swift",
"Instrument/PatchFamily.swift",
"MidiData/EventIterator.swift",
"MidiData/HeaderChunk.swift",
"MidiData/MidiData.swift",
"MidiData/MidiInfoKey.swift",
"MidiData/MidiSequence.swift",
"MidiEvent/EventInfo.swift",
"MidiEvent/EventProtocol.swift",
"MidiEvent/Meta/KeySignature/KeySignature.swift",
"MidiEvent/Meta/KeySignature/MidiKeySignature.swift",
"MidiEvent/Meta/MetaEvent.swift",
"MidiEvent/Meta/MetaEventProtocol.swift",
"MidiEvent/Meta/MetaEventType.swift",
"MidiEvent/Meta/MidiLyric.swift",
"MidiEvent/Meta/MidiTime.swift",
"MidiEvent/Meta/MidiTimeSignature.swift",
"MidiEvent/MidiAUPresetEvent.swift",
"MidiEvent/MidiChannelMessage.swift",
"MidiEvent/MidiEventType.swift",
"MidiEvent/MidiEventUserData.swift",
"MidiEvent/MidiExtendedNoteOnEvent.swift",
"MidiEvent/MidiExtendedTempo.swift",
"MidiEvent/MidiNote.swift",
"MidiEvent/MidiParameterEvent.swift",
"MidiEvent/MidiRawData.swift",
"MidiTrack/MidiNoteTrack.swift",
"MidiTrack/MidiTempoTrack.swift",
"MidiTrack/MidiTrack.swift",
"MidiTrack/SequenceTrackProperty.swift",
"Util/Byte.swift",
"Util/Ticks.swift",
"Util/Util.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.