Dr.DeathЯ пытался использовать имена файлов в пределах конкретной папки. Но ничего не вышло. Логика не отлажена. Вообще, идея была такая: сканим тэги
%artist% у файлов в папке. Если одинаковые, то выводим тэг из файла с tracknumber=1. А если нет, то выводим все или Various Artists. Тут на свой вкус. Я, например, люблю, чтобы первая строка с tracknumber=1 была темная, а все остальные - светлые.
Вот скринПриведу неудавшийся скрипт:
- Код: Выделить всё
$puts(Fold,$replace($caps2(%directoryname%),_, ,'[','(',']',')'))
$puts(Alb,$replace($caps2(%album%),_, ,'[','(',']',')',:,-))
$puts(Fold2,$replace($caps(%directoryname%),_, ,'[','(',']',')'))
$puts(1A,$if($strcmp($num(%tracknumber%,2),01),%artist%,))
$puts(2A,$if($greater($num(%tracknumber%,2),01),%artist%,))
$puts(ArtForm,$if($stricmp($get(1A),$get(2A)),$get(1A),$get_global(Artist)))
$puts(ArtReco,
$if($or($greater($strstr($get(Fold),$get(Alb)),0),$greater($strstr($get(Fold2),$caps(%genre%)),0),$greater($strstr($get(Fold2),$caps(%artist%)),0)),$get(ArtForm),$get_global(Artist))
)
$puts(artist_color,$if($or($greater($strstr($get(Fold),$get(Alb)),0),$greater($strstr($get(Fold2),$caps(%genre%)),0),$greater($strstr($get(Fold2),$caps(%artist%)),0)),$rgb(151,62,9,255,255,255),$rgb(8,3,5,255,255,255)))
$puts(PlayColor,$if(%isplaying%,$rgb(255,255,255,255,255,255),$rgb(8,3,5,255,255,255)))
$puts(PlayColor2,$if(%isplaying%,$rgb(255,255,255,255,255,255),$get(artist_color)))
$put(ATAT,$if($strcmp($num(%tracknumber%,2),01),$get(PlayColor)$get_global(Artist),$get(PlayColor2)$get(ArtReco)))
Далее ещё строк 20 по обработке %artist% и сканированию имён файлов.
Тэги - это, конечно, легко. Я использую небольшой самописанный скрипт:
- Код: Выделить всё
$puts(artist_color,$if($or($greater($strstr($get(Fold),$get(Alb)),0),$greater($strstr($get(Fold2),$caps(%genre%)),0),$greater($strstr($get(Fold2),$caps(%artist%)),0)),$rgb(151,62,9,255,255,255),$rgb(8,3,5,255,255,255)))
$puts(PlayColor,$if(%isplaying%,$rgb(255,255,255,255,255,255),$rgb(8,3,5,255,255,255)))
$puts(PlayColor2,$if(%isplaying%,$rgb(255,255,255,255,255,255),$get(artist_color)))
$puts(Art,$if($strcmp($num(%tracknumber%,2),01),%artist%,))
$puts(ArtDecide,$if($or(%not va%,%notva%,%not various%,%notvariousartists%,%not various artists%),$get(Art),$get_global(Artist)))
$puts(ATAT,$if($strcmp($num(%tracknumber%,2),01),$get(PlayColor)$get_global(Artist),$get(PlayColor2)$get(ArDec)))
Он простой, да и недоработанный ещё. Но со своей задачей уже неплохо справляется. Единственное: нужны тэг из этого множества: %not va%, %notva%, %not various%, %notvariousartists%, %not various artists%