INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How to create automatic list of all tags a string appears in  (Read 431 times)

Mike Foran

  • World Citizen
  • ***
  • Posts: 212
How to create automatic list of all tags a string appears in
« on: March 15, 2020, 01:01:06 pm »

I'm trying to figure out if there is a way to create a Library Field that would populate with all of the other tags that a selected string appears in? For instance, I could create a Panel view with one column of Artist names, and a second column using this custom field (for this example called 'Tags'). When a name is selected in the Artist column, the 'Tags' column would fill with all the other fields that Artist's name appears in. Kind of like an automatic search function.

Not sure I'm explaining it properly, so I attached a mock-up of how I expect it to look. In this example, I select 'Kanye West' and the middle column, using this custom library field, displays all tags that his name appears.

Conversely I'd like to be able to use a reverse function to drive content in a view or playlist. So I could create an rule like [Tags]="Kanye West" to automatically fill a playlist with any projects that artist has worked on in any tagged capacity.

I've messed with the List manipulation functions here: https://wiki.jriver.com/index.php/List_Manipulation_Functions, but I can't seem to get them to do what I want. Is there a way to do these things?

Thx!
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: How to create automatic list of all tags a string appears in
« Reply #1 on: March 15, 2020, 06:55:46 pm »

Conversely I'd like to be able to use a reverse function to drive content in a view or playlist. So I could create an rule like [Tags]="Kanye West" to automatically fill a playlist with any projects that artist has worked on in any tagged capacity.

This is easy enough with standard functionality.

Just open a View, Smartlist, or Playlist that shows all files, put "Kanye West" into the Search Box at the top right, and MC will filter all files down to those that include "Kanye West" in any searched fields. Then select all files, and add them to a Playlist.

As you seem to be using custom fields (Featuring, Musicians) you will need to make sure they were flagged as Default Search fields in "Manage Library Fields" under Options.


For the first part, what problem or requirement are you trying to solve?

PS: Specifically, are you only looking at the four tags you show in your image, Artist, Featuring, Musicians, Producer?
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

Mike Foran

  • World Citizen
  • ***
  • Posts: 212
Re: How to create automatic list of all tags a string appears in
« Reply #2 on: March 15, 2020, 07:12:59 pm »

In both cases I am trying to find automatic solutions that are dynamic. These types of solutions are better for dynamically creating playlists and views that propagate with rules or expressions. I'm aware I can use the search function to create static playlists, but this solution has a lot of drawbacks. I would need to create a manual playlist for every artist (other string parameter) I want to explore this way, which isn't really practical. The playlists would be static, so I would need to periodically re-create them to update them to new additions or changes. My hope is that I can use this to more fully "explore" my library by easily building expansive playlists and finding connections that I would otherwise not be aware of.
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: How to create automatic list of all tags a string appears in
« Reply #3 on: March 15, 2020, 08:21:09 pm »

Well, you wouldn't need to create a Playlist using the method I mentioned. You could just filter the View/Playlist/Smarlist as above, and then use the result directly. The View/Smartlist would not be static. Or just add the result to Playing Now and use that, or manipulate that further, all of which would be unique each time you used it.


The problem with your original proposed solution is that you are asking MC to return Metadata values (tag/field names, Artist, Featuring, Musicians, Producer) based on Data values (Kanye West) that appear in the fields. To the best of my knowledge, MC can't do that. Specifically, the List Manipulation functions all act on Data, and return Data values, and do not act on Metadata or return Metadata values.

In terms of exploring your data and finding connections, assuming that we are just working on the four fields in your example, for now, I would approach it this way.

Set up any View that includes all files.
   If a Panes View and you want to select a person from a column, and all the possible Artists you want to find links for are actually recorded against at least one file in the Library as an Artist, then include the [Artist] field as the first field in the View, as per your example. Note that this will not work if a person is only listed in the Featuring, Musicians, or Producer fields, as they wouldn't appear in the [Artist] column and so could not be selected. So you would probably need to add Featuring, Musicians, and Producer columns as well as the Artist column. But then you would need to choose which field (column) to select a person via, rather than just supply their name once.
   If either a Panes or Categories View, and you are willing to use the Search Box to initially narrow the displayed field, then you can search for any person's name which appears in the Library, regardless of which field it appears in, and enter this value just once. This is a broader solution than using the Panes View as above, and per your example.

Include in the Details Pane at the bottom a column for each of the fields you wish to want to see connections for. In this case, Artist, Featuring, Musicians, and Producer.
For each of those fields tick the checkbox "Show a link checkbox" in "Manage Library Fields" under Options.

To use, search for a person (or group I guess) using the Search Box, take note of which columns that name appears in, click the arrow next to the person's name in the column you want to investigate.

For example, search for "Kanye West" using the Search Box, note if "Kanye West" appears in the Producer column, click the arrow next to Kanye West's name under that column to see what other tracks he has produced.


Along with the return of metadata constraints I mentioned above, your requirement is really broad, so the above is the best I can do. Of course Play Doctor, with rules, could be one way to explore a Library, but it wouldn't do what you have requested. The question of how to discover connections within a Library of Tracks has come up before, and I have never seen a universal answer, other than Play Doctor.

As always, someone else may know better than me.  8)
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

Mike Foran

  • World Citizen
  • ***
  • Posts: 212
Re: How to create automatic list of all tags a string appears in
« Reply #4 on: March 15, 2020, 08:27:05 pm »

Thanks for the thoughtful reply. I will explore this asap.
Logged
Pages: [1]   Go Up