From 6ae47a908bbc9ebdf47b75111ca99c3911c9463d Mon Sep 17 00:00:00 2001 From: Philippe G Date: Tue, 6 Oct 2020 22:28:01 -0700 Subject: [PATCH] add player type 101 - release --- components/squeezelite/embedded.c | 2 +- plugin/SqueezeESP32.zip | Bin 10327 -> 11701 bytes plugin/SqueezeESP32/Player.pm | 15 +++++++++- plugin/SqueezeESP32/PlayerSettings.pm | 6 ++-- plugin/SqueezeESP32/Plugin.pm | 38 ++++---------------------- plugin/SqueezeESP32/install.xml | 2 +- plugin/repo.xml | 4 +-- 7 files changed, 27 insertions(+), 40 deletions(-) diff --git a/components/squeezelite/embedded.c b/components/squeezelite/embedded.c index c9a2c27b..9a0e5f95 100644 --- a/components/squeezelite/embedded.c +++ b/components/squeezelite/embedded.c @@ -51,7 +51,7 @@ u8_t custom_player_id = 12; void embedded_init(void) { mutex_create(slimp_mutex); sb_controls_init(); - if (sb_display_init()) custom_player_id = 100; + custom_player_id = sb_display_init() ? 100 : 101; } u16_t get_RSSI(void) { diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index 1d8b8c75c2a623b291aa0cb813f54b63fb7e3c63..9c2052936a721afcbc2371c1a857ac639b23d106 100644 GIT binary patch delta 8223 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 diff --git a/plugin/SqueezeESP32/Player.pm b/plugin/SqueezeESP32/Player.pm index 78eba318..5dddc64a 100644 --- a/plugin/SqueezeESP32/Player.pm +++ b/plugin/SqueezeESP32/Player.pm @@ -92,11 +92,15 @@ sub init { $client->SUPER::init(@_); $client->config_artwork; -} + $client->send_equalizer; + + main::INFOLOG && $log->is_info && $log->info("SqueezeESP player connected: " . $client->id); +} sub initPrefs { my $client = shift; $sprefs->client($client)->init($defaultPrefs); + $prefs->client($client)->init( { equalizer => [(0) x 10] } ); $client->SUPER::initPrefs; } @@ -146,6 +150,15 @@ sub treble { return $value; } +sub send_equalizer { + my ($client, $equalizer) = @_; + + $equalizer ||= $prefs->client($client)->get('equalizer') || [(0) x 10]; + my $size = @$equalizer; + my $data = pack("c[$size]", @{$equalizer}); + $client->sendFrame( eqlz => \$data ); +} + sub update_equalizer { my ($client, $value, $index) = @_; return if $client->tone_update; diff --git a/plugin/SqueezeESP32/PlayerSettings.pm b/plugin/SqueezeESP32/PlayerSettings.pm index cde4bb0c..d4a4e2d6 100644 --- a/plugin/SqueezeESP32/PlayerSettings.pm +++ b/plugin/SqueezeESP32/PlayerSettings.pm @@ -31,7 +31,7 @@ sub page { sub prefs { my ($class, $client) = @_; my @prefs; - push @prefs, qw(width small_VU) if defined $client->displayWidth; + push @prefs, qw(width small_VU) if $client->displayWidth; return ($prefs->client($client), @prefs); } @@ -41,7 +41,7 @@ sub handler { my ($cprefs, @prefs) = $class->prefs($client); if ($paramRef->{'saveSettings'}) { - if (defined $client->displayWidth) { + if ($client->displayWidth) { $cprefs->set('small_VU', $paramRef->{'pref_small_VU'} || 15); my $spectrum = { scale => $paramRef->{'pref_spectrum_scale'} || 25, @@ -76,7 +76,7 @@ sub handler { $client->update_tones($equalizer); } - if (defined $client->displayWidth) { + if ($client->displayWidth) { # the Settings super class can't handle anything but scalar values # we need to populate the $paramRef for the other prefs manually $paramRef->{'pref_spectrum'} = $cprefs->get('spectrum'); diff --git a/plugin/SqueezeESP32/Plugin.pm b/plugin/SqueezeESP32/Plugin.pm index e2b13573..007f65f4 100644 --- a/plugin/SqueezeESP32/Plugin.pm +++ b/plugin/SqueezeESP32/Plugin.pm @@ -25,7 +25,7 @@ $prefs->migrateClient(1, sub { }); $prefs->setChange(sub { - send_equalizer($_[2]); + $_[2]->send_equalizer; }, 'equalizer'); sub initPlugin { @@ -40,8 +40,10 @@ sub initPlugin { } $class->SUPER::initPlugin(@_); - Slim::Networking::Slimproto::addPlayerClass($class, 100, 'squeezeesp32', { client => 'Plugins::SqueezeESP32::Player', display => 'Plugins::SqueezeESP32::Graphics' }); - main::INFOLOG && $log->is_info && $log->info("Added class 100 for SqueezeESP32"); + # no name can be a subset of others due to a bug in addPlayerClass + Slim::Networking::Slimproto::addPlayerClass($class, 100, 'squeezeesp32-basic', { client => 'Plugins::SqueezeESP32::Player', display => 'Plugins::SqueezeESP32::Graphics' }); + Slim::Networking::Slimproto::addPlayerClass($class, 101, 'squeezeesp32-graphic', { client => 'Plugins::SqueezeESP32::Player', display => 'Slim::Display::NoDisplay' }); + main::INFOLOG && $log->is_info && $log->info("Added class 100 and 101 for SqueezeESP32"); # register a command to set the EQ - without saving the values! Send params as single comma separated list of values Slim::Control::Request::addDispatch(['squeezeesp32', 'seteq', '_eq'], [1, 0, 0, \&setEQ]); @@ -50,9 +52,6 @@ sub initPlugin { Slim::Control::Request::subscribe( sub { onNotification(@_) }, [ ['newmetadata'] ] ); Slim::Control::Request::subscribe( sub { onNotification(@_) }, [ ['playlist'], ['open', 'newsong'] ]); Slim::Control::Request::subscribe( \&onStopClear, [ ['playlist'], ['stop', 'clear'] ]); - - # the custom player class is only initialized if it has a display - thus we need to listen to connect events in order to initializes other player prefs - Slim::Control::Request::subscribe( \&onPlayer,[ ['client'], [ 'new', 'reconnect' ] ] ); } sub onStopClear { @@ -64,20 +63,6 @@ sub onStopClear { } } -sub onPlayer { - my $request = shift; - my $client = $request->client || return; - - if ($client->model eq 'squeezeesp32') { - main::INFOLOG && $log->is_info && $log->info("SqueezeESP player connected: " . $client->id); - - $prefs->client($client)->init( { - equalizer => [(0) x 10], - } ); - send_equalizer($client); - } -} - sub onNotification { my $request = shift; my $client = $request->client || return; @@ -104,18 +89,7 @@ sub setEQ { $eqParams[$x] ||= 0; } - send_equalizer($client, \@eqParams); -} - -sub send_equalizer { - my ($client, $equalizer) = @_; - - if ($client->model eq 'squeezeesp32') { - $equalizer ||= $prefs->client($client)->get('equalizer') || [(0) x 10]; - my $size = @$equalizer; - my $data = pack("c[$size]", @{$equalizer}); - $client->sendFrame( eqlz => \$data ); - } + $client->send_equalizer(\@eqParams); } 1; diff --git a/plugin/SqueezeESP32/install.xml b/plugin/SqueezeESP32/install.xml index ef8c3894..e241642f 100644 --- a/plugin/SqueezeESP32/install.xml +++ b/plugin/SqueezeESP32/install.xml @@ -10,6 +10,6 @@ PLUGIN_SQUEEZEESP32 PLUGIN_SQUEEZEESP32_DESC Plugins::SqueezeESP32::Plugin - 0.104 + 0.200 Philippe diff --git a/plugin/repo.xml b/plugin/repo.xml index 8a7a7cac..a9a90fa7 100644 --- a/plugin/repo.xml +++ b/plugin/repo.xml @@ -1,10 +1,10 @@ - + https://github.com/sle118/squeezelite-esp32 Philippe - 79e505a30d7b6dbf43893acab176d57438e2a4a1 + ab2d65f5ba8e73f0f78a1a8650af19ebb1e8e724 philippe_44@outlook.com SqueezeESP32 additional player id (100) http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip