Player.pm 775 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package Plugins::SqueezeESP32::Player;
  2. use strict;
  3. use base qw(Slim::Player::SqueezePlay);
  4. use Slim::Utils::Log;
  5. use Slim::Utils::Prefs;
  6. my $prefs = preferences('plugin.squeezeesp32');
  7. sub model { 'squeezeesp32' }
  8. sub modelName { 'SqueezeESP32' }
  9. sub hasIR { 0 }
  10. # Allow the player to define it's display width (and probably more)
  11. sub playerSettingsFrame {
  12. my $client = shift;
  13. my $data_ref = shift;
  14. my $value;
  15. my $id = unpack('C', $$data_ref);
  16. # New SETD command 0xfe for display width
  17. if ($id == 0xfe) {
  18. $value = (unpack('CC', $$data_ref))[1];
  19. if ($value > 10 && $value < 200) {
  20. $client->display->widthOverride(1, $value);
  21. $client->update;
  22. }
  23. }
  24. $client->SUPER::playerSettingsFrame($data_ref);
  25. }
  26. sub hasScrolling {
  27. return 1;
  28. }
  29. 1;