Index: iTunes/Plugin.pm =================================================================== --- iTunes/Plugin.pm (revision 15772) +++ iTunes/Plugin.pm (working copy) @@ -79,7 +79,7 @@ } # make sure we aren't doing this more than once... - Slim::Utils::Timers::killTimers(0, \&checker); + Slim::Utils::Timers::killTimers(1, \&checker); my $interval = $prefs->get('scan_interval') || 3600; @@ -90,7 +90,7 @@ $log->info("setting checker for $interval seconds from now."); - Slim::Utils::Timers::setTimer(0, Time::HiRes::time() + $interval, \&checker); + Slim::Utils::Timers::setTimer(1, Time::HiRes::time() + $interval, \&checker); } 1; Index: iTunes/Settings.pm =================================================================== --- iTunes/Settings.pm (revision 15772) +++ iTunes/Settings.pm (working copy) @@ -12,6 +12,7 @@ use Slim::Utils::Misc; use Slim::Utils::Strings qw(string); use Slim::Utils::Prefs; +use Slim::Plugin::iTunes::Plugin; my $log = Slim::Utils::Log->addLogCategory({ 'category' => 'plugin.itunes', @@ -45,6 +46,18 @@ }, 'itunes'); +$prefs->setChange( + sub { + Slim::Utils::Timers::killTimers(1, \&Slim::Plugin::iTunes::Plugin::checker); + + my $interval = $prefs->get('scan_interval') || 3600; + + $log->info("re-setting checker for $interval seconds from now."); + + Slim::Utils::Timers::setTimer(1, Time::HiRes::time() + $interval, \&Slim::Plugin::iTunes::Plugin::checker); + }, +'scan_interval'); + sub name { return Slim::Web::HTTP::protectName('ITUNES'); }