Add volume sync between Spotify and AmpliPi#1063
Add volume sync between Spotify and AmpliPi#1063SteveMicroNova wants to merge 1 commit intoVolumeDeltaExpansionfrom
Conversation
613d88c to
c6ca6d4
Compare
|
This branch depends on #1064 to function in the field |
b2379f0 to
eea75bb
Compare
8660545 to
b3f3cf5
Compare
|
I'd like to take note that we stress tested this earlier with multiple people playing tug of war with the volume slider using a Spotify jam and the underlying Spotify stream failed before the script did, according to the logs It's unclear how the underlying stream failed, and perhaps this is solved with the bump from go-librespot |
|
One thing that we should do is test what the update speed is by logging all
of the requests. Realistically we may want to limit the response to 10Hz or
something just to avoid overwhelming the Spotify and amplipi APIs.
…On Fri, Nov 7, 2025, 15:32 Steven Engelbert ***@***.***> wrote:
*SteveMicroNova* left a comment (micro-nova/AmpliPi#1063)
<#1063 (comment)>
I'd like to take note that we stress tested this earlier with multiple
people playing tug of war with the volume slider using a Spotify jam and
the underlying Spotify stream failed before the script did, according to
the logs
It's unclear how the underlying stream failed, and perhaps this is solved
with the bump from go-librespot 0.5.0 to 0.5.2, but it's hard to say
until we put it through another office-wide stress test (I simply am not
able to input enough changes myself even though I am able to create a multi
account jam session)
—
Reply to this email directly, view it on GitHub
<#1063 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEZPO5DKNURRH5V2T2M4B333T6W5AVCNFSM6AAAAACKZX53CCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMBUHAYDGMZSHE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
5215cda to
20b7dd6
Compare
db7f047 to
54fda80
Compare
f105529 to
e125ac2
Compare
7de343e to
e83de61
Compare
94e796e to
f067d19
Compare
e83de61 to
7fc8fd7
Compare
9e275c2 to
39d9455
Compare
streams/volume_synchronizer.py
Outdated
| raise NotImplementedError("Function must be implemented by child classes") | ||
|
|
||
|
|
||
| class AmpliPiData: |
There was a problem hiding this comment.
Is this still needed? I thought volume changes were coming in through the volume change fifo?
There was a problem hiding this comment.
AmpliPi side is handled through a fifo, stream side (Spotify side, airplay side in #1071) is handled through this function that is automatically run as a subthread by the __init__ of this class
There was a problem hiding this comment.
This volume scheme is going to need a pretty diagram somewhere in the code to preserve the sanity of the next person to look at this.
There was a problem hiding this comment.
How's this (the docstring under VolumeSynchronizer)?
8888e3c to
6fc3b89
Compare
24a5664 to
4d2b723
Compare
|
Note that the vol sync will not work on systems that are effected by #1067, which are all systems that reboot while playing a persistent stream |
61789c5 to
6d89922
Compare
|
Changing volume via amplipis app still works when it goes out of sync |
1e75bbc to
f92f5c5
Compare
6c639df to
bcaa244
Compare
e8b8f83 to
0a1c3fc
Compare
bcaa244 to
c8d9465
Compare
0a1c3fc to
9949d3e
Compare
013587a to
9efc33d
Compare
adc957e to
7dab922
Compare
3edcbfd to
6cbee9f
Compare


What does this change intend to accomplish?
Make it so that Spotify side volume changes are reflected in AmpliPi and vice-versa
Checklist
./scripts/test