5252# Use slightly less value when not fading in.
5353if [ " ${FADE_IN} " = true ]
5454then
55- FADE_ENDS=4
55+ if [ " ${FADE_IN_ENDS} " ]
56+ then
57+ FADE_ENDS=${FADE_IN_ENDS}
58+ else
59+ FADE_ENDS=5
60+ fi
5661else
57- FADE_ENDS=2
62+ if [ " ${FADE_NO_ENDS} " ]
63+ then
64+ FADE_ENDS=${FADE_NO_ENDS}
65+ else
66+ FADE_ENDS=3
67+ fi
5868fi
5969
6070get_remain () {
99109
100110[ " ${LOG} " ] && {
101111 echo " Logging roon_faded in ${LOG} for zone ${FADE_ZONE} " >> " ${LOG} "
112+ echo " FADE_ENDS = ${FADE_ENDS} , FADE_DRTN=${FADE_DRTN} , FADE_IN=${FADE_IN} " >> " ${LOG} "
113+ }
114+
115+ # Restore volume levels in all fading zones
116+ restore_volume () {
117+ for z in ${! zones[@]}
118+ do
119+ cvol=${curvol[$z]}
120+ zone=${zones[$z]}
121+ set_volume -v " ${cvol} " -z " ${zone} "
122+ done
102123}
103124
104125# get_zone_volume returns an ungrouped zone like this:
@@ -113,20 +134,15 @@ done
113134# HomePod Mini Left: Volume = 72, Min = 1, Max = 100
114135# HomePod Mini Right: Volume = 72, Min = 1, Max = 100
115136init_fade_vals () {
116- zoninf=()
117137 zones=()
118138 curvol=()
119139 minvol=()
120- maxvol=()
121140 outstepsz=()
122141 instepsz=()
123- finish=()
124- outdiv=$(( FADE_DRTN / 3 ))
125- indiv=$(( FADE_DRTN / 5 ))
142+ outdiv=$(( FADE_DRTN / 4 ))
143+ indiv=$(( FADE_DRTN / 6 ))
126144 while read voline
127145 do
128- zoninf+=( ${voline} )
129- finish+=( 0 )
130146 zone=` echo " ${voline} " | awk -F ' :' ' { print $1 } ' | \
131147 sed -e ' s/^ *//' -e ' s/ *$//' `
132148 zones+=( " ${zone} " )
@@ -145,16 +161,24 @@ init_fade_vals() {
145161 outstepsz+=( ${outstep} )
146162 instep=$(( diff / indiv))
147163 instepsz+=( ${instep} )
148- maximum=` echo " ${voline} " | awk -F ' :' ' { print $2 } ' | \
149- awk -F ' ,' ' { print $3 } ' | \
150- awk -F ' =' ' { print $2 } ' | \
151- sed -e ' s/^ *//' -e ' s/ *$//' `
152- maxvol+=( ${maximum} )
153164 done < <( get_zone_volume -g -z " ${FADE_ZONE} " )
154165}
155166
156167init_fade_vals
157168
169+ finish=()
170+ for z in ${! zones[@]}
171+ do
172+ finish+=( 0 )
173+ [ " ${LOG} " ] && {
174+ outstep=${outstepsz[$z]}
175+ instep=${instepsz[$z]}
176+ zone=${zones[$z]}
177+ mvol=${minvol[$z]}
178+ echo " Zone: ${zone} , outstep=${outstep} , instep=${instep} , minvol=${mvol} " >> " ${LOG} "
179+ }
180+ done
181+
158182fading=
159183logsleep=
160184lognull=
180204 [ " ${LOG} " ] && {
181205 echo " RESTORE_VOLUME detected, restoring volume levels" >> " ${LOG} "
182206 }
183- for z in ${! zones[@]}
184- do
185- cvol=${curvol[$z]}
186- zone=${zones[$z]}
187- set_volume -v " ${cvol} " -z " ${zone} "
188- done
207+ restore_volume
189208 grep -v RESTORE_VOLUME ${ROONCONF} > /tmp/pyroon$$
190209 cp /tmp/pyroon$$ ${ROONCONF}
191210 rm -f /tmp/pyroon$$
195214 [ " ${LOG} " ] && {
196215 echo " ROON_FADE disabled, roon_faded exiting" >> " ${LOG} "
197216 }
217+ restore_volume
198218 exit 0
199219 }
200220 [ " ${FADE_TIME} " ] && {
293313 [ " ${LOG} " ] && {
294314 echo " ROON_FADE disabled during fade, roon_faded exiting" >> " ${LOG} "
295315 }
296- # Restore volume levels in all fading zones
297- for z in ${! zones[@]}
298- do
299- cvol=${curvol[$z]}
300- zone=${zones[$z]}
301- set_volume -v " ${cvol} " -z " ${zone} "
302- done
316+ restore_volume
303317 exit 0
304318 }
305319 # Fade volume in fading zone and grouped zones
0 commit comments