diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index 6d080a8b..f283ce3e 100644 Binary files a/plugin/SqueezeESP32.zip and b/plugin/SqueezeESP32.zip differ diff --git a/plugin/SqueezeESP32/Graphics.pm b/plugin/SqueezeESP32/Graphics.pm index 247bbaa8..80cc1307 100644 --- a/plugin/SqueezeESP32/Graphics.pm +++ b/plugin/SqueezeESP32/Graphics.pm @@ -247,7 +247,7 @@ my @extra = ( ); @modes = (@modes, @extra) if $cprefs->get('height') > 32; - + return \@modes; } diff --git a/plugin/SqueezeESP32/Player.pm b/plugin/SqueezeESP32/Player.pm index c7eb1650..2f97ba6f 100644 --- a/plugin/SqueezeESP32/Player.pm +++ b/plugin/SqueezeESP32/Player.pm @@ -187,11 +187,13 @@ sub update_artwork { my $cprefs = $prefs->client($client); my $artwork = $cprefs->get('artwork') || return; - return unless $artwork->{'enable'}; + + my $header = pack('Nnn', $artwork->{'enable'}, $artwork->{'x'}, $artwork->{'y'}); + $client->sendFrame( grfa => \$header ); + $client->display->update; my $s = min($cprefs->get('height') - $artwork->{'y'}, $cprefs->get('width') - $artwork->{'x'}); - my $params = { force => shift || 0 }; my $path = 'music/current/cover_' . $s . 'x' . $s . '_o.jpg'; my $body = Slim::Web::Graphics::artworkRequest($client, $path, $params, \&send_artwork, undef, HTTP::Response->new); @@ -251,6 +253,7 @@ sub config_artwork { if ( my $artwork = $prefs->client($client)->get('artwork') ) { my $header = pack('Nnn', $artwork->{'enable'}, $artwork->{'x'}, $artwork->{'y'}); $client->sendFrame( grfa => \$header ); + $client->display->update; } } diff --git a/plugin/SqueezeESP32/PlayerSettings.pm b/plugin/SqueezeESP32/PlayerSettings.pm index c2c00952..b2bbf166 100644 --- a/plugin/SqueezeESP32/PlayerSettings.pm +++ b/plugin/SqueezeESP32/PlayerSettings.pm @@ -58,13 +58,14 @@ sub handler { $cprefs->set('spectrum', $spectrum); my $artwork = { - enable => $paramRef->{'pref_artwork_enable'}, + enable => $paramRef->{'pref_artwork_enable'} eq 'on', x => $paramRef->{'pref_artwork_x'} || 0, y => $paramRef->{'pref_artwork_y'} || 0, }; + $cprefs->set('artwork', $artwork); $client->display->modes($client->display->build_modes); - $client->display->update; + # the display update will be done below, after all is completed # force update or disable artwork if ($artwork->{'enable'}) { @@ -72,6 +73,7 @@ sub handler { } else { $client->config_artwork(); } + } my $equalizer = $cprefs->get('equalizer'); diff --git a/plugin/SqueezeESP32/install.xml b/plugin/SqueezeESP32/install.xml index 8d3e966b..3348a9db 100644 --- a/plugin/SqueezeESP32/install.xml +++ b/plugin/SqueezeESP32/install.xml @@ -10,6 +10,6 @@ PLUGIN_SQUEEZEESP32 PLUGIN_SQUEEZEESP32_DESC Plugins::SqueezeESP32::Plugin - 0.204 + 0.210 Philippe diff --git a/plugin/SqueezeESP32/strings.txt b/plugin/SqueezeESP32/strings.txt index 0ab48a8c..965e67de 100644 --- a/plugin/SqueezeESP32/strings.txt +++ b/plugin/SqueezeESP32/strings.txt @@ -80,8 +80,10 @@ PLUGIN_SQUEEZEESP32_ARTWORK PLUGIN_SQUEEZEESP32_ARTWORK_DESC DE Wenn die Y Position kleiner als 32 ist, dann werden Plattenhüllen auf der rechten Seite angezeigt, und x definiert die Startposition. DE Plattenhüllen werden auf Displays mit weniger als 16 Graustufen in sehr geringer Qualität angezeigt. - EN When Y position is less than 32, then artwork is displayed at the right of the main screen and x defines the starting position - EN Using artwork on less than 16-levels grayscale display if really poor quality + EN When Y position is less than 32, then artwork is displayed at the right of the main screen and X defines the starting position + EN
On large screen, it's possible to rotate the VU/Spectrum by setting a small X offset (typically 32). That will push the + EN artwork to the right and make space for a vertical VU to its left. + EN
Note that using artwork on less than 16-levels grayscale display if really poor quality PLUGIN_SQUEEZEESP32_ARTWORK_ENABLE DE Aktivieren diff --git a/plugin/repo.xml b/plugin/repo.xml index 005f1fc5..126b1ad4 100644 --- a/plugin/repo.xml +++ b/plugin/repo.xml @@ -1,10 +1,10 @@ - + https://github.com/sle118/squeezelite-esp32 Philippe - a4b8b38c148b518dcc89c559785df60b0fe332e0 + dd66b0ac524595af833766c3cd790ee4ca96e0b6 philippe_44@outlook.com SqueezeESP32 additional player id (100) http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip