From 874abb99ed1e8460b192939d1120b96da3c15ba0 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Sun, 24 Jan 2021 13:17:18 -0800 Subject: [PATCH] 0.220 Clear artwork when power off --- plugin/SqueezeESP32.zip | Bin 12075 -> 12142 bytes plugin/SqueezeESP32/Player.pm | 24 ++++++++++++++++++++---- plugin/SqueezeESP32/Plugin.pm | 2 +- plugin/SqueezeESP32/install.xml | 2 +- plugin/repo.xml | 4 ++-- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index 6fdb222bb4fdaebce1ff770efc0e9a448336d4de..1f954c50d885c398e06b9180e4e8b305df1292de 100644 GIT binary patch delta 4523 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 JQYrud005&He{KK( delta 4469 zcmZXYRa6uTw1$Tc$ze!gC_%bAq(K^n5*U!00VG5kiJ^0l?ogx=5u{5RX6Tkiq*IXY zd(M42cip|#e)%8%^*!yizI|l*#j+ZMgaD^BOrPSX&LAj-kc1A=BM*wW41Hv74UW?? zcw*C($3>@17DME<#*ReSlZ>*$+1YOP^V;a1Smb;BXijLZc1$C>cx7&VCWS0ip?Njn zg)W|GB0-EtK7AjAJ0~^GVAoEF$#D`UJ}EfB0GYnCup!v!kajC;O02s9K@2IkzRbis z=89}_b0IM&2e1&kzU@jr=0*_E(zQ*t+Cw#S(&eIKl>1 zZ+?HDCvZs#4-}8?nCnna?!pz)n>xFFm!(pNv}MYZnMQEG*%+M`c`8SP+VK=;Ra3jg z($mDk1_1y7e1M2ssJ<_>8a_n`0PHgZ00jS}dd}8JNu%skLl=w^xTJr;qK3moxqfW_-h3l0k}5X)GdTrgYTr znfa;LPQg2c^Y+<5_`Rkr9f^Yt9YMU@#2laxfvQWlk3IVHoL)w|BnnT1DOxo=7;q>3 z`Q*Ljhnt}Uxm5a6bGiHWpcS{=LG(u0I!UKIFa#oSl$QIeY}u`WujF_(IQ zV4e{o(`PT)WlF1K zyFgkrx99dNs*ZLxthx22R6!C0`};N(xrt6xOa~be1>I;iXC95peIw&GO{Dks*D05o zRnf)mgVS@PZI^Fr(3P|7(u3QIpxJ|J1mp7Th+pj?^oPgZvg=s$LGE%Lola}e{CJ@= zO7dHyS^O6tl@H?Qa?&Ov`>F|nxs6ia_IXQxmc7oiwA(Nr@$PYK5XEWskKcC+9zZ<4 zn{v3DaS*Rs^{xu?(UCs%UO&s$UbdixYrr1nh}(nv)t67pe4ZJ+!88CR^7o=P5nQHl z)y1Q5Argy=(6CeFa*=p+Aplbjvw;rz^8Kj>Fh6;J)O3KoYMWf{8G*Kel`bkkO9^Q3 z)10G#N{0#GSU8(6xLAB&Ne8B_wRG#0&I|bF`Dv~|iQ`SNccyg^aTeZRNn-^HWG+!L zhBu*TF*otUm6FX1bkwvWff%bUf`BYqvsZvtRnXee^rXk0+&8hvRZ0^D=r7n7Bv`3l z5XnOSu>SiN437dPjviaL&iQu1b2G0Fbvhh?P^)1dl_71tC zq7td62g9o^)AdsQ%x<2A3(5#T9Y~%3)^h`K24oGNMx!27zgsG`2l@%oZ;>_S1cUU+ z)so#{lmfe%(|$}~pN^3}s@Vz%uiEf_#7<-vr3npTyZg5Ib+4DF-i|xJDac`Qix4 z+`HAZyI?29-NW_oH3t#Slp!rP%%KEsSdYT-HAC4(aZ4#?X#NYMJC2G%M#_ z>sy;Z>@+IuiQFPvuCQcP?CH(`pqwc1_cg&&CXZFkf!^?D7Cqy@Mn;}bt$owoWCUyZ z4w`Rm9Q^vMl78Df!P$@sW>=zS{kUYM%9cZ_j`5?$BGoZhG4>F_rM|XhFd3;BkspL> zAeAM6oVjI&shD?msP#`X#v4q8=v@j5ogNwdF6sJI&J*dEGV5~qK|u*8^d7sUaPY5o zz@uuu$rr`-EzU@GSGwpYJZ|c1dISvHdZ(|9JL#7gWIG8>aK1x!_M>pet{zP1IrSc39!nfqRC9r+J-jb6`acy>+ zOEzy_tf?W+k4QvfIG0dHN_>pSXd-`A64Y2x%VYNfk7qU48T3hD@vh_9yr(I(3svbx zmt+Hb3p{>Zy#eDlUZYTp?VDwqr++C_l?*1XSvC_-WE+_XJEA#cdU^Pl>LU>f5h}v` zCPa_1fYV6vh|h%0-|1{>bm!~Bk_|oWJS_KkLl+R2FPW3RhmLAyXDF9Qz^wrTUThYU z*EZwhunAK*p&d~aTP4Yly@vUUR%3SEc77mL{}xyvHj3{8;7BZKVqyS(aVU-*mDi$m zSZ}%7wW~oc-%Q2`%`>6-g9B-6dxyciqEdbCA&H(uW>!7NDZ=za zNWQ6-c%9RcjsmFa=9bq7`fyPFG-8VF4ng0f02s0cCOKqIRwFyQtwLt6=3f+nKB%zR zxs~I+Uwi9eLc1`2b4|QJD^Q;8CQk;>4^mcf);(AL1?LR*aN&{MaC!5I%Duni&3EL5 zvD4+3A>FF{fE(pe0iC6S*9IOwq)PR-9H^LsV^V}``ics`s9TqHp1aTG00;QTzi|!)&_jYuUk!)TIOuN*iP0<&8hp5E1-R=8^)t^sEO9B@(+lM@sdZWg+Z~upRBS8;pl%^xkv0 zs&bjBxUwlp;psv~PF!7n#CKSKell0Uo}U%2I5t$Hl! zJV)B_Gq3*I?&bpD$`u*5f13prczBH9<00K9%07DWOC91C%4DSVe8kn+Jgm+p_O2a) zF5WC0a}q*)4@CuEWf|a?@8xA1)~nG7{p#w1&Aw3Hdc<_A#{6_F_W7n<3+2A`*Z8%( zok9h-xy{Bmo^wS89E4>;?cd%Lr2rK}3TP(IRQIjx%WXEIh z57`|0wx=&gB71s$&cbfvEdhdDKl?~NBj^~yr?h|B!{+DS)@N?1vx=kGj^QH6%FNQ) z-6MB#t665~n__>PgKIu5kFs)hUuw7xE4&kX_IHws?<#}UnuQeoUe{#k^=OqUG5lkM z3+(1GtZB_-Hnt!QwJX|)%lL>{>p*voMf|lSOn+zMfN~2P0B}xu16C$1t6)EGm%Uul zgrqcq*{~6%$e@%puqc9(GM2`R2E=z!bksQLZ%#nM&9Q_HAg1N;?he*Uxn8z-q}29m&`sXtXVz2|1iYFDlOtsV5XYJGr3K ze%Yy!e)6^q6Y`a;=e8a7Uhlq;dR0@ZZeTL}CE_B*E%^B0V z%*``XA$X~J5%;YoJw9FRD@JV(xiO#~x}6I?2^v1gaxE32XkHf7be3eE zuqLiByCnDHwbN#c*ZNYc-L9K&kk}PSggC@OnjG57sNF z%*4a;Q$lz}XI2mEy3}^MlXIGRh#eZ3zAs&e!r1nr1e7QFGi{n1atu;rl>S5qyb58K zp;h_hT~V2hc~&f-0oOkx;NM-6IO4?^?mb1g)v0>RZ%}Zw)rnKIAf*L9#~w8Q`N@z> z{Nh7SrB1OzMqPSyYeBm(w{R1g`}}6f(086tw#f&Dj6ca5yTCYgq2j1o+2MH{O!2x+ z3Fi3-Qg6C+XklLBmVTl2E|}0=L9vgM@4N4jn*C)yl$+6j=pKm6i7)!`Bs0le{G%H} zNxhrnQ_Sc@bvP{*(wgXSUI6ZuZPxU3uvV8HK_1at9T8poD z{r%Q?hGP}gB-!Y<-&9fJ+v9^Vh%saw#0zyj2Z1;oy)=D!jeNmon6 zjQ+@oER1IpI6_wN3V?r}n`I^2Ib?F4J2jZGzTniY94ZJ+Uw95Jzx&IQq45o3vQq_2 z68?4u%*;wWbcQvVZaS8jh45Ctex*J=0`TpXD{$hC~<+&Hc zD|q5!CbLrg9nO!?rfVQ5$i+%@3ii4@2(#9ab&TLYe+va(0bC~Gk%4P;iVrVX_Wx`8 zvwuYW-(mV^MM(c6?S%gu0RR{P8o;KzLj46QWs+A0gD-`YPg(Z=oH(L?b^pITwBUbx oyzCua|B?Uy_Mj~#;Qx>$^2uPZr;PAHG0al9_+Q|Xa{Wv2KcHuHH~;_u diff --git a/plugin/SqueezeESP32/Player.pm b/plugin/SqueezeESP32/Player.pm index 2f97ba6f..1b220e68 100644 --- a/plugin/SqueezeESP32/Player.pm +++ b/plugin/SqueezeESP32/Player.pm @@ -107,6 +107,22 @@ sub initPrefs { $client->SUPER::initPrefs; } +sub power { + my $client = shift; + my $on = shift; + + my $res = $client->SUPER::power($on, @_); + return $res unless defined $on; + + if ($on) { + $client->update_artwork(1); + } else { + $client->clear_artwork(1); + } + + return $res; +} + # Allow the player to define it's display width (and probably more) sub playerSettingsFrame { my $client = shift; @@ -232,16 +248,16 @@ sub send_artwork { } sub clear_artwork { - my ($client, $request) = @_; + my ($client, $force, $from) = @_; my $artwork = $prefs->client($client)->get('artwork'); if ($artwork && $artwork->{'enable'}) { - main::INFOLOG && $log->is_info && $log->info("artwork stop/clear " . $request->getRequestString()); + main::INFOLOG && $log->is_info && $log->info("artwork stop/clear " . ($from || "")); $client->pluginData('artwork_md5', ''); # refresh screen and disable artwork when artwork was full screen (hack) - if (!$artwork->{'x'} && !$artwork->{'y'}) { - $client->sendFrame(grfa => \("\x00"x4)) unless $artwork->{'x'} || $artwork->{'y'}; + if ((!$artwork->{'x'} && !$artwork->{'y'}) || $force) { + $client->sendFrame(grfa => \("\x00"x4)); $client->display->update; } } diff --git a/plugin/SqueezeESP32/Plugin.pm b/plugin/SqueezeESP32/Plugin.pm index d5a0158b..5b203617 100644 --- a/plugin/SqueezeESP32/Plugin.pm +++ b/plugin/SqueezeESP32/Plugin.pm @@ -65,7 +65,7 @@ sub onStopClear { my $client = $request->client || return; if ($client->isa('Plugins::SqueezeESP32::Player')) { - $client->clear_artwork($request); + $client->clear_artwork(0, $request->getRequestString()); } } diff --git a/plugin/SqueezeESP32/install.xml b/plugin/SqueezeESP32/install.xml index 200de627..c15beae4 100644 --- a/plugin/SqueezeESP32/install.xml +++ b/plugin/SqueezeESP32/install.xml @@ -10,6 +10,6 @@ PLUGIN_SQUEEZEESP32 PLUGIN_SQUEEZEESP32_DESC Plugins::SqueezeESP32::Plugin - 0.211 + 0.220 Philippe diff --git a/plugin/repo.xml b/plugin/repo.xml index a1078d0e..283d5ef0 100644 --- a/plugin/repo.xml +++ b/plugin/repo.xml @@ -1,10 +1,10 @@ - + https://github.com/sle118/squeezelite-esp32 Philippe - c33af63de1c2e799a05352708b9f5db9e8d1102a + e279e31acf8c91652d32bdf6165db21961ea780d philippe_44@outlook.com SqueezeESP32 additional player id (100) http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip