4
4
//
5
5
6
6
import Foundation
7
+ @_implementationOnly import SwiftRadix
7
8
8
9
extension MIDI . Event : CustomStringConvertible , CustomDebugStringConvertible {
9
10
@@ -24,7 +25,10 @@ extension MIDI.Event: CustomStringConvertible, CustomDebugStringConvertible {
24
25
attrStr = " \( event. attribute) , "
25
26
}
26
27
27
- return " noteOn( \( event. note) , vel: \( event. velocity) , \( attrStr) chan: \( event. channel) , group: \( event. group) ) "
28
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
29
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
30
+
31
+ return " noteOn( \( event. note) , vel: \( event. velocity) , \( attrStr) chan: \( channelString) , group: \( groupString) ) "
28
32
29
33
case . noteOff( let event) :
30
34
let attrStr : String
@@ -35,134 +39,150 @@ extension MIDI.Event: CustomStringConvertible, CustomDebugStringConvertible {
35
39
attrStr = " \( event. attribute) , "
36
40
}
37
41
38
- return " noteOff( \( event. note) , vel: \( event. velocity) , \( attrStr) chan: \( event. channel) , group: \( event. group) ) "
42
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
43
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
44
+
45
+ return " noteOff( \( event. note) , vel: \( event. velocity) , \( attrStr) chan: \( channelString) , group: \( groupString) ) "
39
46
40
47
case . noteCC( let event) :
48
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
49
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
41
50
42
- return " noteCC(note: \( event. note) , controller: \( event. controller) , val: \( event. value) , chan: \( event . channel ) , group: \( event . group ) ) "
51
+ return " noteCC(note: \( event. note) , controller: \( event. controller) , val: \( event. value) , chan: \( channelString ) , group: \( groupString ) ) "
43
52
44
53
case . notePitchBend( let event) :
54
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
55
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
45
56
46
- return " notePitchBend(note: \( event. note) , value: \( event. value) , chan: \( event . channel ) , group: \( event . group ) ) "
57
+ return " notePitchBend(note: \( event. note) , value: \( event. value) , chan: \( channelString ) , group: \( groupString ) ) "
47
58
48
59
case . notePressure( let event) :
60
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
61
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
49
62
50
- return " notePressure(note: \( event. note) , amount: \( event. amount) , chan: \( event . channel ) , group: \( event . group ) ) "
63
+ return " notePressure(note: \( event. note) , amount: \( event. amount) , chan: \( channelString ) , group: \( groupString ) ) "
51
64
52
65
case . noteManagement( let event) :
66
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
67
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
53
68
54
- return " noteManagement(options: \( event. optionFlags) , chan: \( event . channel ) , group: \( event . group ) ) "
69
+ return " noteManagement(options: \( event. optionFlags) , chan: \( channelString ) , group: \( groupString ) ) "
55
70
56
71
case . cc( let event) :
72
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
73
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
57
74
58
- return " cc( \( event. controller. number) , val: \( event. value) , chan: \( event . channel ) , group: \( event . group ) ) "
75
+ return " cc( \( event. controller. number) , val: \( event. value) , chan: \( channelString ) , group: \( groupString ) ) "
59
76
60
77
case . programChange( let event) :
78
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
79
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
61
80
62
81
switch event. bank {
63
82
case . noBankSelect:
64
- return " prgChange( \( event. program) , chan: \( event . channel ) , group: \( event . group ) ) "
83
+ return " prgChange( \( event. program) , chan: \( channelString ) , group: \( groupString ) ) "
65
84
case . bankSelect( let bank) :
66
- return " prgChange( \( event. program) , bank: \( bank) , chan: \( event . channel ) , group: \( event . group ) ) "
85
+ return " prgChange( \( event. program) , bank: \( bank) , chan: \( channelString ) , group: \( groupString ) ) "
67
86
}
68
87
69
88
case . pressure( let event) :
89
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
90
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
70
91
71
- return " pressure(amount: \( event. amount) , chan: \( event . channel ) , group: \( event . group ) ) "
92
+ return " pressure(amount: \( event. amount) , chan: \( channelString ) , group: \( groupString ) ) "
72
93
73
94
case . pitchBend( let event) :
95
+ let channelString = event. channel. value. hex. stringValue ( prefix: true )
96
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
74
97
75
- return " pitchBend( \( event. value) , chan: \( event . channel ) , group: \( event . group ) ) "
98
+ return " pitchBend( \( event. value) , chan: \( channelString ) , group: \( groupString ) ) "
76
99
77
100
78
101
// ----------------------
79
102
// MARK: System Exclusive
80
103
// ----------------------
81
104
82
105
case . sysEx7( let event) :
106
+ let dataString = event. data. hex. stringValue ( padTo: 2 , prefix: true )
107
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
83
108
84
- let dataString = event. data
85
- . hex. stringValue ( padTo: 2 , prefix: true )
86
-
87
- return " sysEx7(mfr: \( event. manufacturer) , data: [ \( dataString) ], group: \( event. group) ) "
109
+ return " sysEx7(mfr: \( event. manufacturer) , data: [ \( dataString) ], group: \( groupString) ) "
88
110
89
111
case . universalSysEx7( let event) :
112
+ let dataString = event. data. hex. stringValue ( padTo: 2 , prefix: true )
113
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
90
114
91
- let dataString = event. data
92
- . hex. stringValue ( padTo: 2 , prefix: true )
93
-
94
- return " universalSysEx7( \( event. universalType) , deviceID: \( event. deviceID) , subID1: \( event. subID1) , subID2: \( event. subID2) , data: [ \( dataString) ], group: \( event. group) ) "
115
+ return " universalSysEx7( \( event. universalType) , deviceID: \( event. deviceID) , subID1: \( event. subID1) , subID2: \( event. subID2) , data: [ \( dataString) ], group: \( groupString) ) "
95
116
96
117
case . sysEx8( let event) :
118
+ let dataString = event. data. hex. stringValue ( padTo: 2 , prefix: true )
119
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
97
120
98
- let dataString = event. data
99
- . hex. stringValue ( padTo: 2 , prefix: true )
100
-
101
- return " sysEx8(mfr: \( event. manufacturer) , data: [ \( dataString) ], group: \( event. group) , streamID: \( event. streamID) ) "
121
+ return " sysEx8(mfr: \( event. manufacturer) , data: [ \( dataString) ], group: \( groupString) , streamID: \( event. streamID) ) "
102
122
103
123
case . universalSysEx8( let event) :
124
+ let dataString = event. data. hex. stringValue ( padTo: 2 , prefix: true )
125
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
104
126
105
- let dataString = event. data
106
- . hex. stringValue ( padTo: 2 , prefix: true )
107
-
108
- return " universalSysEx8( \( event. universalType) , deviceID: \( event. deviceID) , subID1: \( event. subID1) , subID2: \( event. subID2) , data: [ \( dataString) ], group: \( event. group) , streamID: \( event. streamID) ) "
127
+ return " universalSysEx8( \( event. universalType) , deviceID: \( event. deviceID) , subID1: \( event. subID1) , subID2: \( event. subID2) , data: [ \( dataString) ], group: \( groupString) , streamID: \( event. streamID) ) "
109
128
110
129
111
130
// -------------------
112
131
// MARK: System Common
113
132
// -------------------
114
133
115
134
case . timecodeQuarterFrame( let event) :
116
-
117
135
let dataByteString = event. dataByte. uInt8Value
118
136
. binary. stringValue ( padTo: 8 , splitEvery: 8 , prefix: true )
119
137
120
- return " timecodeQF( \( dataByteString ) , group: \( event. group) ) "
138
+ let groupString = event. group. value . hex . stringValue ( prefix : true )
121
139
122
- case . songPositionPointer ( let event ) :
140
+ return " timecodeQF( \( dataByteString ) , group: \( groupString ) ) "
123
141
124
- return " songPositionPointer(beat: \( event. midiBeat) , group: \( event. group) ) "
142
+ case . songPositionPointer( let event) :
143
+ let groupString = event. group. value. hex. stringValue ( prefix: true )
144
+ return " songPositionPointer(beat: \( event. midiBeat) , group: \( groupString) ) "
125
145
126
146
case . songSelect( let event) :
127
-
128
- return " songSelect(number: \( event. number) , group: \( event . group ) ) "
147
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
148
+ return " songSelect(number: \( event. number) , group: \( groupString ) ) "
129
149
130
150
case . unofficialBusSelect( let event) :
131
-
132
- return " unofficialBusSelect(bus: \( event. bus) , group: \( event . group ) ) "
151
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
152
+ return " unofficialBusSelect(bus: \( event. bus) , group: \( groupString ) ) "
133
153
134
154
case . tuneRequest( let event) :
135
-
136
- return " tuneRequest(group: \( event . group ) ) "
155
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
156
+ return " tuneRequest(group: \( groupString ) ) "
137
157
138
158
139
159
// ----------------------
140
160
// MARK: System Real Time
141
161
// ----------------------
142
162
143
163
case . timingClock( let event) :
144
-
145
- return " timingClock(group: \( event . group ) ) "
164
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
165
+ return " timingClock(group: \( groupString ) ) "
146
166
147
167
case . start( let event) :
148
-
149
- return " start(group: \( event . group ) ) "
168
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
169
+ return " start(group: \( groupString ) ) "
150
170
151
171
case . continue( let event) :
152
-
153
- return " continue(group: \( event . group ) ) "
172
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
173
+ return " continue(group: \( groupString ) ) "
154
174
155
175
case . stop( let event) :
156
-
157
- return " stop(group: \( event . group ) ) "
176
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
177
+ return " stop(group: \( groupString ) ) "
158
178
159
179
case . activeSensing( let event) :
160
-
161
- return " activeSensing(group: \( event . group ) ) "
180
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
181
+ return " activeSensing(group: \( groupString ) ) "
162
182
163
183
case . systemReset( let event) :
164
-
165
- return " systemReset(group: \( event . group ) ) "
184
+ let groupString = event . group . value . hex . stringValue ( prefix : true )
185
+ return " systemReset(group: \( groupString ) ) "
166
186
167
187
}
168
188
0 commit comments