Jules, since Tracktion uses WASAPI can we revisit this issue:
Yes, will certainly need to focus on issues like that for tracktion as we go on with it…
Supporting WASAPI Exclusive Mode may also be useful to Tracktion users if it hasn’t already been requested.
LOL…“Shared” mode is one of the few actually useful features for WASAPI and you want exclusive???
Curious, what’s the opposition to WASAPI exclusive? And is there a noticeable difference (ie: latency, quality), with exclusive mode bypassing KMixer and taking direct hold of devices?
Curious, what’s the opposition to WASAPI exclusive? And is there a noticeable difference (ie: latency, quality), with exclusive mode bypassing KMixer and taking direct hold of devices?[/quote]
I don’t have any opposition to it personally. ASIO always works better but when I’m programming and I have Pandora running, it blocks ASIO. When I use WASAPI Shared mode I can listen to my music and also test my audio application.
I don’t see any benefit to WASAPI Exclusive over ASIO, unless there’s something I don’t know about?
For pro-audio stuff I think everyone will agree that ASIO is superior to WASAPI Exclusive.
However there are a lot of people out there without ASIO hardware and WASAPI exclusive offers them a way to get the lowest latency possible with the audio hardware they have.
It is also the proper way to send encoded AC3 or DTS audio (from a movie) via HDMI to a A/V receiver for audio decoding.
IIRC, the sample rate is changeable in exclusive mode, but not shared.
Edit: It’s an important thing, especially for newbie audio users who don’t know how to navigate the windows mixer stuff… There’s nothing like seeing this “The input and output devices don’t share a common sample rate,” not really knowing how to deal with it. (Although he/she would figure it out eventually!)
Yeah - currently using shared mode you have an issue with WASAPI, since the AudioDeviceManager renders input/output synchronously and they must have the same sample rate.
Just did a pull. Looks like Jules is making changes here though.
Jules - it would be great it you could expose the useExclusive bool somewhere.
For those who can’t wait … you can set it to use exclusive mode here:
juce_win32_WASAPI.cpp - WASAPIAudioIODeviceType::createDevice()
Any chance you have a fix for this in mind? It would be rad to not have to enable exclusive mode each time.
You could probably wrap a macro around the boolean to enable/disable WASAPI exclusive?