From 751e2d61476bea454b1a8eb20663d77329c4169c Mon Sep 17 00:00:00 2001
From: Deluan <deluan@navidrome.org>
Date: Wed, 12 May 2021 14:08:38 -0400
Subject: [PATCH] Make ScanInterval=0 disable the periodic scan

---
 conf/configuration.go | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/conf/configuration.go b/conf/configuration.go
index 0f7cf4933..e8cdeccf3 100644
--- a/conf/configuration.go
+++ b/conf/configuration.go
@@ -124,12 +124,16 @@ func Load() {
 }
 
 func validateScanSchedule() error {
-	if Server.ScanInterval != 0 {
+	if Server.ScanInterval != -1 {
 		log.Warn("ScanInterval is DEPRECATED. Please use ScanSchedule. See docs at https://navidrome.org/docs/usage/configuration-options/")
 		if Server.ScanSchedule != "@every 1m" {
 			log.Error("You cannot specify both ScanInterval and ScanSchedule, ignoring ScanInterval")
 		} else {
-			Server.ScanSchedule = fmt.Sprintf("@every %s", Server.ScanInterval)
+			if Server.ScanInterval == 0 {
+				Server.ScanSchedule = ""
+			} else {
+				Server.ScanSchedule = fmt.Sprintf("@every %s", Server.ScanInterval)
+			}
 			log.Warn("Setting ScanSchedule", "schedule", Server.ScanSchedule)
 		}
 	}
@@ -159,7 +163,7 @@ func init() {
 	viper.SetDefault("address", "0.0.0.0")
 	viper.SetDefault("port", 4533)
 	viper.SetDefault("sessiontimeout", consts.DefaultSessionTimeout)
-	viper.SetDefault("scaninterval", 0)
+	viper.SetDefault("scaninterval", -1)
 	viper.SetDefault("scanschedule", "@every 1m")
 	viper.SetDefault("baseurl", "")
 	viper.SetDefault("uiloginbackgroundurl", consts.DefaultUILoginBackgroundURL)