What does Force Rescan of a watched folder actually do?

When I first had Roon scan my library I had artists with entries like ‘artist a\\artist b’ in Roon as it doesn’t see \\ as a valid delimiter. I’ve since rewritten all tags so that anything that was delimited was rewritten as seperate entries e.g artist=artist a, artist=artist b.

Forcing a Rescan in Roon it still shows entries ‘artist a\\artist b’ even though I know they no longer exist. Short of having to delete Roon’s database and reanalyze my entire library what are my options to have Roon discard metadata that no longer exists in the underlying files?

In my experience, “Force rescan” simply doesn’t always do what it is meant to. A restart of Roon with its attendant full rescan usually solves the problem.

You might also try the “Clean up library” option, although you should understand what it does before you press Go!

I have been discussing this scenario off-line recently. I have experienced very similar results with certain albums that I have edited externally to Roon…

Until we get a clear steer on it I agree with Ludwig that clearing database is required.

What I do with albums when I hit this is:

  1. move folder out of watched folder
  2. run database cleanup (only take a few seconds)
  3. Move album back.

Roon will then see it as a fresh import and not persist with previous elements of ID.

@audiomuze, are you using a SMB watch or local USB/lightning folder ?

[quote=“ncpl, post:3, topic:7203”]
are you using a SMB watch or local USB/lightning folder ?
[/quote]Windows is pointed to a SAMBA share on a Linux server.

Unfortunately moving folders isn’t an option as there are 100s and I’m not spending days figuring out which albums are involved…already spent days getting rid of \\ and applying other tag cleanups/ metadata grooming in the process. I reckon I now have the cleanest set of tags I’ve ever seen anywhere.

I guess having done all my work but preserving modification times may be at the root of not detecting changes… @brian, if this is the case any chance you can add a Destructive Force Rescan option that dumps all tag provided metadata and rescans all files regardless of last modification time?

Agree. What I noted is only really acceptable for single albums. Bulk changes is an issue.
Try quitting the core app and restarting. I sometime find that helps.

Turns out Roon has picked up the changes too, but it’s holding onto some old metadata somewhere in its data model.

Yup – mentioned many times, in many threads, by many people…

Your first screen shot shows the newish bug where you have Artist A, Artist B in track credits, and Roon lists them thus:

Artist A/Artist B, Artist A, Artist B

I.e. with a slash between and also separately. I’ve checked this extensively and it does it even when Tags were blank and never had a slash in.

Haven’t ticketed this yet but maybe @brian already saw it? Or should I ticket it?

@audiomuze’s old tags used ‘\’ as a delimiter (Roon doesn’t support this, and we’ve discussed it previously). So Roon is seeing his tag as a single string.

There’s clearly an issue with not picking up changes, but Roon is definitely not inserting double backslashes between strings and sticking them in the UI.

I think what you saw is different, @Ludwig. If you can find media that reproduces the issue, I’d like to take a look at it.

Ok, took screenshots of before, checked tags to confirm there’s no Johnny Cash\\June Carter, moved the folder to a different PC, forced rescan…gone. Copied back, ensured file/ folder permissions are good and forced rescan again…no change in the data, the before screenshots are identical to the after…there’s still Johnny Cash\\June Carter.

My conclusion: there’s stuff in the db schema that’s not deleted when an album is…and when the album reappears that stuff is reconnected to the album.

Forcing rescan of a watch folder looks for new files, removed files, and files with different modification timestamps, and then reports those differences to Roon’s database.

That’s it. If files haven’t been removed, added, or had their modification timestamps changed, Roon will not notice. It would be prohibitively expensive to do anything more than that at the folder level (keep in mind: when Roon is started it does this scanning operation on each folder. It has to be cheap enough that we can actually do it without user prompting without causing disruption).

If you want to force Roon to re-extract tags from the whole universe, Select all in the album browser and select “Re-scan Albums”. That should do exactly what you are looking for. It will re-read the tags regardless of the modtimes. And it might take hours to do it, because that’s a lot more work than checking timestamps.

This is 100% the case, and by design, too. It has to be this way, or renaming/moving files would cause you to lose edits, since at the OS level, we see file moves as a delete of the files followed by an add of the same files.

We can’t know the difference between an intentional permanent delete or a temporary delete that’s part of a file move or a network hiccup. So we err on the safe side and preserve edits/changes/cached info.

There is a way to remove this data. In Settings -> Setup -> Clean Up Library, you can delete the data.

So if you want to start totally fresh with some files:

  1. Remove them from the folder, and wait for them to disappear in Roon.
  2. Use the clean up screen to “clean up X deleted tracks”
  3. Re-import them today.

That sequence should destroy any cached information related to those tracks.

Thanks @brian, I’ve just noticed that having Roon re-identify an album also forces a re-read of the file tags and the Johnny Cash\\June Carter is no more. I’m going to have to do what you just suggested to force a re-extract across my library.

@brian, is there a way to do this from a tablet?

Yup. Long press on one album. In the upper left, tap on where it says ‘1 selected’. There’s a menu there with “Select All” and “Select None” options.

Great, thanks.

@brian, as many of your customers are OCD and seeing as Rovi won’t have metadata for all our music it’s a necessity that users do some grooming of their own.

Given the time it takes to re-extract ALL tags would you consider adding an enhanced re-extract tags where the user can choose which tags to re-extract, e.g. If I’m only adding/ enhancing composer info I’d like to have Roon re-extract only that tag across my entire library and update its database with any changes to that field.

I don’t think that mechanism would improve performance.

The cost is determined by the number of files we need to visit, not the number of tags we extract from each one. We still have walk through all of the tags in the file to locate the composer tags, then update the exact same set of database records (Roon is not based on a SQL type structure where data is organized in columns–it’s more like a document store).

Thanks, best I do as much cleanup as possible in my SQLite tables then before applying the changes to the underlying files and having Roon re-extract tags.