--- strings.txt 2005-11-09 16:51:00.000000000 -0800 +++ server/strings.txt 2005-11-16 13:40:28.830003700 -0800 @@ -937,6 +937,9 @@ ALARM_SET_VOLUME_SHORT SE Väckningsvolym ZH_CN 闹钟音量: +ALARM_FADESECONDS + EN Alarm Fade-in Time + ALARM_SET_ENTRY CZ Čas buzení DE Stellen der Weckzeit @@ -1599,9 +1602,7 @@ SETUP_GROUP_ALARM ZH_CN 闹钟 SETUP_GROUP_ALARM_DESC - DE Pro Player können bis zu 8 Wecker definiert werden: für jeden Wochentag einen, sowie einen täglichen, der jeden Tag aktiv ist. - EN This player can have up to 8 alarms: one alarm that goes off every day and individual alarms for each day of the week. - ES Este reproductor puede tener hasta 8 alarmas: una alarma que suena todos los días, y una alarma individual para cada día de la semana. + EN This player can have up to 8 alarms: one alarm that goes off every day and individual alarms for each day of the week. You may also choose to have the alarm fade in over up to 90 seconds. Default is 0. SETUP_GROUP_IRSETS CZ Dálkové ovládání @@ -2031,6 +2032,9 @@ SETUP_ALARMVOLUME SE Välj volym för väckning (0-100) ZH_CN 设置闹钟音量(0-100) +SETUP_ALARMFADESECONDS + EN Alarm Fade-in Duration (0-90sec) + SETUP_ALARMPLAYLIST CZ Playlist budíku DE Wiedergabeliste für den Wecker --- AlarmClock.pm 2005-11-03 16:41:00.000000000 -0800 +++ server/Slim/Buttons/AlarmClock.pm 2005-11-16 13:57:06.217103500 -0800 @@ -199,6 +199,28 @@ sub init { Slim::Buttons::Common::pushModeLeft($client, 'INPUT.Bar',\%params); + # choice is alarm fade time setting. create params and enter the bar input mode. + } elsif ($menuChoice eq 'ALARM_FADESECONDS') { + + my %params = ( + 'header' => 'ALARM_FADESECONDS', + 'stringHeader' => 1, + 'headerValue' =>'unscaled', + 'headerValueUnit' => 'SECONDS', + 'max' => 90, + 'midIsZero' => 0, + 'increment' => 1, + 'onChange' => sub { + my $client = shift; + my $item = shift; + + $client->prefSet("alarmfadeseconds"); + }, + 'valueRef' => \$client->prefGet("alarmfadeseconds"), + ); + + Slim::Buttons::Common::pushModeLeft($client, 'INPUT.Bar',\%params); + # choice is weekday alarms. create params and enter the list input mode. # creates a list of days, so that pressing right on a day re-enters alarm menu system with the specific day set. } elsif ($menuChoice eq 'ALARM_WEEKDAYS') { @@ -276,6 +298,10 @@ sub setMode { unless (defined $time) { $client->prefSet("alarmtime", 9 * 60 * 60, $weekDay); } + + unless (defined $client->param('day')) { + push @browseMenuChoices, 'ALARM_FADESECONDS'; + } } # on exiting the weekday list, this handler will deal the exit left to the previous @@ -366,7 +392,7 @@ sub checkAlarms { } # fade volume over time - $client->fade_volume($client->prefGet("alarmfadeseconds", $day)); + $client->fade_volume($client->prefGet("alarmfadeseconds")); my $playlist = $client->prefGet("alarmplaylist", $day); --- Setup.pm 2005-11-10 01:16:00.000000000 -0800 +++ server/Slim/Web/Setup.pm 2005-11-16 13:25:29.300400000 -0800 @@ -843,14 +843,20 @@ sub initSetupConfig { ,'GroupOrder' => ['AlarmClock','AlarmDay0','AlarmDay1','AlarmDay2','AlarmDay3','AlarmDay4','AlarmDay5','AlarmDay6','AlarmDay7'] ,'Groups' => { 'AlarmClock' => { - 'PrefOrder' => undef + 'PrefOrder' => ['alarmfadeseconds'] ,'GroupHead' => string('SETUP_GROUP_ALARM') ,'GroupDesc' => string('SETUP_GROUP_ALARM_DESC') ,'GroupLine' => 1 + ,'Suppress_PrefLine' => 1 + ,'Suppress_PrefHead' => 1 } } ,'Prefs' => { - undef + 'alarmfadeseconds' => { + 'validate' => \&validateNumber + ,'PrefChoose' => string('SETUP_ALARMFADESECONDS').string('COLON') + ,'validateArgs' => [0,90,1,1] + } }, } ,'audio' => {