OK, to some extent I have managed this, but my scripting is awful.
I've essentially just created a load of IFs and put them all together in the coding window. Not good.
Record Artist/Title Column:
Display
$if([%album%],,[%artist%])
$ifequal(%discnumber%,01,
$select(%tracknumber%,
[%albumartist%],
[%album%]$if([%disc%], '('Disc [%disc%]')',)$tab()[%date%]' ',
)
,
)
$ifequal(%discnumber%,02,
$select(%tracknumber%,
[%album%]$if([%disc%], '('Disc [%disc%]')',)' ',
)
,
)
$ifequal(%discnumber%,,
$select(%tracknumber%,
[%albumartist%],
[%album%]$if([%disc%], '('Disc [%disc%]')',)$tab()[%date%]' ',
)
,
)
Style
$ifequal(%tracknumber%,1,$ifequal(%discnumber%,01,
$set_style(back,$rgb(220,220,220),$rgb(220,220,220))
,
)
,
)
$ifequal(%tracknumber%,1,$ifequal(%discnumber%,,
$set_style(back,$rgb(220,220,220),$rgb(220,220,220))
,
)
,
)
$ifequal(%tracknumber%,1,$ifequal(%discnumber%,02,
$set_style(back,$rgb(230,230,230),$rgb(220,220,220))
,
)
,
)
$ifequal(%tracknumber%,2,$ifequal(%discnumber%,01,
$set_style(back,$rgb(230,230,230),$rgb(220,220,220))
,
)
,
)
$ifequal(%tracknumber%,2,$ifequal(%discnumber%,,
$set_style(back,$rgb(230,230,230),$rgb(220,220,220))
,
)
,
)
$if(%isplaying%,
$set_style(text,$rgb(255,255,255),$rgb(255,255,255))
$set_style(back,$rgb(39,61,126),$rgb(39,61,126))
$set_style(frame-top,1,$rgb(0,0,0))
$set_style(frame-bottom,1,$rgb(0,0,0))
,
)
So that, rather messily, accounts for CDs with no DISCNUMBER field (only records with more than one disc have an item in that field) and it accounts for records with 2 discs, but what happens if I have a record with 3 or 5 discs? I can't keep adding IF statements.
Can someone help me clean this up, please?