-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default audio device is not respected #61
Comments
Hi, @MadShadow- ! Let's split discussion into 2 topics:
Today game has no control over device, as there is no engine api. In graphics side - there is control: application can list physical gpus, select desirable one and will receive exception, if device is removed. |
Proposed api: Query all devices Device creation Query active physical device Callback struct SoundDevice::Prop { // device description
char name[128] = {};
// maybe more data in future
} PS |
When it comes to logical to physical mapping, I think its okay for the system to map all logical outputs to the same physical end device, because I don't see a reason why you would want to split those. Also I don't think the engine and the game need to expose a physical sound device selection. At least in windows I never changed the audio output in an application. Instead if I really want to change something I either use the sound mixer or directly switch output devices there, for all applications at once. The only app I can think of that allows sound device selection is discord - and even there, they'll notify you if you changed the default device and if you fail to click it, well nice then your sound keeps running on the headphones you no longer wear. :D
🗡️ (Cool dagger) |
updating on openal experiments: for unknown to me reason device goes into seemingly unrecoverable state after receiving |
The issue
When I start the game with my speakers as default audio device, music will play on the speakers. If I switch from speakers to headphones, the music of the game will continue to play on the speakers.
Proposed solution (Only for Windows)
Windows can notify an application of audio endpoint changes by implementing a class of the IMMNotificationClient interface. I added a class to the windowsAPI backend. The SystemAPI class allows to have a callback set, called by the NotificationClient and set by the AudioDevice of Tempest.
The proposed solution is inside a pull request, provided below:
#62
Points for discussion
The text was updated successfully, but these errors were encountered: