123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package Plugins::SqueezeESP32::Graphics;
- use strict;
- use base qw(Slim::Display::Squeezebox2);
- my $VISUALIZER_NONE = 0;
- my @modes = (
- # mode 0
- { desc => ['BLANK'],
- bar => 0, secs => 0, width => 128,
- params => [$VISUALIZER_NONE] },
- # mode 1
- { desc => ['PROGRESS_BAR'],
- bar => 1, secs => 0, width => 128,
- params => [$VISUALIZER_NONE] },
- # mode 2
- { desc => ['ELAPSED'],
- bar => 0, secs => 1, width => 128,
- params => [$VISUALIZER_NONE] },
- # mode 3
- { desc => ['ELAPSED', 'AND', 'PROGRESS_BAR'],
- bar => 1, secs => 1, width => 128,
- params => [$VISUALIZER_NONE] },
- # mode 4
- { desc => ['REMAINING'],
- bar => 0, secs => -1, width => 128,
- params => [$VISUALIZER_NONE] },
- # mode 5
- { desc => ['CLOCK'],
- bar => 0, secs => 0, width => 128, clock => 1,
- params => [$VISUALIZER_NONE] },
- # mode 6
- { desc => ['SETUP_SHOWBUFFERFULLNESS'],
- bar => 0, secs => 0, width => 128, fullness => 1,
- params => [$VISUALIZER_NONE] },
- );
- sub modes {
- return \@modes;
- }
- sub nmodes {
- return $#modes;
- }
- # I don't think LMS renderer handles properly screens other than 32 pixels. It
- # seems that all we get is a 32 pixel-tall data with anything else padded to 0
- # i.e. if we try 64 pixels height, bytes 0..3 and 4..7 will contains the same
- # pattern than the 32 pixels version, where one would have expected bytes 4..7
- # to be empty
- =comment
- sub bytesPerColumn {
- return 4;
- }
- =cut
- sub displayHeight {
- return 32;
- }
- sub displayWidth {
- return shift->widthOverride(@_) || 128;
- }
- sub vfdmodel {
- return 'graphic-128x32';
- }
- 1;
|