From 5a4181642f289a755de9f8662a4a66ed9af93dda Mon Sep 17 00:00:00 2001 From: philippe44 Date: Thu, 16 Jan 2020 00:31:16 -0800 Subject: [PATCH] add width parameter in plugin --- plugin/SqueezeESP32.zip | Bin 2628 -> 4562 bytes plugin/SqueezeESP32/Graphics.pm | 24 ++++++++------ .../plugins/SqueezeESP32/settings/basic.html | 11 +++++++ plugin/SqueezeESP32/Plugin.pm | 9 +++++- plugin/SqueezeESP32/Settings.pm | 30 ++++++++++++++++++ plugin/SqueezeESP32/install.xml | 2 +- plugin/SqueezeESP32/strings.txt | 7 ++-- plugin/repo.xml | 2 +- 8 files changed, 71 insertions(+), 14 deletions(-) create mode 100644 plugin/SqueezeESP32/HTML/EN/plugins/SqueezeESP32/settings/basic.html create mode 100644 plugin/SqueezeESP32/Settings.pm diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index 15126a7d3096c617ed88fcf61e70cce8b3c07c67..ddffccc8ea0b4714f5387a3e70b62751c6c8ffc5 100644 GIT binary patch literal 4562 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 delta 1708 zcmZWpdpOf;9RCe-X<{^&NW{!_b7@C6qU5r6%uMcb3CE?mw5{gJW%LkDa+w~HYbE8V zrU|2Rx3(-WR;9@*OgtbnQqC$;Ry_ z(={icE&_+Rn8 zM0jsVfHdLYssu*Isy^25&yCkYyfO_rKzb59dpNk0)l|S3m?l-sT}aMYXpCPv>9n%B zH$^75RqrlZ`6|a}>|^EADM>J1dXT~tEze9&h!^JVmoax*b&Ysr&J)6V>;ydj0FJ_}CPc?OeQ3>T~Av!L9X=q3^Y+Ig*+fkY1( z!_;~I(-T}5W@$U#JY7OhQc}|>^sYR}tm{hV-nY6}+?Q;a>EY0t;C?!e{vrPN!^|_w z{Wm!bM+b$K5oOmqg~#>e>{RY=E%&pA^;8)hEGoiPYmTtZ^7Yy(#5B+Tz#U_@vAWwU zsbB93?>3uP}BrBrNZgp?qny=ip@jhA@mu&_s&&87u{KLWdLp zD1c5Nl21lP$ALabA&nBGtl%kUGZ>dNSr`Q^i+Dp-3y-j4MJ?kmi^g8oRFjLF%no$5 zk48g#s+QU11X0-@>WF{1r-#0xm#08Lsd%E@<9^>gt5~CqM{9pJ+o+urQeIFp8prEe zo5(?WF(^%)l+2k!~sm1{F<=0kKb1{J2=%RdS*bc2f zD;A{HVEwhlS;N8-;raUV=V}I}E3-H0w@p(RA&&X%auGHs(wDyM@Huv;Y$<9)0a<_& z6tTrQ<&X4VJD7UMuk#-@=SGzY^8#Yiv#r744k$=4n92w!Qh3e+sFtX+-4jnKa(-;e_W?j8(%iG2{ zqopdHX*19HH`{b5yo0O!5csZHze+R_V~)*B1bfm5#`=_^(kRh!kyH#Vk(Qa;u&K*Z zQ+85p^3bEX&RuWOC1b?7maJm8(vKsQHLPf+bkPdwT`d@dAjeDHr}-@SW&}D+RAb=*|&$H>M0@>1wA8ZBLJ}P6SOr=@6 zaNSU-1{XvIA;ZNFG}ki`50SD5{-5kW>v>~24d@1SZ!C7J_P4bxu$YQ#1ejTsaCMiT ze}5wrTlR-uY~*sPxB7Geget('width') || 128; my @modes = ( # mode 0 { desc => ['BLANK'], - bar => 0, secs => 0, width => 128, + bar => 0, secs => 0, width => $width, params => [$VISUALIZER_NONE] }, # mode 1 { desc => ['PROGRESS_BAR'], - bar => 1, secs => 0, width => 128, + bar => 1, secs => 0, width => $width, params => [$VISUALIZER_NONE] }, # mode 2 { desc => ['ELAPSED'], - bar => 0, secs => 1, width => 128, + bar => 0, secs => 1, width => $width, params => [$VISUALIZER_NONE] }, # mode 3 { desc => ['ELAPSED', 'AND', 'PROGRESS_BAR'], - bar => 1, secs => 1, width => 128, + bar => 1, secs => 1, width => $width, params => [$VISUALIZER_NONE] }, # mode 4 { desc => ['REMAINING'], - bar => 0, secs => -1, width => 128, + bar => 0, secs => -1, width => $width, params => [$VISUALIZER_NONE] }, # mode 5 { desc => ['CLOCK'], - bar => 0, secs => 0, width => 128, clock => 1, + bar => 0, secs => 0, width => $width, clock => 1, params => [$VISUALIZER_NONE] }, # mode 6 { desc => ['SETUP_SHOWBUFFERFULLNESS'], - bar => 0, secs => 0, width => 128, fullness => 1, + bar => 0, secs => 0, width => $width, fullness => 1, params => [$VISUALIZER_NONE] }, ); @@ -62,11 +68,11 @@ sub displayHeight { } sub displayWidth { - return shift->widthOverride(@_) || 128; + return shift->widthOverride(@_) || $width; } sub vfdmodel { - return 'graphic-128x32'; + return 'graphic-'.$width.'x32'; } 1; \ No newline at end of file diff --git a/plugin/SqueezeESP32/HTML/EN/plugins/SqueezeESP32/settings/basic.html b/plugin/SqueezeESP32/HTML/EN/plugins/SqueezeESP32/settings/basic.html new file mode 100644 index 00000000..f6cffbe7 --- /dev/null +++ b/plugin/SqueezeESP32/HTML/EN/plugins/SqueezeESP32/settings/basic.html @@ -0,0 +1,11 @@ +[% PROCESS settings/header.html %] + +
+ + [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_WIDTH" desc="PLUGIN_SQUEEZEESP32_WIDTH_DESC" %] + + [% END %] + +
+ +[% PROCESS settings/footer.html %] diff --git a/plugin/SqueezeESP32/Plugin.pm b/plugin/SqueezeESP32/Plugin.pm index 80a074fa..893500b0 100644 --- a/plugin/SqueezeESP32/Plugin.pm +++ b/plugin/SqueezeESP32/Plugin.pm @@ -8,7 +8,9 @@ use Slim::Utils::Log; my $prefs = preferences('plugin.squeezeesp32'); -$prefs->init(); +$prefs->init({ + width => 128, +}); my $log = Slim::Utils::Log->addLogCategory({ 'category' => 'plugin.squeezeesp32', @@ -18,6 +20,11 @@ my $log = Slim::Utils::Log->addLogCategory({ sub initPlugin { my $class = shift; + + if ( main::WEBUI ) { + require Plugins::SqueezeESP32::Settings; + Plugins::SqueezeESP32::Settings->new; + } $class->SUPER::initPlugin(@_); Slim::Networking::Slimproto::addPlayerClass($class, 100, 'squeezeesp32', { client => 'Plugins::SqueezeESP32::Player', display => 'Plugins::SqueezeESP32::Graphics' }); diff --git a/plugin/SqueezeESP32/Settings.pm b/plugin/SqueezeESP32/Settings.pm new file mode 100644 index 00000000..0281fb07 --- /dev/null +++ b/plugin/SqueezeESP32/Settings.pm @@ -0,0 +1,30 @@ +package Plugins::SqueezeESP32::Settings; +use base qw(Slim::Web::Settings); + +use strict; + +use Slim::Utils::Prefs; +use Slim::Utils::Log; + +my $log = logger('plugin.SqueezeESP32'); + +sub name { + return 'PLUGIN_SQUEEZEESP32'; +} + +sub page { + return 'plugins/SqueezeESP32/settings/basic.html'; +} + +sub prefs { + return (preferences('plugin.SqueezeESP32'), qw(width)); +} + +sub handler { + my ($class, $client, $params, $callback, @args) = @_; + + $callback->($client, $params, $class->SUPER::handler($client, $params), @args); +} + + +1; diff --git a/plugin/SqueezeESP32/install.xml b/plugin/SqueezeESP32/install.xml index 626fd90d..544f5917 100644 --- a/plugin/SqueezeESP32/install.xml +++ b/plugin/SqueezeESP32/install.xml @@ -10,6 +10,6 @@ PLUGIN_SQUEEZEESP32 PLUGIN_SQUEEZEESP32_DESC Plugins::SqueezeESP32::Plugin - 0.3 + 0.4 Philippe diff --git a/plugin/SqueezeESP32/strings.txt b/plugin/SqueezeESP32/strings.txt index 2009781f..b2c86fb6 100644 --- a/plugin/SqueezeESP32/strings.txt +++ b/plugin/SqueezeESP32/strings.txt @@ -2,8 +2,11 @@ WELCOME_TO_SQUEEZEESP32 EN Welcome to SqueezeESP32 PLUGIN_SQUEEZEESP32 - SqueezeESP32 + EN SqueezeESP32 PLUGIN_SQUEEZEESP32_DESC - Adds a new player id (100) to enable display with SqueezeESP32 + EN Adds a new player id (100) to enable display with SqueezeESP32 + +PLUGIN_SQUEEZEESP32_WIDTH + EN Screen width \ No newline at end of file diff --git a/plugin/repo.xml b/plugin/repo.xml index 5d67e7c1..3eb8842d 100644 --- a/plugin/repo.xml +++ b/plugin/repo.xml @@ -4,7 +4,7 @@ https://github.com/sle118/squeezelite-esp32 Philippe - 799ae4860f9c009ac25c2ec35eb4070c5f474659 + cec20d0489ed120d56ea2de836c616c7d970c0d5 philippe_44@outlook.com SqueezeESP32 additional player id (100) http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip