Splode / pomotroid

:tomato: Simple and visually-pleasing Pomodoro timer
https://splode.github.io/pomotroid/
MIT License
4.36k stars 369 forks source link

Windows: Delay break during communication sessions #111

Closed letmaik closed 4 years ago

letmaik commented 4 years ago

https://docs.microsoft.com/en-us/windows/win32/coreaudio/providing-a-custom-ducking-experience

Meeting apps typically use a communication device session during a call. It would be nice if pomotroid would listen to such events and provide an option to delay a break until the call it over.

Before looking at this deeper we should do a survey of common meeting apps to see if they actually use communication sessions. Otherwise it would be a bit pointless. I'll try to fill out the following list with ✔️/❌/❓ marks to provide an overview.

EDIT: In fact, it seems that at least on my machine audio ducking isn't working at all. I do remember it working at some point, but could be a year ago or more. I tried the Windows SDK samples (https://docs.microsoft.com/en-us/windows/win32/coreaudio/duckingcapturesample and https://docs.microsoft.com/en-us/windows/win32/coreaudio/duckingmediaplayer#downloading-the-sample) but there seem to be no ducking events being sent/captured. This doesn't seem to be a reliable mechanism to figure out whether a meeting is happening.

EDIT 2: I'm going to close this again as I couldn't figure out an alternative way to detect whether a meeting/call is happening or the microphone is in use.

Splode commented 4 years ago

@letmaik thank you for looking into it and putting together such comprehensive documentation!