Author Topic: Useful Virtual Tag Formulas, Part 2  (Read 235 times)

The Incredible Boom Boom

  • Sr. Member
  • ****
  • Posts: 479
Unfortunately, former user @redwing's previous thread is locked, otherwise I would've put this new topic under it. This thread will be for anyone who wants to contribute their personal Virtual Tags, regardless of complexity.

I currently have a ridiculously complicated Virtual Tag that checks tags for "writer," "composer," "arranger," "orchestrator," "lyricist" and "librettist" and spit out useful results like:
Quote
Writing, Arrangement and Lyrics: <writer:FirstName LastName>
Music: <Composer> Libretto: <Lyricist>
Orchestration: <orchestrator:FirstName LastName> and <orchestrator:FirstName LastName>
Music and Lyrics: <Composer>, <Composer> and <Composer> Arrangement: <arranger:FirstName LastName>
...and so on.

I'm now getting around to doing the "producer," "engineer" and "mix engineer" version and just wanted to share the pseudo-code before I put my tags into it, in case anyone else wants to use it. It'll display:
Quote
Produced by: <producer:FirstName LastName>
Produced and Mixed by: <producer:FirstName LastName> and <mixer:FirstName LastName>
Engineered by: <engineer:FirstName LastName>
Produced by: <producer:FirstName LastName>, <producer:FirstName LastName> and <producer:FirstName LastName> Engineered by: <engineer:FirstName LastName> and <engineer:FirstName LastName>
...and the like.

You should just need to use a text editor to replace "PRODUCER" "MIXER" and "ENGINEER" with whatever corresponding tags you use to designate those positions. A lot of people probably have it easy and already have <PRODUCER> <ENGINEER> <MIX> Custom Tags, but this will even work if your credits tags are in an Involved People List tag (mine are) - though that's another whole body of work. Once again, this is pseudo-code and there will likely be some edge cases that don't format properly. If you find and fix them, kindly share your improvements.

Code
$IsNull(<PRODUCER><ENGINEER><MIXER>,,$If($And(<PRODUCER>=<ENGINEER>,<PRODUCER>=<MIXER>),$If(<PRODUCER>=<WRITER>,"Writing, ",$IsNull(<PRODUCER>,"Writer: "<WRITER>,"Producer, "))$IsNull(<MIXER>,," and Mixer: "<PRODUCER>),$IsNull(<PRODUCER>,,$If(<PRODUCER>=<WRITER>,Writer,Producer))$IsNull(<MIXER><ENGINEER>,": "<PRODUCER>,$IsNull(<PRODUCER><MIXER>,"Engineer: "<ENGINEER>,$IsNull(<PRODUCER>,,$If($Or(<PRODUCER>=<ENGINEER>,<PRODUCER>=<MIXER>)," and",": "<PRODUCER>))$IsNull(<ENGINEER>,,$IsNull(<PRODUCER>,," ")"Engineer"$If(<ENGINEER>=<MIXER>," and",": "<ENGINEER>))$IsNull(<PRODUCER><ENGINEER>,," ")$IsNull(<MIXER>,,"Mixer: "<MIXER>)))

If you want to use this for other tags, they'll need to contain at most four elements/tags (for example - 1. <Composer> 2. <Lyricist> 3. <arranger:FirstName LastName> 4. <writer:FirstName LastName>)  if you want to copy and paste. Otherwise, good luck figuring it out on your own! :D

Pix:








Last Edit: February 18, 2021, 07:52:00 PM by The Incredible Boom Boom