We did try something along those lines now, but hoped that we could use the same code on all platforms. The biggest issue here really is that we only know until after the recording started whether the permission is given or not (as the permission prompt is not model, the program continues to run while the user is making a choice). If there was a way that BASS could stop the recording (maybe with the lost device callback?) once it knows for sure that the permission is denied, that would be very helpful - but I'm not sure if macOS would notify BASS (or our own code) in any way that the permissions have changed. Right now, we have to work around this by repeatedly checking permissions until we know for sure that the permission was given or not given, which is a bit annoying.