INTERACT FORUM

More => Old Versions => Media Center 12 (Development Ended) => Topic started by: glynor on March 28, 2007, 09:13:48 am

Title: MC Needs More Robust Field Editing Tools
Post by: glynor on March 28, 2007, 09:13:48 am
Last night I spent a few hours catching up on tagging some of my new files (both audio and video) and again and again I ran into an extremely frustrating experience.  My complaint is that MC doesn't allow you to add, remove, insert, and replace characters and text in field names in an automated fashion.  It seems so much like this should be something that MC would handle easily, considering all of the other tagging tasks it excels at and capabilities it has, but it doesn't at all, and in some cases, it caused a specific tagging job to take an hour when it should have been minutes.

Here's an example:

I had a bootleg U2 album, double disc, that -- for whatever reason -- had showed up when ripped with it's name tags like this:

U2 - New Year's Night In Dublin 89-90 - Disc 1 - 01 - Presentation Intro 845692
U2 - New Year's Night In Dublin 89-90 - Disc 1 - 02 - Where The Streets Have No Name 647845
U2 - New Year's Night In Dublin 89-90 - Disc 1 - 03 - I Will Follow 946527
U2 - New Year's Night In Dublin 89-90 - Disc 1 - 04 - I Still Haven't Found What I'm Looking For 645287

And it went on like that for 36 consecutive files.  I have no idea where the weird numbers at the end of the name tag came from, but they showed up in the tag.  Either way -- I set about fixing them.

So here's what I had to do:

1) I first did a Rename Files from Properties, filling the filename with the contents of the [Name] tag.  This was needed because the file names didn't match the Name tag, and I can't "search" one field and separate it into other properties like I can on the file name, so I had to jump through the hoop of actually renaming my files.  Annoyance #1: Why can't I do the equivalent of the Fill Properties from Filename tool, but instead of using the Filename as the source, use the Name field (or any other field)?

2) Next, I did a Fill Properties from Filename.  My search was [Artist] - [Album] - [Name].  This filled the Artist and Album tags properly, but left me with "Disc # - ## - Blah blah blah ######" for every file in the [Name] field.  I did it that way, because I initially couldn't figure out how to "fill" the disc number, since it included the word "Disc".  It dawned on me after finishing that running the Fill Properties using "[Artist] - [Album] - Disc [Disc #] - [Track #] - [Name]" probably would have worked, so my mistake there.  Still -- what if half of them had been "Disc" and the others "Disk".  There's no way to specify "skip over 5 characters" or "ignore 3 number characters" or anything like that.  Either way, the last step remained the same...

3) So, assuming the previous step had worked, I'd still have been left with:

Presentation Intro 845692
Where The Streets Have No Name 647845
I Will Follow 946527
I Still Haven't Found What I'm Looking For 645287

In the Name field.  None of those serial numbers matched, and none of them were useful or desirable to me in any way.  So, since I had no way to "trim" the extraneous 7 characters (the 6 numbers plus the extra space) off of the end of the [Name] tag, I had to manually edit them one at a time 36 times.

I have hundreds of other examples.  Retagging Video files can be an exercise in frustration.  So often, because of the way Apple's Compressor works, I have sets of 40-50 video files all named like this:

[Project Name]-[Clip Name]-[Codec]-[Setting]-[Date].MP4

The Project Name part of the filename I want to end up in the [Album] field, and the Clip Name in the [Name] field.  The rest of the info isn't useful though, and doesn't match each other other than they are generally all the same length (number of characters).  I'm constantly manually editing the last extraneous 25 characters off of the [Name] field after I've extracted the useful info from the Filename.  Find and Replace can only go so far, and only helps if the stuff you're searching for matches exactly.  It has no wildcard or character matching capabilities!

I've recently started using a wonderful utility called Better File Rename (http://publicspace.net/windows/BetterFileRename/features.html) which provides a lot of "brute force" renaming capabilities to renaming files.  The linked page shows a list of all of the tools it has.  It's very frustrating that MC doesn't provide any of these capabilities when working with it's fields!  If it did, it would have saved me at least 2 hours last night, and countless hours on countless other nights!

What say you all?
Title: Re: MC Needs More Robust Field Editing Tools
Post by: Matt on March 28, 2007, 09:34:24 am
Next build will be the Liberace Rubber Chicken (http://www.jriver.com/~jriver/2007/misc/liberace_rubber_chicken2.jpg) for you.  (LRC trademark JimH)

First, whenever you edit a field in a list, you'll be able to enter an expression just like with Excel.  So edit Name (F2) and type =RemoveRight([Name], 1) and it'll update the name to the result of that expression. (name minus one character in this example)

To enter a string that starts with equal, you'll need to use an apostrophe in front. ( i.e. '= )  This makes it work just like Excel does when entering formulas.

