Post

Replies

Boosts

Views

Activity

IOHIDDeviceSetReport hangs application and causes HID device to become unresponsive
IOHIDDeviceSetReport blocks until the report is sent, and when you call it from the main thread in a situation where more than a couple bluetooth devices are connected (which is often, considering Apple's mice, keyboards and trackpads are all bluetooth) and the system can't keep up with the traffic the report rather frequently never makes it through, resulting in a hanged application and an unresponsive bluetooth HID device that will only respond after being disconnected and reconnected. Is there any way around this situation? Ideally IOHIDDeviceSetReport would timeout An output report failing to get through would not make the HID device unresponsive IOHIDDeviceSetReportWithCallback would work, but it seems under the hood it has simply never been implemented There would be a way to set reports asynchronously but it seems none of those are the case. Does anyone have any light to shed on this matter? macOS12 here.
0
1
685
Feb ’22
Do app extensions (Audio Unit) hog the keyboard by default?
Not sure if it's just Audio Units or all app extensions by default, but the default Audio Unit built from the unmodified template code in XCode 12.4 does not seem to forward key presses to Logic Pro X 10.6.0. For example, pressing space bar while the plugin window is active does not start/stop Logic Pro playback, which is definitely (I mean, starting/stopping playback would definitely be) the default behaviour for pretty much every AU plugin I've ever seen. I assume they somehow forward unrecognized key presses to the host. However, I'm absolutely clueless as to how to do that. Any help would be much appreciated.
0
0
602
Mar ’21
AUv3 synth in Logic Pro X only receives MIDI when selected?
Please forgive me if this is a problem with the AUv3 format (or Logic Pro X itself). Probably not the case, but there is simply not enough information online to draw a sound conclusion... When I build and run (with Logic Pro X) XCode's Audio Unit Extension template (for instrument) completely unmodified except for the following override of the handleMIDIEvent function: language cpp void handleMIDIEvent(AUMIDIEvent const& midiEvent) override { printf("I just got a midi event!\n"); } the built Audio Unit seems to only receive incoming MIDI messages when it's in the currently selected track (ie. if I insert two instances and record a MIDI region in each, only the notes in the selected track print "I just got a midi event!" during playback). Do I need to do something else in order to make my plugin be able to receive MIDI messages when it's not in the selected track (like any other synth plugin)? Using XCode Version 12.3 (12C33), Logic Pro X 10.6.0 (Build Version 5407) in macOS Catalina 10.15.6 (19G2021).
1
0
1.1k
Feb ’21