Author Topic: "Track Artist" column  (Read 8738 times)

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34349
glad its working
you could simplify it as spacing is not removed:
<IsNull(<Track#>,,<Track#>  )>•  <If(<Artist>=<Album Artist>,,<Artist>  /  )><Title>  [<Time>]

Greb

  • Guest
Indeed it'd be equivalente to:

<IsNull(<Track#>,•  ,<Track#>  )><If(<Artist>=<Album Artist>,,<Artist>  /  )><Title>  [<Time>]

But minor details. Many thanks.


Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34349
anyone you got the update above should use this version as there are cases with virtual tags which double up the displayed value:
http://www.mediafire.com/?cm65tlx4i13iypz

Greb

  • Guest
Nesting a 'if' and a 'left' doesn't work. For example:

<If(<Left(<Album Artist>,7)>=Various,,<Album Artist> • )>

By the way. This conditional stuff open lots of ways to personalize MB, a couple of virtual tags more would be really welcome!

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34349
Left() and If() only take a field as the comparison parameter and not something i can easily change, but you could use a Virtual field which could contain those functions i guess. I will look to add 2 more virtual fields. You dont need to use virtual fields anymore to customise the field headers as field customisations can now be be set in the Layout preferences

<Left(<field>,n)>
returns the left n characters of a field value eg. <Left(<Artist>,1)> will return K for artist Kele

<Pad(<field>,n)>
pads a numeric field value to n digits eg. <Pad(<Track#>,3)> will pad track number 6 as 006

<IsNull(<field>,true-value,false-value)>
evaluates whether a field is null and if null, displays true-value otherwise false-value. A value can be text, a field or a combination
eg. <IsNull(<Year>,<Album>,<Album> - <Year>)>

<If(<field>=value,true-value,false-value)>
evaluates whether a field matches a value. A value can be text, a field or a combination
eg. <If(<Artist>=<Album Artist>,,<Artist>)> would return blank if the artist was the same as the album artist


additionally <#> is now supported in virtual fields, where <#> is the position in a playlist. It only makes sense to use the virtual field in a playlist and will display an undefined number when used in other contexts.
eg. you might want to define a virtual field for the now playing list to combine # and track title:
<Pad(<#>,2)> - <Title>

Greb

  • Guest
I think there's another interesting option: adding those virtual fields as a tagging option. That is: being able to re-tag according to a conditional sentence.

This way, there would be several advantages:

- More virtual tags wouldn't be really needed, as long as there is 9 customs fields that can be used instead.
- I'm not sure that virtual fields can be used inside conditional expressions (so you can nest them), but custom fields can be used for sure.
- When you export your mp3s (for example: to your portable music player) you still can use those conditional tags there because they have been in inside the tags (as long as some custom fields have been re-tagged, of course).

Last Edit: October 09, 2011, 08:36:45 AM by Greb


Greb

  • Guest
I'd recommend to you to make available some 'predefined' sentences, since not everybody deals well with this kind of stuff.

For example, I use this one to display the content of one album:

<IsNull(<Track#>,•  ,<Track#>  )><If(<Artist>=<Album Artist>,,<Artist>  /  )><Title>  [<Time>]

This one to display the album artist and title of the album, or just the title if the album is a compilation:

<If(<Virtual5>=Various,,<Album Artist> • )><Album>  <IsNull(<Year>,,[<Year>])>

(having Virtual5 as <Left(<Album Artist>,7)>)

But I'm sure that it's possible to create many more useful ones.