Undo and redo will work.  You can do any number of files at once.

Also, we've added RemoveLeft(value, number of characters) and RemoveRight(value, number of characters) to the expression language.  This combined with Mid(value, start, optional number of characters) should give you everything you need.

Title: Re: MC Needs More Robust Field Editing Tools
Post by: hit_ny on March 28, 2007, 09:44:42 am
FINALLY !!!!

a way in MC to trim specific chars, from either direction :D
Title: Re: MC Needs More Robust Field Editing Tools
Post by: Quixote on March 28, 2007, 11:29:38 am
Thanks for putting this in!
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 28, 2007, 11:52:30 am
/me does the dance of joy!!!
Title: Re: MC Needs More Robust Field Editing Tools
Post by: jgreen on March 28, 2007, 11:53:30 am
As we approach this Sunday, I get more skeptical of earth-shaking news.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: mlefebvre on March 28, 2007, 11:55:06 am
/me does the dance of joy!!!

I would too if I got that chicken! LOL!

Michel.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 28, 2007, 12:10:14 pm
I should mention... While this is a huge, gigantic step in the right direction, it still doesn't solve a few of my issues:


          On the [Name] Field: =2e[Name]
          Turns this:  13 - The Long Con
          Into this: 2e13 - The Long Con
-or-
          When [Name] = The Long Con, [Track #] = 13, [Season] = 2
          Make [Name] = [Season]e[Track #] - [Name] (for a whole set of files, of course)
          Resulting in: 2e13 - The Long Con



   
Title: Re: MC Needs More Robust Field Editing Tools
Post by: Matt on March 28, 2007, 12:59:05 pm
Quote
Allowing us to fill fields by "grabbing the data" from portions of other fields, rather than just the filename.  A Fill Properties from "Fields" expansion of the Fill Properties tool.

You can grab and transform data from any field in an expression.  A simple example would be to edit comment, and type =[Name] by [Artist]

Quote
this might actually work with what Matt just said would work, but will we be able to pre/post-pend data on mass to fields?  For example, will this work?
          On the [Name] Field: =2e[Name]
          Turns this:  13 - The Long Con
          Into this: 2e13 - The Long Con
-or-
          When [Name] = The Long Con, [Track #] = 13, [Season] = 2
          Make [Name] = [Season]e[Track #] - [Name] (for a whole set of files, of course)
          Resulting in: 2e13 - The Long Con

Again, you can use data from any field.  You can "if" to switch between logical conditions.  MC's expression language is quite powerful.

Quote
Along the same lines, add alphabetical and numberical sequences (or renumber existing ones) to the beginning or end of fields.

To change the name to
Track A - 001
Track B - 002

You'll be able to use this: =[Name] - PadNumber(Counter(), 3)

The counter function will be in build 200 and later:
NEW: Added expression function Counter() to return a counter that starts at one and increments with each use. (resets after 5 seconds of inactivity)
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 28, 2007, 01:16:07 pm
Fantastic Matt!!  This is great (not perfect, but pretty darn close -- I still want my wildcards though)!! 

Now, of course, I'll just have to figure out how to actually use these expressions.  Adding some more detailed examples to the Expression Language document (http://www.jrmediacenter.com/DevZone/DBExpressions.htm) might help, though hopefully we can get some good info (Marko and Alex help please?) in the Wiki.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: marko on March 28, 2007, 02:17:07 pm
I knocked out this page for the wiki, though lacking 'real world' examples, it has more current info than the devzone doc does.

http://wiki.jrmediacenter.com/index.php/Media_Center_expression_language
Title: Re: MC Needs More Robust Field Editing Tools
Post by: mlefebvre on March 28, 2007, 02:20:25 pm
I knocked out this page for the wiki, though lacking 'real world' examples, it has more current info than the devzone doc does.

http://wiki.jrmediacenter.com/index.php/Media_Center_expression_language

Impressive! Docs before the feature!

Good stuff!

Michel.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 28, 2007, 07:06:34 pm
This really looks super-fantastical now that I'm looking more and more into it.

When I initially posted... I was hoping something like, "Maybe... just maybe ... they'll squeeze it in to v12, though not for a while, and I'm probably getting a wait till v13 response."

Not only did you do it, but you did it today, and in some ways, gave me more than I asked for!

Now that's what I call a responsive software company!   ;D
Title: Re: MC Needs More Robust Field Editing Tools
Post by: Magic_Randy on March 28, 2007, 08:57:03 pm
This really looks super-fantastical now that I'm looking more and more into it.

When I initially posted... I was hoping something like, "Maybe... just maybe ... they'll squeeze it in to v12, though not for a while, and I'm probably getting a wait till v13 response."

Not only did you do it, but you did it today, and in some ways, gave me more than I asked for!

Now that's what I call a responsive software company!   ;D

After reading this thread, it almost looks like a setup.  glynor may be a shill for Matt, doing a nice setup and Matt magically comes up with the solution.

EDIT: and marko must be in on it.  Hours after Matt's pre-announcement, documentation shows up.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: LonWar on March 28, 2007, 09:00:32 pm
Next build will be the Liberace Rubber Chicken (http://www.jriver.com/~jriver/2007/misc/liberace_rubber_chicken2.jpg) for you.  (LRC trademark JimH)



Ok, I gotta know... What's with the rubber chicken saying??
Title: Re: MC Needs More Robust Field Editing Tools
Post by: johnnyboy on March 28, 2007, 10:07:23 pm
Next build will be the Liberace Rubber Chicken (http://www.jriver.com/~jriver/2007/misc/liberace_rubber_chicken2.jpg) for you.  (LRC trademark JimH)

First, whenever you edit a field in a list, you'll be able to enter an expression just like with Excel.  So edit Name (F2) and type =RemoveRight([Name], 1) and it'll update the name to the result of that expression. (name minus one character in this example)

To enter a string that starts with equal, you'll need to use an apostrophe in front. ( i.e. '= )  This makes it work just like Excel does when entering formulas.

Undo and redo will work.  You can do any number of files at once.

Also, we've added RemoveLeft(value, number of characters) and RemoveRight(value, number of characters) to the expression language.  This combined with Mid(value, start, optional number of characters) should give you everything you need.



Not sure what that thing was but it was SCAREY!! lol.

Anyway, just wanted to say well done on adding this functionality, been dying for it for ages.
Instead of making it all expression based that means on the rare occassion I need to use it (and I presume every other just normal user who's not a power user) I'm going to have to start digging around the manual trying to find the syntax for how to use this, could it not be added into the GUI in the clean properties?
Just make that a bit more powerful an interface with options for trimming fields, etc - I'm sure it'll result in the function being used 100x more and it'll mean everyone knows its there as a feature whereas adding more syntax doesn't make anyone aware of it being there unless they go off and research to find out whats available.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 29, 2007, 08:14:08 am
After reading this thread, it almost looks like a setup.  glynor may be a shill for Matt, doing a nice setup and Matt magically comes up with the solution.

EDIT: and marko must be in on it.  Hours after Matt's pre-announcement, documentation shows up.

 ;)  ;D  ::)
Title: Re: MC Needs More Robust Field Editing Tools
Post by: hit_ny on March 29, 2007, 09:37:16 am
You can grab and transform data from any field in an expression.  A simple example would be to edit comment, and type =[Name] by [Artist]
Some clarification required for by ??

It would be nice if each of these *new in v12* expressions had their own thread like in the past.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: Matt on March 29, 2007, 09:39:47 am
Some clarification required for by ??

It would be nice if each of these *new in v12* expressions had their own thread like in the past.

By is just a word.  No special meaning.

Only things in brackets or functions that have a parenthesis after them are special.
Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 29, 2007, 09:52:42 am
Some clarification required for by?

hit_ny:

I think you misunderstood what Matt was saying in that posting.  His point was this...

You have a set of files tagged with:

[Name] = <various>
[Artist] = Arcade Fire

And, for some reason, you wanted the comment tag to read (for example) "No Cars Go by Arcade Fire" (but inserting the proper name and artist where applicable).  You can now select the files that you want to re-tag the [Comment] field and type in the Comment field:  =[Name] by [Artist]

And it would automatically populate all the Comment fields with what you want.  If instead you wanted it to say "No Cars Go performed by Arcade Fire" you'd type: =[Name] performed by [Artist].  Get it?
Title: Re: MC Needs More Robust Field Editing Tools
Post by: hit_ny on March 29, 2007, 10:02:50 am
Got it now, thx for that glynor, thinking about it, the fields act as variables now.

A new development, it appears.

Having wildcards in addition would make it that much more powerful.

Title: Re: MC Needs More Robust Field Editing Tools
Post by: glynor on March 29, 2007, 10:05:12 am
A new development, it appears.

Having wildcards in addition would make it that much more powerful.

It is, and it's really awesome.  I haven't had the opportunity yet to do more than play with it a bit.  Once I start using it though, I think it's going to be huge.