diff --git a/icedreammusic/np/main.go b/icedreammusic/np/main.go index 52d0ffc..e7da17b 100644 --- a/icedreammusic/np/main.go +++ b/icedreammusic/np/main.go @@ -39,6 +39,7 @@ func init() { func watchMetadata(ctx context.Context) <-chan *libnp.Info { ticker := time.NewTicker(time.Second) c := make(chan *libnp.Info) + var lastMetadataID [64]byte go func(ticker *time.Ticker) { for { select { @@ -50,6 +51,14 @@ func watchMetadata(ctx context.Context) <-chan *libnp.Info { os.Stderr.WriteString("WARNING: " + err.Error() + "\n") continue } + var newMetadataID [64]byte + if info != nil { + newMetadataID = generateIDFromMetadata(*info) + } + if newMetadataID == lastMetadataID { + // metadata did not change + continue + } c <- info } }