Author Topic: Additional Tagging & Reporting Tools  (Read 938075 times)

redwing

  • Guest
Can you support a new preset that converts a string to performer tag?

For instance, a track has the two artist value (so in this case a string would be display artist tag with artists delimited by ; role by ,)

Elly Ameling, soprano vocals
Dalton Baldwin, piano

and I'd like to convert them to performer tags

Elly Ameling (soprano vocals)
Dalton Baldwin (piano)

and display artist value

Elly Ameling; Dalton Baldwin

I tried editing copy guest artists from Tag 1 preset, but it wasn't easy to convert the role part.

-----

Another issue with performer tag: if you copy performer tag with copy/paste tags to clipboard command, it pastes the value as artist tag rather than performer tag. You have to tick artist tag too to make it work. Is it a bug or an expected behavior?
Last Edit: March 15, 2018, 05:24:29 PM by redwing

boroda

  • Sr. Member
  • ****
  • Posts: 4659
i don't understand how mb works with instruments/roles through api. all my assumptions are wrong. maybe Steven will help us later.

p.s. i have forgotten it and haven't realized from your previous post the pseudo-tag <Path> is just path to file without filename, so i'll remove $Path() from plugin.

redwing

  • Guest
i don't understand how mb works with instruments/roles through api.

If you copy "Artist name (role)" to artist tag with \@char(2), it writes to performer tag with the role.


redwing

  • Guest
Thanks! It's working great except one issue. The tooltip for new value in preview window shows only first performer tag.

And if the string has another delimiter for role, just change comma to that character in step 1 & 2, right?

boroda

  • Sr. Member
  • ****
  • Posts: 4659
1st is predefined table control behavior (its because there are null chars, and only value before null is shown in tooltip).

2nd, yes, but escape sequence may be required for some chars used instead of comma.

redwing

  • Guest
OK, one more question. If the role has title case like Piano, how can I change it to lowercase?

I tried changing "($2)" part in step 1 to "\@lc($2)", but it doesn't work.

boroda

  • Sr. Member
  • ****
  • Posts: 4659
http://www.mediafire.com/file/mazq8051trfqq98/mb_TagTools_2018-03-16-beta.zip

asr code is rewritten, preset list is changed, you will find 2 duplicated presets after importing all/new, find them, delete and reimport new. or just delete all, import all.

redwing, i've changed that my preset, now it will lowercase roles.

redwing

  • Guest
The new version doesn't rewrite display artist value.

redwing

  • Guest
Also it would be useful if multiple search & replace preset supports commands that change a string to either lowercase or title case.

boroda

  • Sr. Member
  • ****
  • Posts: 4659
note: in theory in case of syntax error an appropriate error text must be shown in cell now instead of crashing mb, but cant recall which regexes crashed mb previously.

redwing, will have a look at these issues.

boroda

  • Sr. Member
  • ****
  • Posts: 4659
http://www.mediafire.com/file/gbxicvbkghoe0k6/mb_TagTools_2018-03-16.zip

redwing, that preset is fixed.

for multiple search and replace its not so easy, but maybe there is a workaround.

redwing

  • Guest
Thanks! It's working now. But maybe it would be better if it writes display artist from performer tag rather than from original artist tag. That will allow to rewrite display artist value based on performer tag for any files regardless of their current artist tag.

redwing

  • Guest
for multiple search and replace its not so easy, but maybe there is a workaround.

I wouldn't mind if those command are supported in different steps as long as they allow to enter multiple search string.

boroda

  • Sr. Member
  • ****
  • Posts: 4659
http://www.mediafire.com/file/gbxicvbkghoe0k6/mb_TagTools_2018-03-16.zip

use functions like in this example: A/b|C/d|*e/\\@tc(f)

'Ace' becomes 'bdF'

as its too difficult to get exception words from parameter, \@lc() and \@tc() will get them from the history of Change Case command.

actually haven't tested very thoroughly.