INTERACT FORUM

More => Old Versions => JRiver Media Center 28 for Windows => Topic started by: markf2748 on June 06, 2021, 03:12:29 pm

Title: Feature Request: Tag Window wish list
Post by: markf2748 on June 06, 2021, 03:12:29 pm
(1) Implement this old request from MC 27:

When using the Tag Dump Group in the Tag Window, use the available space to avoid having to scroll up and down to see tags in the Tag Dump.

I always put the Tag Dump at the bottom of the Tag Window, and there is a lot of wasted space below it that could be used. See image.


(2) Add another tabbed view to the left tag window which is customizable through Options. I want to checkbox-select the tags of interest to me, and then re-order them as desired in my own single "Selected Tags" view.

This is the biggest reason why I use another third party tag editor to initialize tags after ripping CDs,  instead of JRiver.
I prefer a collapsible tag view that shows only the 15-20 tags which I am most likely to fill out for every CD (includes adding multiple images).
Don't get me wrong:  I really like how the MC tag pane is divided up, but I also wish for my own compact list of selected tags.

(3) Add a wiki page to document the Expression Language function FieldQuery().  Include examples of how it can be used in the tag window to copy values between different libraries, and as a Tag on Import rule.

Thanks.


Title: Re: Feature Request: Tag Window wish list
Post by: JimH on June 06, 2021, 03:32:28 pm
You can customize the tag window now.
Title: Re: Feature Request: Tag Window wish list
Post by: markf2748 on June 06, 2021, 05:05:37 pm
You can customize the tag window now.

Whoaa, very nice thank you.  I never realized the significance of that little square in the upper left corner of the tag pane :)

Re Item (3) in OP:  I modified it to the modest request for FieldQuery() documentation and examples, rather than introduce a whole new interactive window to implement copying tags between fields and fields in different libraries.  Such a window would be nice, but is likely too big a chunk of work for an important but probably low-usage tool.

Title: Re: Feature Request: Tag Window wish list
Post by: JimH on June 06, 2021, 06:02:03 pm
You can copy and paste between tags.  Ctrl-Shift-V to paste.  Does that help?
Title: Re: Feature Request: Tag Window wish list
Post by: marko on June 06, 2021, 11:08:49 pm
FieldQuery is documented

https://wiki.jriver.com/index.php/Accessing_and_Storing_Functions#FieldQuery

Quote
Include examples of how it can be used in the tag window to copy values between different libraries, and as a Tag on Import rule.
I do not think this function will be useful to you in either of those scenarios though. Depending upon what/how many fields you're searching in, global use of FieldQuery has the potential to bring MC to its knees.
Title: Re: Feature Request: Tag Window wish list
Post by: markf2748 on June 06, 2021, 11:49:44 pm
You can copy and paste between tags.  Ctrl-Shift-V to paste.  Does that help?

I find that Copy/Paste works great for doing a few fields "manually".  But I'm not sure it is practical on a larger scale. For example, if you want to copy a particular Audio Tag to a corresponding Image Tag for every track in your audio library.  That is where FieldQuery() really shines.
Title: Re: Feature Request: Tag Window wish list
Post by: markf2748 on June 07, 2021, 12:16:20 am
FieldQuery is documented

https://wiki.jriver.com/index.php/Accessing_and_Storing_Functions#FieldQuery
I do not think this function will be useful to you in either of those scenarios though. Depending upon what/how many fields you're searching in, global use of FieldQuery has the potential to bring MC to its knees.

Thanks for the documentation link - I did not find it a few days ago :)

Zybex pointed me to FieldQuery():

The FieldQuery() function can be used for that (undocumented, but explained here (https://yabb.jriver.com/interact/index.php/topic,124543.msg877502.html#msg877502)). It finds files that share some tag value and then returns the value of another tag of that file. In your case, we can use it to get the [TAGGINGTIME] of an Audio file sharing the same [Filename (path)].

I just tested it and hit an issue - the function doesn't allow to limit the search to only Audio files, so it may find the Image file itself, which will have an empty TAGGINGTIME. However, there's a workaround.

You can try the direct function first - it will probably work for most of your files, but perhaps not all:
- Use this expression on the [TAGGINGTIME] field of the Images you need to tag:
    =listitem(fieldquery(Filename /(path/), [Filename (path)], TAGGINGTIME, 1, 0), 0)

If that doesn't work you need to do this:
- create a new Field called "Type:Folder", Calculated, with expression="[Media Type]:[Filename (path)]"
- use this expression for the [TAGGINGTIME] of the images:
    =listitem(fieldquery(Type:Folder, Audio:[Filename (path)], TAGGINGTIME, 1, 0), 0)

if you get a number instead of a Date, you'll need to add a FormatDate:
    =FormatDate(listitem(fieldquery(Type:Folder, Audio:[Filename (path)], TAGGINGTIME, 1, 0), 0), date)


I think it would really improve the FieldQuery() documentation to include Zybex's two excellent examples shown above, which totally solved my puzzler, as described here
https://yabb.jriver.com/interact/index.php/topic,129618.msg899369.html#msg899369 (https://yabb.jriver.com/interact/index.php/topic,129618.msg899369.html#msg899369)

I found it to be very quick for my modest data set (~5000 tracks) on a Win10 Intel NUC 8i5BEH.  Apparently it moves values between libraries without reading the audio files.  For a much larger collection, I imagine it may sit there spinning for a few minutes.  It would be nice if FieldQuery() put up a spinning wheel message while it was working.

My application re using it as a "Tag on Import" rule would be to keep an Image library synchronized to an Audio library.  I just set up an Image library monitoring my Music file directory structure, so that all the cover art images etc. are available in a global glance in the Image library.  Works great for "Recently Added", "Year (released)", and "Artists" views as long as the directory structure is shallow.  I also wanted "Last Played", but that is not a user writable field and "Last Played" means something very different for music and images - might work with a custom field though.  Yes, it could be slow if you import an entire library, but normally only a few albums get added/changed at a time. 

So now we're down to the OP Item (1) :)