Boolean search logic? (AND between Tags) [Implemented in Roon 1.8]

All: there is a workaround to implement a bit of boolean logic here, but it’s not super fast with a large database. You can use the “NOT” function as a substitute for AND. Here’s how:

Say you want to have two “sets” of tags: you want to tag bands geographically, like “Chicago bands” “Seattle bands,” and “Manchester bands.” Then you want to have another set of tags for era, like “80s bands,” “90s bands,” or “70s” bands. (Bear with me, this is just an example, please don’t chime in and tell me Roon can already Focus on albums by date; I know that – this is just about an example use case that makes sense.

OK, so say you want to find all Chicago 80s Bands. Right now, if you go to the album, artist, or track browser, and Focus on Tags, then select Chicago Bands and 80s Bands as separate tags, you are going to get ALL Chicago Bands and ALL 80s Bands, not Chicago bands from the 80s. In other words Styx will show up because they are a Chicago band even though they are from the 70s, and Duran Duran will show up because they are an 80s band, and you won’t get just the cross section of Chicago bands from the 80s.

OK, so do this:

—Go to Artist view. Tag your Chicago Bands. Then Focus on Tag Chicago Bands. Click the minus sign so that you see all bands EXCEPT Chicago Bands. Select All. Tag all these artists with a new tag called “Not Chicago Bands” (you’ll come up with a better name once you see my logic). (This takes quite a long time - you are now applying a tag to almost all the artists in your collection, save the few Chicago bands in there).

—Reset view.

–Now with rest Artist view, seeing all artists, Tag your 80s Bands. Focus on Tag 80s Bands. Click the minus sign so that you see all bands EXCEPT 80s Bands. Tag all these artists as “Not 80s Bands”

Now that you have these tags, reset your view again so that all artists show. Focus on Tag Chicago Bands. Now, add the focus on Tag “Not 80s Bands.” Click the minus on the “Not 80s Bands.” The minus is “AND NOT” in effect, in boolean logic, I think. So now, viola, you have All Chicago Bands that are NOT NOT 80s Bands, i.e. All Chicago Bands that are 80s Bands! You have AND in your logic, by using NOT NOT AND.

It’s a workaround. Even with a modern quad core and a ton of RAM and a dual SSD Roon core, it’s not that fast. BUT IT SEEMS TO WORK, DOESN"T IT?