slartibartfast wrote: 
> I was just about to try this then noticed my basic.pm file contents are
> different. Yours has numerous "&gt" and mine has none.

Sorry, as unwanted side-effect of formatted copy-paste. You only need to
change the lines in red/blue

Code:
--------------------
    
  sub handler {
        my ($class, $client, $paramRef) = @_;
  
        if (!defined $client) {
                return $class->SUPER::handler($client, $paramRef);
        }
  
        # reset all client preferences to factory defaults
        if ($paramRef->{resetprefs}) {
                $client->resetPrefs();
        }
  
        # array prefs handled by this handler not handler::SUPER
        my @prefs = ();
  
        if (defined $client && $client->isPlayer() && 
!$client->display->isa('Slim::Display::NoDisplay')) {
  
                push @prefs, qw(titleFormat playingDisplayModes);
  
                if ($client->display->isa('Slim::Display::Transporter')) {
  
                        push @prefs, qw(visualModes);
                }
        }
  
        # Bug 8069, show title format pref for HTTP clients
        if ( $client->isa('Slim::Player::HTTP') ) {
                push @prefs, 'titleFormat';
        }
  
        if ($paramRef->{'saveSettings'}) {
  
                for my $pref (@prefs) {
  
                        my $i = 0;
                        my @array;
  
                        while (defined $paramRef->{'pref_'.$pref.$i}) {
  
                                if ($paramRef->{'pref_'.$pref.$i} ne "-1") 
{push @array, $paramRef->{'pref_'.$pref.$i};}
                                $i++;
                        }
  
                        $prefs->client($client)->set($pref, \@array);
                }
  
                #if ($client->isPlayer && 
$client->isa('Slim::Player::SqueezePlay') && defined 
$paramRef->{'defeatDestructiveTouchToPlay'}) {
                if ($client->isPlayer && defined 
$paramRef->{'defeatDestructiveTouchToPlay'}) {
                        
$prefs->client($client)->set('defeatDestructiveTouchToPlay', 
$paramRef->{'defeatDestructiveTouchToPlay'});
                }
        }
  
        $paramRef->{'prefs'}->{'pref_playername'} ||= $client->name;
  
        for my $pref (@prefs) {
                $paramRef->{'prefs'}->{'pref_'.$pref} = [ @{ 
$prefs->client($client)->get($pref) }, "-1" ];
        }
  
        $paramRef->{'titleFormatOptions'}  = hashOfPrefs('titleFormat');
  
        if ($client && !$client->display->isa('Slim::Display::NoDisplay')) {
                $paramRef->{'playingDisplayOptions'} = 
getPlayingDisplayModes($client);
                $paramRef->{'visualModeOptions'}     = getVisualModes($client);
                $paramRef->{'saveropts'}             = 
Slim::Buttons::Common::validSavers($client);
        }
  
        $paramRef->{'playerinfo'} = Slim::Menu::SystemInfo::infoCurrentPlayer( 
$client );
        $paramRef->{'playerinfo'} = $paramRef->{'playerinfo'}->{web}->{items};
        $paramRef->{'macaddress'} = $client->macaddress;
  
        $paramRef->{'playericon'} = $class->getPlayerIcon($client,$paramRef);
  
        #if ($client->isPlayer && $client->isa('Slim::Player::SqueezePlay')) {
        if ($client->isPlayer) {
                $paramRef->{'defeatDestructiveTouchToPlay'} = 
$prefs->client($client)->get('defeatDestructiveTouchToPlay');
                $paramRef->{'defeatDestructiveTouchToPlay'} = 
$prefs->get('defeatDestructiveTouchToPlay') unless defined 
$paramRef->{'defeatDestructiveTouchToPlay'};
        }
  
        $paramRef->{'radioNeedsFakeVersion'} = $client->model(1) eq 'baby' && 
Slim::Networking::Discovery->needsFakeVersion;
  
        my $page = $class->SUPER::handler($client, $paramRef);
  
        if ($client && $client->display->isa('Slim::Display::Transporter')) {
                Slim::Buttons::Common::updateScreen2Mode($client);
        }
  
        return $page;
  }



LMS 7.9  on Pi 3B+ & Odroid-C2 - *SqueezeAMP!*, 5xRadio, 3xBoom, 4xDuet,
1xTouch, 1 SB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000,
ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2,
Squeezelite on Pi,  Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5,
Riva 1 & 3
------------------------------------------------------------------------
philippe_44's Profile: http://forums.slimdevices.com/member.php?userid=17261
View this thread: http://forums.slimdevices.com/showthread.php?t=108558

_______________________________________________
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to