### Eclipse Workspace Patch 1.0 #P 7.3 Index: server/Slim/Display/Squeezebox2.pm =================================================================== --- server/Slim/Display/Squeezebox2.pm (revision 25079) +++ server/Slim/Display/Squeezebox2.pm (working copy) @@ -124,7 +124,7 @@ our $defaultPrefs = { 'playingDisplayMode' => 5, - 'playingDisplayModes' => [0..11] + 'playingDisplayModes' => [0..13] }; our $defaultFontPrefs = { Index: server/Slim/Display/Boom.pm =================================================================== --- server/Slim/Display/Boom.pm (revision 25079) +++ server/Slim/Display/Boom.pm (working copy) @@ -114,7 +114,7 @@ our $defaultPrefs = { 'playingDisplayMode' => 1, - 'playingDisplayModes' => [0..10], + 'playingDisplayModes' => [0..11], 'idleBrightness' => 6, 'powerOnBrightness' => 6, 'powerOffBrightness' => 6, Index: server/Slim/Player/Player.pm =================================================================== --- server/Slim/Player/Player.pm (revision 25080) +++ server/Slim/Player/Player.pm (working copy) @@ -679,32 +679,8 @@ my $fractioncomplete = 0; my $songtime = ''; - my $modes; - - if ( main::SLIM_SERVICE ) { - # Allow buffer fullness display to work on SN where we don't have a playingDisplayModes pref - if ( $client->isa('Slim::Player::Transporter') ) { - if ( $prefs->client($client)->get('playingDisplayMode') >= 6 ) { - $modes = [0..7]; - } - } - elsif ( $client->isa('Slim::Player::Boom') ) { - if ( $prefs->client($client)->get('playingDisplayMode') >= 10 ) { - $modes = [0..11]; - } - } - else { - if ( $prefs->client($client)->get('playingDisplayMode') >= 12 ) { - $modes = [0..13]; - } - } - } - - if ( !defined $modes ) { - $modes = $prefs->client($client)->get('playingDisplayModes'); - } - - my $mode = $modes->[ $prefs->client($client)->get('playingDisplayMode') ]; + my $modes = $prefs->client($client)->get('playingDisplayModes'); + my $mode = $modes->[ $prefs->client($client)->get('playingDisplayMode') ]; unless (defined $mode) { $mode = 1; }; Index: server/Slim/Display/Transporter.pm =================================================================== --- server/Slim/Display/Transporter.pm (revision 25079) +++ server/Slim/Display/Transporter.pm (working copy) @@ -34,7 +34,7 @@ our $defaultPrefs = { 'playingDisplayMode' => 5, - 'playingDisplayModes' => [0..5], + 'playingDisplayModes' => [0..7], 'visualMode' => 2, 'visualModes' => [0..5], }; Index: server/Slim/Utils/Prefs.pm =================================================================== --- server/Slim/Utils/Prefs.pm (revision 25079) +++ server/Slim/Utils/Prefs.pm (working copy) @@ -517,6 +517,27 @@ 1; } ); + + $prefs->migrateClient( 9, sub { + my ( $cprefs, $client ) = @_; + + my $maxCount = 13; + + if ( $client->isa('Slim::Player::Boom') ) { + $maxCount = 11; + } + elsif ( $client->isa('Slim::Player::Transporter') ) { + $maxCount = 7; + } + + if ( my $existing = $cprefs->get('playingDisplayModes') ) { + if (scalar @$existing == $maxCount-1 && $existing->[0] == 0 && $existing->[-1] == $maxCount-1) { + $cprefs->set('playingDisplayModes', [0..$maxCount]); + } + } + + 1; + } ); } # initialise any new prefs