[можно закрывать] foobar v1.0 и CUE playlist filter

Ответить
 

waldis2

Стаж: 18 лет 2 месяца

Сообщений: 2326


waldis2 · 13-Май-12 18:20 (13 лет 3 месяца назад, ред. 16-Май-12 16:10)

Малость улучшил шаблон для отображения в библиотеке:
Код:

$if($stricmp(%__encoding%,synthesized),MIDI Music|,)$swapprefix($if2($if2(%album artist%,%artist%),%directory%),The,the)|$if($greater($len(%date%),3),%date% ,)$if(%album%,$caps(%album%)|,)$if($stricmp(%directory%,CD1),CD1|,)$if($stricmp(%directory%,CD2),CD2|,)$if($greater($tracknumber(),0),$tracknumber() ,)$if(%title%,$caps(%title%),%filename_ext%)
В принципе в основном всё что хотелось оно сейчас делает.
Ну разве что не угадывает желание отображать в виде various artists некоторых альбомов и соотв. выкусывать этих исполнителей из их "домашних" разделов.
В спойлере пример чего получилось и расположение файлов на диске
А вот и вариант с учётом сборников и пр. саундтреков.
Заодно попытался хоть как-то это сделать хотя бы немного читаемым.
Код:

$puts(ARTISTNAME,$if2(%album artist%,$if2(%artist%,)))
$puts(SONGNUMBER,$if($greater($tracknumber(),0),$tracknumber() ,))
$puts(SONGNAME,$if(%title%,$caps(%title%),%filename_ext%))
$puts(SPECIAL,$if($stricmp(%__encoding%,synthesized),#### MIDI Music ####|%directory%,))
$if($stricmp(%directoryname%,CD1),$puts(LEVEL,Disk 1|),)
$if($stricmp(%directoryname%,CD2),$puts(LEVEL,Disk 2|),)
$puts(DATE,$if($greater($len(%date%),3),%date% ,))
$if($or($if2($stricmp(%genre%,Soundtrack),),
$if2($stricmp($get(ARTISTNAME),Various Artists),),
$if2($stricmp($get(ARTISTNAME),VA),),
$if2($stricmp(%__path%,!Soundtracks),),
$if2($stricmp(%__path%,Mix),),
$if2($stricmp(%__path%,!Various Artists),)),$puts(VA,YES),)
$if($get(VA),$puts(FIRST,$get(DATE)%album%)$puts(SECOND,)$puts(SPECIAL,#### Collections ####|),$puts(FIRST,$get(ARTISTNAME)|)$puts(SECOND,%album%))
$get(SPECIAL)$caps($swapprefix($get(FIRST),The))$if($get(VA),,$get(DATE)$get(SECOND))|$get(LEVEL)[$get(SONGNUMBER)]$get(SONGNAME)$if($get(VA),[ - %artist%],)
Очередной вариант
Уже лучше в спойлер
скрытый текст
Код:

$puts(ARTISTNAME,%artist%)
$puts(SONGNUMBER,$if($greater($tracknumber(),0),$tracknumber() ,))
$puts(SONGNAME,$if(%title%,$caps(%title%),%filename_ext%))
$puts(SPECIAL,$if($stricmp(%__encoding%,synthesized),#### MIDI Music ####|%directory%|,))
$if($or(
$if2($stricmp(%directoryname%,Vol.1),),
$if2($stricmp(%directoryname%,Vol. 1),),
$if2($stricmp(%directoryname%,CD1),),
$if2($stricmp(%directoryname%,CD 1),),
$if2($stricmp(%directoryname%,Disk1),),
$if2($stricmp(%directoryname%,Disc 1),),
$if2($stricmp(%directoryname%,Disk 1),)),
$puts(LEVEL,Disk 1|),)
$if($or(
$if2($stricmp(%directoryname%,Vol.2),),
$if2($stricmp(%directoryname%,Vol. 2),),
$if2($stricmp(%directoryname%,CD2),),
$if2($stricmp(%directoryname%,CD 2),),
$if2($stricmp(%directoryname%,Disk2),),
$if2($stricmp(%directoryname%,Disc 2),),
$if2($stricmp(%directoryname%,Disk 2),)),
$puts(LEVEL,Disk 2|),)
$if($or(
$if2($stricmp(%directoryname%,Vol.3),),
$if2($stricmp(%directoryname%,Vol. 3),),
$if2($stricmp(%directoryname%,CD3),),
$if2($stricmp(%directoryname%,CD 3),),
$if2($stricmp(%directoryname%,Disk3),),
$if2($stricmp(%directoryname%,Disc 3),),
$if2($stricmp(%directoryname%,Disk 3),)),
$puts(LEVEL,Disk 3|),)
$if($or(
$if2($stricmp(%directoryname%,Vol.4),),
$if2($stricmp(%directoryname%,Vol. 4),),
$if2($stricmp(%directoryname%,CD4),),
$if2($stricmp(%directoryname%,CD 4),),
$if2($stricmp(%directoryname%,Disk4),),
$if2($stricmp(%directoryname%,Disc 4),),
$if2($stricmp(%directoryname%,Disk 4),)),
$puts(LEVEL,Disk 4|),)
$if($or(
$if2($stricmp(%directoryname%,Vol.5),),
$if2($stricmp(%directoryname%,Vol. 5),),
$if2($stricmp(%directoryname%,CD5),),
$if2($stricmp(%directoryname%,CD 5),),
$if2($stricmp(%directoryname%,Disk5),),
$if2($stricmp(%directoryname%,Disc 5),),
$if2($stricmp(%directoryname%,Disk 5),)),
$puts(LEVEL,Disk 5|),)
$puts(DATE,$if($greater($len(%date%),3),%date% ,))
$if($or(
$if2($strstr(%path%,\!Soundtracks\),),
$if2($strstr(%path%,\Mix\),),
$if2($strstr(%path%,\!Various Artists\),)),$puts(VA,YES),)
$if($get(VA),$puts(FIRST,)$puts(SECOND,)$puts(SUFFIX,[ / %artist%]),
$puts(FIRST,$swapprefix($get(ARTISTNAME),The)|)$puts(SECOND,$get(DATE)%album%|))
$if($and($get(LEVEL),$get(VA)),$puts(DIR,$directory(%path%,2)),$puts(DIR,%directory%))
$if($get(VA), $puts(SPECIAL,#### Various Artists ####|$get(DIR)|),)
$get(SPECIAL)$get(FIRST)$get(SECOND)$get(LEVEL)$get(SONGNUMBER)$get(SONGNAME)$get(SUFFIX)
Вроде все проблемы решены.
Остается кривоватое место в "коде" по поводу анализа разных вариантов написания номеров дисков, пришлось нагородить такой огород.
Есть очень большое подозрение, что задача может быть решена изящней с помощью каких-то хитрых конструкций фубара, но я ничего не могу пока придумать.
Подскажите пожалуйста, если кто сможет, как реализовать это компактней и изячней. В идеале количество "дисков" в таком варианте кода вообще не должно иметь значения.
В нормальном языке программирования задачка решается на раз-два, но тут немного другой случай,
и без того уже мозг болит от ломки стереотипов кодирования
А так прошу кого-нибудь испытать данный код. Мою коллекцию он в основном осилил.
Подчищаю кривые тэги и некоторые имена каталогов.
Работает нормально при сочетании и потрековых коллекций и образов дисков.
[Профиль]  [ЛС] 

odinochka-47

Стаж: 15 лет 2 месяца

Сообщений: 81

odinochka-47 · 19-Мар-13 12:39 (спустя 10 месяцев, ред. 19-Мар-13 12:39)

Вы тут пишете всё о высоком, а я элементарного найти не мог...
..наконец-то и я путём копания в "foobar2000" методом - "Научного тыка" смог включить ЭТОТ плангин - "CUE playlist filter"...
...объясняю как (для таких же как я - тех кто не может до сих пор запустить его):нужно в (Preferences/Advanced/Tools/Search Filters/Simple search-restrict to fields) прописать: C:....foobar2000\user-components ИЛИ components\foo_cuefilter - (местонахождение данного плагина в самом "foobar2000" (предварительно установив CUE playlist filter в foobar2000 ))
(надеюсь кому-нибудь я помог)
[Профиль]  [ЛС] 

TheoAdam

Top Bonus 02* 500GB

Стаж: 17 лет 1 месяц

Сообщений: 142

TheoAdam · 11-Июн-13 23:59 (спустя 2 месяца 23 дня, ред. 11-Июн-13 23:59)

odinochka-47
все так и сделал, не пашет куе фильтер... фубар 1.2.6
все настроилось. оказывается, в шелл интегрейшн забыл куй с исключений убрать, убрал только в медиа лайбрари
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error