upNorth: Here's how I do it (in Columns UI too)
Basically it's just the same as your code, but more configurable. I know it should be cleaned up, but I haven't got any interest in it as it already works well
// formatting mode | 1 = album/single, 0 = single
$puts(formatting_mode,1)
// single mode indicators
$puts(single0,$puts(genre,$strstr($upper(%genre%),$upper(%_playlist_name%)))$substr(%genre%,$get(genre),$sub($add($len(%_playlist_name%),$get(genre)),1)))
$puts(single1,'favs')
$puts(single2,'temp')
$puts(single3,'top')
$puts(single4,'rare')
$puts(single5,'New playlist')
$puts(single6,'random')
$puts(single7,'recent')
// check if forced singlemode
$if($strstr($upper(%_playlist_name%),$upper($get(single0))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single1))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single2))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single3))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single4))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single5))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single6))),$puts(formatting_mode,0))
$if($strstr($upper(%_playlist_name%),$upper($get(single7))),$puts(formatting_mode,0))
// set the variable
formatting_mode=$get(formatting_mode)