INTERACT FORUM

Please login or register.

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

Author Topic: Is there any metadata edit functionality besides manual text edit of each field  (Read 280 times)

Captain_Bitter

  • Recent member
  • *
  • Posts: 15

I tried looking on the Wiki -- and searching in the forum -- but didn't find what I am looking for.

I have imported some music files without associated metadata. Either the artist metadata is in the filename -- but not the appropriate artist field -- or the song name is listed as 'Track # - Artist - Song".

Question: is there any way to either:
1. Bulk copy the song title to the artist field so I can simply delete the track/title data, leaving the artist name? Or
2. Perform some text manipulation so I can strip out the artist name from the song title and deposit it into the Artist field?

Or does this all have to be performed manually (which would be labor-intensive in this case)?

Hopefully my explanation above makes sense: bigger picture, the question is whether I can somehow parse out pieces of a metadata field into other fields, thereby saving a whole lot of cut-&-paste.

Thanks in advance for your assistance, -dGB

P.S. I have very eclectic taste in music, so I have tried MC lookup feature to source metadata....and found that I get very few successes this way. My 'hit rate' is very low for both metadata and cover art. So that is unlikely to be a solution here, in case anyone was thinking that might be the way out of this jam.
Logged

zybex

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2388

Yes, MC includes a whole script language to do that (Expression Language). You can use it to select a bunch of files and type an expression that extracts some part of the [Name] field into the [Artist] field, for instance. The exact expression will depend on how your [Name] or [Filename] data looks like.

You can also try the "Fill Properties from filename" tool (press F12), which allows extraction of items from the filename itself in a simplified way. Search the forum for examples, or google "jriver Fill Properties from filename".

Logged

Captain_Bitter

  • Recent member
  • *
  • Posts: 15

Thank you, Zybex. Exactly what the doctor ordered. This took a little time to get the syntax straight, but it was straightforward once I got the naming conventions down: [Track #] instead of [Track], etc.

Thanks, -dGB
Logged

Captain_Bitter

  • Recent member
  • *
  • Posts: 15

Thank you, Zybex. Exactly what the doctor ordered. This took a little time to get the syntax straight, but it was straightforward once I got the naming conventions down: [Track #] instead of [Track], etc.

Thanks, -dGB

This expression language is 'Da Bomb. It helps immensely.

Question: I have a complex query I want to untangle, but I can't figure this one out. Can anyone help me? It involves 'ignoring' part of the string since this is for 100 albums, so some of the text string differs from album to album. A typical filename string looks like this:

/Vladimir Ashkenazy/Vladimir Ashkenazy - Complete Solo Recordings - 2022/CD09-27 - Beethoven/CD13 - Sonatas no.2 and no.3/Complete Solo Recordings - CD13 (1 - Piano Sonata no.2 in A op.2 no.2 - I. Allegro vivace).aif

What I want to do is turn this filename string into the following:
Artist: Vladimir Ashkenazy
Album: Complete Solo Recordings - CD 09 (will vary from album to album)
Date: 2022
Disc #: 9 (again, varies)
Track #: 1 (again, varies)
Name: Piano Sonata no.2 in A op.2 no.2 - I. Allegro vivace

The challenge is two-fold: 1) ignoring parts of the string and 2) concatenating the CD# into the title

Here's what I have so far: [Artist]/[Artist] - [Album] - [Date]//[Album]/ ([Track #] [Name])
....but this definitely doesn't work completely. I think it gets everything except concatenating the album title, which I guess I can get around manually, that's the smallest of my issues.

My biggest issues are figuring out how to ignore portions of a string.....and how not to overwrite fields in a string that I have already picked up. I think the two issues are related.

Any assistance greatly appreciated.

Thanks, -dGB


Logged

zybex

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2388

You can ignore parts by entering just "[]" ( empty field name). For the concatenation you can create a new temporary field and use it to capture the second part (or use an existing unused one such as [Episode]). Afterwards you can use a field expression (not F12) to further manipulate and merge the two parts.

Shouldn't your example be CD13 instead of CD09 ? Or, the Album should perhaps not include the CD# since that is already in the Disc # field?

Your paths have lots of redundancy, each item shows up twice. This may work for you if all files follow the same layout:
/[]/[Artist] - [Album] - [Date]/[Episode]/CD[Disc #] - []/[] ([Track #] - [Name]

Then the info in [Episode] can be added to [Album] with an expression (ask me later if you can't get there).
If you know Regex, this can also be done in a totally different way.
Logged

Captain_Bitter

  • Recent member
  • *
  • Posts: 15

You can ignore parts by entering just "[]" ( empty field name). For the concatenation you can create a new temporary field and use it to capture the second part (or use an existing unused one such as [Episode]). Afterwards you can use a field expression (not F12) to further manipulate and merge the two parts.

Shouldn't your example be CD13 instead of CD09 ? Or, the Album should perhaps not include the CD# since that is already in the Disc # field?

Your paths have lots of redundancy, each item shows up twice. This may work for you if all files follow the same layout:
/[]/[Artist] - [Album] - [Date]/[Episode]/CD[Disc #] - []/[] ([Track #] - [Name]

Then the info in [Episode] can be added to [Album] with an expression (ask me later if you can't get there).
If you know Regex, this can also be done in a totally different way.

Thanks muchly -- will try this. It's the 'ignore' feature that was opaque to me. I didn't realize you could just cast a string to oblivion (ignore) using []. And I didn't realize you could create a temp variable like [Episode].

I think I might have mistyped the 13 and the 9 in my original message. Or I might have messed that up, pulling info from a second file, because I went in and edited the ask a couple times. But I think this will get me most of the way there.

RE: a single title with the Disc variation. In most cases, for box sets, that's exactly what I do: create a single title and let all the titles "sort themselves out" by differentiating with the 'Disc #' delineation. In this case, the Ashkenazy - Complete Solo Recordings is 90 CDs, so if I did that, I'd have to navigate DEEP into the title if I wanted to play CD86, for example. That's why this one particular collection is an exception for me. 
Logged

zybex

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2388

Thanks muchly -- will try this. It's the 'ignore' feature that was opaque to me. I didn't realize you could just cast a string to oblivion (ignore) using []. And I didn't realize you could create a temp variable like [Episode].

[Episode] is an existing field in MC. You can create other fields in Settings for your own purposes, then use them. You can't use a field name without first creating it - though I suppose [unknownFieldName] would work just the same as [] :)
Logged

Captain_Bitter

  • Recent member
  • *
  • Posts: 15

[Episode] is an existing field in MC. You can create other fields in Settings for your own purposes, then use them. You can't use a field name without first creating it - though I suppose [unknownFieldName] would work just the same as [] :)

Additional question: is there any way to take a track listing for an album and "push" it on to a listed album? If not, can it be done track-by-track?

To be more explicit: If I have an album lacking [Artist], [Name] and [Track #]. Can I select Track #1 and perform something like:
[Artist = Bobby Vee], [Name = Hit Song] and [Track # = 1]? In other words, "cast" properties on to a song (or album) in bulk using the Scripting langugage?

Thanks, -dGB
Logged

zybex

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2388

Not like that, but if you have the data in Excel you can simply copy it, select the files in MC and then Right Click > Edit > Paste Tags.
There's also an online lookup for albums using YADB (right-click > Library Tools > Lookup Track Info).
For tracks numbers, there's Library Tools > Fill Track Numbers from order.

For more advanced scripting, you can also set tags using the MCWS REST API.
Logged
Pages: [1]   Go Up