Index: Slim/Buttons/Settings.pm =================================================================== --- Slim/Buttons/Settings.pm (revision 20894) +++ Slim/Buttons/Settings.pm (working copy) @@ -653,7 +653,7 @@ sub brightnessInit { my $client = shift; - my $hash = Slim::Web::Settings::Player::Display::getBrightnessOptions($client); + my $hash = $client->display->getBrightnessOptions(); my @options; for (sort keys %$hash) { Index: Slim/Display/Display.pm =================================================================== --- Slim/Display/Display.pm (revision 20894) +++ Slim/Display/Display.pm (working copy) @@ -370,6 +370,52 @@ return $brightness; } +sub getBrightnessOptions { + my $display = shift; + + my %brightnesses = ( + 0 => '0 ('.$display->client->string('BRIGHTNESS_DARK').')', + 1 => '1 ('.$display->client->string('BRIGHTNESS_DIMMEST').')', + 2 => '2', + 3 => '3', + 4 => '4 ('.$display->client->string('BRIGHTNESS_BRIGHTEST').')', + ); + + if (!defined $display) { + + return \%brightnesses; + } + + if (defined $display->maxBrightness) { + + my $maxBrightness = $display->maxBrightness; + + $brightnesses{4} = 4; + + my @brightnessMap = $display->brightnessMap(); + + # for large values at the end of the brightnessMap, we assume these are ambient index values + if ($brightnessMap[$maxBrightness] > 255 ) { + + for my $brightness (4 .. $maxBrightness) { + if ($brightnessMap[$brightness] > 255 ) { + + $brightnesses{$brightness} = $display->client->string('BRIGHTNESS_AMBIENT').' ('.sprintf("%4X",$brightnessMap[$brightness]).')'; + $maxBrightness--; + } + } + } + + + $brightnesses{$maxBrightness} = sprintf('%s (%s)', + $maxBrightness, $display->client->string('BRIGHTNESS_BRIGHTEST') + ); + + } + + return \%brightnesses; +} + sub prevline1 { my $display = shift; my $cache = $display->renderCache() || return; Index: Slim/Web/Settings/Player/Display.pm =================================================================== --- Slim/Web/Settings/Player/Display.pm (revision 20894) +++ Slim/Web/Settings/Player/Display.pm (working copy) @@ -93,7 +93,7 @@ } # Load any option lists for dynamic options. - $paramRef->{'brightnessOptions' } = getBrightnessOptions($client); + $paramRef->{'brightnessOptions' } = $client->display->getBrightnessOptions(); $paramRef->{'maxBrightness' } = $client->maxBrightness; $paramRef->{'fontOptions'} = getFontOptions($client); @@ -139,52 +139,6 @@ return $fonts; } -sub getBrightnessOptions { - my $client = shift; - - my %brightnesses = ( - 0 => '0 ('.string('BRIGHTNESS_DARK').')', - 1 => '1 ('.string('BRIGHTNESS_DIMMEST').')', - 2 => '2', - 3 => '3', - 4 => '4 ('.string('BRIGHTNESS_BRIGHTEST').')', - ); - - if (!defined $client) { - - return \%brightnesses; - } - - if (defined $client->maxBrightness) { - - my $maxBrightness = $client->maxBrightness; - - $brightnesses{4} = 4; - - my @brightnessMap = $client->display->brightnessMap(); - - # for large values at the end of the brightnessMap, we assume these are ambient index values - if ($brightnessMap[$maxBrightness] > 255 ) { - - for my $brightness (4 .. $maxBrightness) { - if ($brightnessMap[$brightness] > 255 ) { - - $brightnesses{$brightness} = string('BRIGHTNESS_AMBIENT').' ('.sprintf("%4X",$brightnessMap[$brightness]).')'; - $maxBrightness--; - } - } - } - - - $brightnesses{$maxBrightness} = sprintf('%s (%s)', - $maxBrightness, string('BRIGHTNESS_BRIGHTEST') - ); - - } - - return \%brightnesses; -} - 1; __END__