Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Dynamic browsing with "is not" condition
20-12-2021, 10:31
Post: #1
Dynamic browsing with "is not" condition
MinimServer's dynamic browsing is very useful and great.

I do this kind of browsing.
Genre: Classical > Instrument: violin > Composer: Beethoven

With this browsing, I can extract Beethoven's violin Albums or Tracks.
I like Beethoven very much, so most of the classical music in my library is Beethoven. However, I sometimes get tired of it when I listen to Beethoven all the time.
In such cases, I would like to extract music by composers other than Beethoven from my library.

For example, I may need to browse as follows
Genre: Classical > instrument: violin > Composer: "is not" Beethoven

Is dynamic browsing with such a negative condition - is not [xxx], exclude [xxx] - possible with MinimServer?
If there is no such feature, is it possible to implement it?
Find all posts by this user
Quote this message in a reply
20-12-2021, 13:08
Post: #2
RE: Dynamic browsing with "is not" condition
This is not possible at present. As well as applying "not" to a value, combining values using "or" might also be useful.

It is possible that something along these lines could be added to MinimServer in the future. It is not likely to happen soon because it will need to be prioritised against other planned important improvements to MinimServer.
Find all posts by this user
Quote this message in a reply
20-12-2021, 21:43
Post: #3
RE: Dynamic browsing with "is not" condition
You could always use tagUpdate.

There's a number of examples in the forum but not one that I could find that uses the new tag value .default={'String'} option.

/path/to/tagUpdate.txt
Code:
@COMPOSER=Beethoven
+EXCLUDEBEETHOVEN=1

Server.indexTags: ExcludeBeethoven=0:Exclude Beethoven
Server.tagValue: ExcludeBeethoven.default={'0'}
Advanced.tagUpdate: /path/to/tagUpdate.txt

With the tagUpdate instructions you're creating a new tag (internally to MinimServer) called EXCLUDEBEETHOVEN with a value of 1 for all files that have a COMPOSER equal to Beethoven.

ExcludeBeethoven.default={'0'} then creates a tag called EXCLUDEBEETHOVEN and populates it with 0 for all the files that don't already have that tag (every file that doesn't have COMPOSER=Beethoven).

Finally the indexTags expression creates a filter based on the value 0 from ExcludeBeethoven and calls the index 'Exclude Beethoven'.
Find all posts by this user
Quote this message in a reply
27-12-2021, 08:54
Post: #4
RE: Dynamic browsing with "is not" condition
(20-12-2021 13:08)simoncn Wrote:  This is not possible at present. As well as applying "not" to a value, combining values using "or" might also be useful.

It is possible that something along these lines could be added to MinimServer in the future. It is not likely to happen soon because it will need to be prioritised against other planned important improvements to MinimServer.

I've been creating smart playlists in my library management software (e.g. Audirvana) to extract songs with "is not" criteria. However, every time I add a song to my library, I have to export the playlist, which is very cumbersome.
If MinimServer can provide the ability to browse by "not", "or", etc., it would be a great help in eliminating the need for such a task.
Find all posts by this user
Quote this message in a reply
27-12-2021, 09:09
Post: #5
RE: Dynamic browsing with "is not" condition
(20-12-2021 21:43)simbun Wrote:  You could always use tagUpdate.

There's a number of examples in the forum but not one that I could find that uses the new tag value .default={'String'} option.

/path/to/tagUpdate.txt
Code:
@COMPOSER=Beethoven
+EXCLUDEBEETHOVEN=1

Server.indexTags: ExcludeBeethoven=0:Exclude Beethoven
Server.tagValue: ExcludeBeethoven.default={'0'}
Advanced.tagUpdate: /path/to/tagUpdate.txt

With the tagUpdate instructions you're creating a new tag (internally to MinimServer) called EXCLUDEBEETHOVEN with a value of 1 for all files that have a COMPOSER equal to Beethoven.

ExcludeBeethoven.default={'0'} then creates a tag called EXCLUDEBEETHOVEN and populates it with 0 for all the files that don't already have that tag (every file that doesn't have COMPOSER=Beethoven).

Finally the indexTags expression creates a filter based on the value 0 from ExcludeBeethoven and calls the index 'Exclude Beethoven'.

The method you have shown allows me to browse for the “Exclude Beethoven" condition from the composer.
This method is time-consuming to deal with a large number of "is not" conditions because it has to be created for each specific value.
However, it is very useful as it is enough for me now if I can create a minimum number of "is not" conditions.
Thank you very much for the information.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)