Skip to content

Add CoreAudio tap permission handling#765

Merged
karlstav merged 4 commits into
karlstav:coreaudiofrom
Melonchanism:coreaudio
Apr 11, 2026
Merged

Add CoreAudio tap permission handling#765
karlstav merged 4 commits into
karlstav:coreaudiofrom
Melonchanism:coreaudio

Conversation

@Melonchanism
Copy link
Copy Markdown
Contributor

Using private apis found in TCC.framework, it is possible to detect whether system audio permissions have been granted to cava. It is not* possible to cause a system prompt to appear, because it requires a NSAudioCaptureUsageDescription key in the terminal emulator's Info.plist. It is possible to open the settings page by opening a link and prompt the user to grant permissions manually, which is what is done here.

*requires more digging

@Melonchanism Melonchanism marked this pull request as ready for review April 9, 2026 22:55
@karlstav karlstav merged commit 72f80b9 into karlstav:coreaudio Apr 11, 2026
6 checks passed
karlstav added a commit that referenced this pull request Apr 21, 2026
* Add Core Audio and tap input module for macOS (#765)

- add input/coreaudio.c, input/coreaudio.h
- add Objective-C CoreAudio tap backend (input/coreaudio_tap.m)
- tap will be used by default to capture audio directly from default output


* clean up configure.ac

no need to give warnings about missing audio input libs

debug stuff removed

* Add CoreAudio tap permission handling

* add coreaudio permission detection and requests

---------

Co-authored-by: Joshua Chan <121840186+Melonchanism@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants