You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I'm trying send MIDI CC Messages from iOS to a guitar modeling pedal via a Bluetooth wireless interface (Quicco mi.1.) MIDIKit looks like the ticket!
I'm using the BluetoothMIDI Example (SwiftUI iOS) "out of the box" but not able to see any results from sending CC Messages. I have tested sending CC Messages with the MIDI Wrench App to my pedal via the mi.1 Bluetooth Interface and everything works as expected, so I'm confident the hardware element is sorted.
When the CABTMIDICentralViewController is displayed, my mi.1 device is listed and I can toggle it Connected/Not Connected, as expected. (Of course I leave it Connected!) But nothing is happening on my pedal when .send is called. I'm evaluating midiManager.observableEndpoints.inputs/.outputs as noted in the documentation and Example readme; they only seem to have 'system' endpoints (Session 1, Bluetooth) but nothing specific to my device. From all of my Google searching on the topic, it does seem like there should be some evidence of my device after CABTMIDICentralViewController is displayed.
Here are the only lines of code I changed in the Example, for the "Broadcast test..." button in ContentView - I just added a couple debug lines and moved the Test code out of the Helper so I could change the values:
Section("Send Test Event") {
Button("Broadcast test MIDI Event to all MIDI Inputs") {
print("Inputs: \(midiManager.observableEndpoints.inputs)")
print("Outputs: \(midiManager.observableEndpoints.outputs)")
let conn = midiManager.managedOutputConnections["Broadcaster"]
try? conn?.send(event: .cc(.legatoFootswitch, value: .midi1(64), channel: 1))
// midiHelper.sendTestMIDIEvent()
}
}
And here is the debug console output when starting, tapping the Config button to connect and then the Send Test Event button.
Starting MIDI services.
2024-09-05 21:24:10.299673-0600 BluetoothMIDI[4360:1993228] Scanning for MIDI service 03B80E5A-EDE8-4B33-A751-6CE34EC4C700
2024-09-05 21:24:21.857981-0600 BluetoothMIDI[4360:1993228] peripheral isAvailable changed to 1 in didDiscoverPeripheral
2024-09-05 21:24:30.267062-0600 BluetoothMIDI[4360:1993228] Connecting to peripheral with UUID A3FD3F11-DF3D-414D-068B-BD756AFB67AD ...
2024-09-05 21:24:31.472388-0600 BluetoothMIDI[4360:1993228] Checking pairing status...
2024-09-05 21:24:31.530932-0600 BluetoothMIDI[4360:1993228] Pairing authentication successful.
2024-09-05 21:24:31.533911-0600 BluetoothMIDI[4360:1993228] Instructing the driver to connect to peripheral with UUID A3FD3F11-DF3D-414D-068B-BD756AFB67AD
2024-09-05 21:24:32.535778-0600 BluetoothMIDI[4360:1993228] Disconnecting from UI for peripheral <CBPeripheral: 0x3007240d0, identifier = A3FD3F11-DF3D-414D-068B-BD756AFB67AD, name = mi.1, mtu = 23, state = connected>. The driver will manage the connection.
2024-09-05 21:24:39.458554-0600 BluetoothMIDI[4360:1993228] [Snapshotting] Snapshotting a view (0x102440120, _UIButtonBarStackView) that is not in a visible window requires afterScreenUpdates:YES.
2024-09-05 21:24:39.985027-0600 BluetoothMIDI[4360:1993228] No longer scanning for MIDI peripherals.
2024-09-05 21:24:39.987374-0600 BluetoothMIDI[4360:1993651] [CoreBluetooth] XPC connection invalid
Inputs: [MIDIInputEndpoint(name: "Session 1", uniqueID: 747290765), MIDIInputEndpoint(name: "Bluetooth", uniqueID: 2115719968)]
Outputs: [MIDIOutputEndpoint(name: "Session 1", uniqueID: 1005724584), MIDIOutputEndpoint(name: "Bluetooth", uniqueID: -1077434253)]
I guess my main question is - should I expect to see evidence of my mi.1 device in the input/output arrays, or does the "Bluetooth" endpoint cover it (even though I'm not seeing any results)?
If everything above looks good, any suggestions to get the example working? I must be missing something simple, this is all so well done!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello, I'm trying send MIDI CC Messages from iOS to a guitar modeling pedal via a Bluetooth wireless interface (Quicco mi.1.) MIDIKit looks like the ticket!
I'm using the BluetoothMIDI Example (SwiftUI iOS) "out of the box" but not able to see any results from sending CC Messages. I have tested sending CC Messages with the MIDI Wrench App to my pedal via the mi.1 Bluetooth Interface and everything works as expected, so I'm confident the hardware element is sorted.
When the
CABTMIDICentralViewController
is displayed, my mi.1 device is listed and I can toggle it Connected/Not Connected, as expected. (Of course I leave it Connected!) But nothing is happening on my pedal when.send
is called. I'm evaluatingmidiManager.observableEndpoints.inputs/.outputs
as noted in the documentation and Example readme; they only seem to have 'system' endpoints (Session 1, Bluetooth) but nothing specific to my device. From all of my Google searching on the topic, it does seem like there should be some evidence of my device afterCABTMIDICentralViewController
is displayed.Here are the only lines of code I changed in the Example, for the "Broadcast test..." button in ContentView - I just added a couple debug lines and moved the Test code out of the Helper so I could change the values:
And here is the debug console output when starting, tapping the Config button to connect and then the Send Test Event button.
I guess my main question is - should I expect to see evidence of my mi.1 device in the input/output arrays, or does the "Bluetooth" endpoint cover it (even though I'm not seeing any results)?
If everything above looks good, any suggestions to get the example working? I must be missing something simple, this is all so well done!
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions