Module: wine Branch: master Commit: 92f7c86f68536a854c5d07536bf99df063d243bc URL: https://source.winehq.org/git/wine.git/?a=commit;h=92f7c86f68536a854c5d07536...
Author: Huw Davies huw@codeweavers.com Date: Tue Nov 30 07:56:30 2021 +0000
winecoreaudio: Move the midi input event processing to the unixlib.
Notifications of incoming data are now directly added to a notify ring-buffer by macOS's midi read callback. The ring-buffer is implemented with an unused sentinel directly before the read ptr to distinguish between the full vs empty state. Notifications are processed by the client's notify thread via the midi_notify_wait syscall.
Note that the read callback thread is not a Win32 thread, so the Win32 api cannot be used in anything that it calls.
Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winecoreaudio.drv/coreaudio.c | 2 - dlls/winecoreaudio.drv/coremidi.c | 163 ++++++++++++++++++++++++----- dlls/winecoreaudio.drv/coremidi.h | 86 ---------------- dlls/winecoreaudio.drv/midi.c | 204 +------------------------------------ dlls/winecoreaudio.drv/unixlib.h | 6 +- 5 files changed, 140 insertions(+), 321 deletions(-)
Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=92f7c86f68536a854c5d0...