Index: Slim/Utils/Alarms.pm =================================================================== --- Slim/Utils/Alarms.pm (revision 17367) +++ Slim/Utils/Alarms.pm (working copy) @@ -16,7 +16,7 @@ my $prefs = preferences('server'); -my %possibleSpecialPlaylistsIDs = ( +our %possibleSpecialPlaylistsIDs = ( 'CURRENT_PLAYLIST' => -1, 'PLUGIN_RANDOM_TRACK' => -2, 'PLUGIN_RANDOM_ALBUM' => -3, @@ -161,6 +161,17 @@ $self->playlist($playlistObj->url); return $newvalue; + } else { + + for my $playlist (keys %possibleSpecialPlaylistsIDs) { + + if ($possibleSpecialPlaylistsIDs{$playlist} == $newvalue) { + + $self->playlist($playlist); + return $newvalue; + } + + } } } else { Index: Slim/Control/Jive.pm =================================================================== --- Slim/Control/Jive.pm (revision 17367) +++ Slim/Control/Jive.pm (working copy) @@ -197,6 +197,7 @@ titleStyle => 'internetradio', }, }, + { text => Slim::Utils::Strings::string('MUSIC_SERVICES'), id => 'ondemand', @@ -893,7 +894,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', dow => $day, enabled => 1, }, @@ -902,7 +903,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', dow => $day, enabled => 0, }, @@ -931,7 +932,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', dow => $day, time => '__TAGGEDINPUT__', }, @@ -947,12 +948,15 @@ my @allPlaylists = ( { text => Slim::Utils::Strings::string("CURRENT_PLAYLIST"), - radio => ($alarm_playlist == -1) + 0, # 0 is added to force the data type to number + radio => ($alarm_playlist ne '' && + $Slim::Utils::Alarms::possibleSpecialPlaylistsIDs{$alarm_playlist} == -1) + 0, # 0 is added to force the data type to number + actions => { do => { player => 0, - cmd => ['alarms'], + cmd => ['alarm'], params => { + cmd => 'update', playlist_id => '-1', dow => $day, }, @@ -961,12 +965,15 @@ }, { text => Slim::Utils::Strings::string("PLUGIN_RANDOM_TRACK"), - radio => ($alarm_playlist == -2) + 0, # 0 is added to force the data type to number + radio => ($alarm_playlist ne '' && + $Slim::Utils::Alarms::possibleSpecialPlaylistsIDs{$alarm_playlist} == -2) + 0, # 0 is added to force the data type to number + actions => { do => { player => 0, - cmd => ['alarms'], + cmd => ['alarm'], params => { + cmd => 'update', playlist_id => '-2', dow => $day, }, @@ -975,12 +982,15 @@ }, { text => Slim::Utils::Strings::string("PLUGIN_RANDOM_ALBUM"), - radio => ($alarm_playlist == -3) + 0, # 0 is added to force the data type to number + radio => ($alarm_playlist ne '' && + $Slim::Utils::Alarms::possibleSpecialPlaylistsIDs{$alarm_playlist} == -3) + 0, # 0 is added to force the data type to number + actions => { do => { player => 0, - cmd => ['alarms'], + cmd => ['alarm'], params => { + cmd => 'update', playlist_id => '-3', dow => $day, }, @@ -989,12 +999,15 @@ }, { text => Slim::Utils::Strings::string("PLUGIN_RANDOM_CONTRIBUTOR"), - radio => ($alarm_playlist == -4) + 0, # 0 is added to force the data type to number + radio => ($alarm_playlist ne '' && + $Slim::Utils::Alarms::possibleSpecialPlaylistsIDs{$alarm_playlist} == -4) + 0, # 0 is added to force the data type to number + actions => { do => { player => 0, - cmd => ['alarms'], + cmd => ['alarm'], params => { + cmd => 'update', playlist_id => '-4', dow => $day, }, @@ -1033,7 +1046,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', volume => $i, dow => $day, }, @@ -1064,7 +1077,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', dow => 0, fade => 1, }, @@ -1073,7 +1086,7 @@ player => 0, cmd => ['alarm'], params => { - cmd => 'set', + cmd => 'update', dow => 0, fade => 0, },