diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index 6fdb222b..1f954c50 100644 Binary files a/plugin/SqueezeESP32.zip and b/plugin/SqueezeESP32.zip differ 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