-
Notifications
You must be signed in to change notification settings - Fork 255
Need ability to adjust volume for grouped rooms together #14
Comments
Had spend some thoughts arround similar things. Airplay has no consistent concept of multiple speakers (outside of itunes or related which allows playback of one stream on multiple targets and hence volume control of them) and no multiroom concept at all. Hence best thing to do the mapping on would be to map stuff in airsonos to a sonos group (or linked zone) rather than to the individual available playback device. By that you would achieve the most logical mapping into how you real sonos setup looks like. Not an expert but the nodesonos api suggest functionality for this exists. This has however a couple of gotchas to overcome as a) how would you name the joined group to make it obvious on the airplay playback device (appears not to hard to solve) b) requires a number of callbacks and support for dynamic changes as linkages can be adjusted on the fly on the sonos end (harder to realize if you think through it) |
I totally get what you're saying. Maintaining the list of grouped rooms is probably a bit much. Perhaps a small step in the direction of supporting grouped rooms would be to decouple the Sonos device volume from the iOS media volume. Is it possible to send a the iOS audio stream at a variable volume level? This way the Sonos devices could be set to an optimal, if a bit loud mix, then the user could lower or raise the volume by adjusting the output level of the iOS audio stream via the iOS media volume level. |
@elwertk I think we address issue (a) at the moment by naming the AirSonos device by its grouping (although there are still issues there - #8). Support for issue (b) you mentioned would be a bit harder.. Currently, the Sonos library we're using doesn't support real-time updates for changes to the Sonos configuration. Workaround would be to restart AirSonos after room configuration changes. (This is probably an issue of a different scope). @williamw This could be done by manipulating the raw PCM data that comes from iOS/OS X, but it seems hacky and it's not immediately obvious what the behavior is (e.g. changes in raw audio volume, but not sonos volume). It sounds like at the moment, volume adjustments simply don't work across grouped Sonos devices. I think the best first move would be to directly map the iOS volume to all grouped Sonos devices, at least get that functionality working. Thoughts? (relevant: https://sonos.custhelp.com/app/answers/detail/a_id/1966/~/grouping,-pairing,-and-bonding-players) |
@stephen good point, relative volume coming from the iDevice is a hacky solution anyway. I can't test stereo pairs because I don't have two of the same Sonos devices (I haves nano, a 3, and a 5). With iOS volume linked to grouped Sonos rooms we need to consider relative volume control. My living room is set to say 40% because it's a bigger room but my kitchen and bedrooms are only at say 20%. We wouldn't want adjusting the iOS volume to set everything to the same level. I'm a designer, not a dev, otherwise I'd be contributing code ;-) |
Just picked up a Play:1 today, so I can test grouping it with my Play:3. It's rather odd to me that you can't permanently bind them as a room, but hopefully I'll spend some time looking into how to make volume controls work on the logical group. As @elwertk mentioned, AirSonos would have to be aware of configuration changes, which could also take some work to implement in the underlying bencevans/node-sonos package. Also, looks like the default controller behavior is to move by a relative +/- amount, and min(max()) the bounds. |
👍 having this exact issue |
I use the Sonos controller to group my 3 rooms grouped together so the same music plays in all of them. All 3 Sonos devices appear in the AirPlay list on my iOS devices, so I just select the "master" room (the one I grouped the other 2 rooms into using the Sonos controller app). When I adjust the volume on my iOS device, it only affects the "master" room where I'd expect it to adjust the volume in all 3.
(It could be a tricky problem because the volumes in the different rooms can be set at different levels. I think the way the Sonos controller app handles this is it increases or decreases each room by a relative value, say +5 or -5 db rather than setting each room to the same value.)
The text was updated successfully, but these errors were encountered: