omriharel / deej

Set app volumes with real sliders! deej is an Arduino & Go project to let you build your own hardware mixer for Windows and Linux
https://deej.rocks
MIT License
4.81k stars 447 forks source link

Problems with Tidal #44

Closed NadieNiemand closed 3 years ago

NadieNiemand commented 3 years ago

When I'm playing music on Tidal and move the slider changes the volume but when changes the song the volume resets until I move the slider again.

NadieNiemand commented 3 years ago

image after changing the song: image

omriharel commented 3 years ago

Hi there @NadieNiemand, thanks for writing!

Unfortunately I'm not familiar with the specifics of Tidal, but I heard reports of a similar issue happening with Amazon Music's desktop player on Windows. I believe what's happening is that these apps spawn a new audio session for each new song they play, but they don't bother taking the volume of the previous and just start it at 100%.

You can test this out to make sure deej isn't messing up with your Tidal volumes:

  1. Close deej
  2. Play a song on Tidal - while it's playing reduce Tidal's volume in Windows Mixer
  3. Wait for the next song
  4. Check Tidal's volume in Windows Mixer - if it went back up to 100%, this is just the app behavior.

By design, deej only ever changes an app's volume when a slider is moves. This is done for a several reasons, one of which is keeping deej performant. That means, consequently, that deej cannot constantly poll to see if an app is out-of-sync with the current volumes and change it accordingly.

Thus, there are two ways to overcome this issue:

I hope this somewhat helps - please let me know if you have additional questions. Thanks!