Author Topic: Can you dynamically set text color to match the genre of the playing track?  (Read 260 times)

Przemek

  • Newbie
  • *
  • Posts: 16
Hey all,
I'm really just starting to get into Theater Mode and I have an idea for a skin I'd like to make. Crucially, it involves changing some block's or text's color with accordance to the genre of the song. Is there any way to make that work? So far I haven't seen any mentions of conditional functionality and I don't have any experience with XML to know if it's the norm.

Alternatively, can you think of any workarounds? Such as having a folder with JPG images for genres and somehow inserting them based on the genre of the track?

Thanks!

Mayibongwe

  • Sr. Member
  • ****
  • Posts: 1070
  • Heal The World
That is true, theater modes do not have much of conditional functionality in them.

Something you can test out which I've never tried before:
Set up a virtual tag with markup code to change the font colour.
Then display that virtual tag within your TM (highly doubtful the markup settings would carry over though)
I already spend hours on end on social media. Might as well spare a few of those to a greater purpose here.

voodoopunk

  • Jr. Member
  • **
  • Posts: 55
I have no experience with Theater Modes, but this works in Track Details. With the caveat that sometimes the formatting is a bit strange:

Code
$IsNull(<Genre>,,$If($IsMatch(<Genre>,"J-Pop|C-Pop|T-Pop|P-Pop|V-Pop|Kawaii Metal"),{color: 255,215,0}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Hardcore Punk|Melodic Hardcore|Crust Punk|Pop Punk|Skate Punk|Noise Rock|Noisecore|Grindcore|Alternative Metal|Punk Rock|Japanese Hardcore|Ska Punk|D-Beat|Groove Metal|Post-Hardcore|Indie Rock"),{color: 255,0,0}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Art Pop|Art Rock|Synthpop|Electronic|Ambient|Experimental|2 Tone"),{color: 147,112,219}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Blues|Jazz"),{color: 30,144,255}$Replace(<Genres>,;, /),))

Przemek

  • Newbie
  • *
  • Posts: 16
That is true, theater modes do not have much of conditional functionality in them.

Something you can test out which I've never tried before:
Set up a virtual tag with markup code to change the font colour.
Then display that virtual tag within your TM (highly doubtful the markup settings would carry over though)

Thanks! Once I get around to trying it out I'll let you know how it went.

I have no experience with Theater Modes, but this works in Track Details. With the caveat that sometimes the formatting is a bit strange:

Code
$IsNull(<Genre>,,$If($IsMatch(<Genre>,"J-Pop|C-Pop|T-Pop|P-Pop|V-Pop|Kawaii Metal"),{color: 255,215,0}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Hardcore Punk|Melodic Hardcore|Crust Punk|Pop Punk|Skate Punk|Noise Rock|Noisecore|Grindcore|Alternative Metal|Punk Rock|Japanese Hardcore|Ska Punk|D-Beat|Groove Metal|Post-Hardcore|Indie Rock"),{color: 255,0,0}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Art Pop|Art Rock|Synthpop|Electronic|Ambient|Experimental|2 Tone"),{color: 147,112,219}$Replace(<Genres>,;, /),)$If($IsMatch(<Genre>,"Blues|Jazz"),{color: 30,144,255}$Replace(<Genres>,;, /),))

Thanks! I just don't know if this can be used in Theater Mode, because it uses XML with totally different syntax. To my knowledge the answer so far seems no. :/

Mayibongwe

  • Sr. Member
  • ****
  • Posts: 1070
  • Heal The World
Thanks! Once I get around to trying it out I'll let you know how it went.
Just tried it...that doesn't work (as expected).
What you can try to do is post a request in this same subforum for an option to override the .xml text attributes whenever a referenced virtual tag contains markup settings.
I would +1 it.
I already spend hours on end on social media. Might as well spare a few of those to a greater purpose here.