[beta] MacOS volume control for WiiM

Works fine but would be nice if I change volume on the master of a group it changes the group volume.

I've not implemented group control yet. how would we like to do it? :

1. Absolute Volume :
  • Master volume = 50 → All slaves = 50
  • Simple and predictable
  • All speakers play at exact same level
2. Relative Volume (What native app might does?):
  • If master goes up by +10, all slaves go up by +10
  • Preserves individual volume differences
  • Example: Master at 50, Slave at 30. Increase master by 10 → Master becomes 60, Slave becomes 40
let me know what I should buiid.
 
Many thanks for this gem of an app, just what I needed, as I had a couple FiiO USB knob/buttons waiting for such an app !
 

Attachments

  • IMG_6210.jpg
    IMG_6210.jpg
    41.1 KB · Views: 8
Seems to still be adjusting just the master, also thanks for the work appreciated.
See screenshot these are two WiiM Pro in action.
  • Fixed: Auto update didn't work, i made a mistake with the build versions and patch numbering. xD
  • Fixed: JSON parsing of the multiroom:getSlaveList API response (Wiim did things differently, or i had old docs)
  • Fixed: App now fetches current volumes before adjusting
  • Fixed: Correctly calculates delta (even) when volumes were changed by another app/touch buttons etc.
  • Bug: When going to 0 then back up, all devices ended up at the same volume
  • Solution:
    • When going to 0: Save the volume offsets (differences) between master and slaves
    • When coming from 0: Restore those offsets to maintain the differences
    • Example: Master 50, Slave 30 → both go to 0 → increase to 20 → Master 20, Slave 0 (preserving the -20 offset)
It's still a bit more buggy than i would like, as in 'responsive' since it needs to 'talk' to all the devices in the group. single volume changes stays at <10ms. But in a group it's per device ~(10ms + N×3ms) and the 'slowest' device is the max mean. to fix this i should cache the volume settings. invalidate after 1/2 sec in case the vol is adjusted somewhere else. but that's much effort.

Keep the feedback coming. !

download here: https://download.v-kooistra.com/wiim-volume/
 

Attachments

  • Screenshot 2026-02-16 at 13.42.14.png
    Screenshot 2026-02-16 at 13.42.14.png
    397.1 KB · Views: 1
  • Screenshot 2026-02-16 at 13.45.38.png
    Screenshot 2026-02-16 at 13.45.38.png
    201.8 KB · Views: 2
Last edited:
  • Bug: When going to 0 then back up, all devices ended up at the same volume
Is this a bug as it is normal WiiM behaviour when using WiiM apps?
 
  • Bug: When going to 0 then back up, all devices ended up at the same volume
Is this a bug as it is normal WiiM behaviour when using WiiM apps?
Well, it's a Algo issue. the API doesn't allow for increments (by design), only absolute values (afaik). thus we need to do it ourselves if we want the feature of keeping the relative offsets in groups. So to your question: yes this is normal WiiM behaviour. I just didn't like it.
Updated to latest, I assume it wasn't meant to resolve the group volume issue?
Correct, im still working on the group function. it's more complex than 1 device. will release it soon :)
Screenshot 2026-02-16 at 15.19.45.png

edit: group vol , updated.
 
Last edited:
Back
Top