Отсутствует исполнитель в треклисте

Список разделов foobar2000 Есть вопрос!

Описание: У вас проблемы с foobar2000 и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть. Подробно описывайте проблему. Не забывайте указать версию плеера, название сборки, по возможности добавить скриншоты проблемы.

Сообщение #1 Maximus Panin » 25.05.2018, 17:21

Здравствуйте.
При проигрывании альбома Various Artist в плейлисте отображается только название композиции без исполнителя. Помогите исправить.

Скриншот
98a98bd4ea397684b097e298828ba7e7.png
Исходный Tracklist тег
Код: Выделить всё
// ------------------ переменные
$puts(images_path,%el_foobar2000_path%\images\similar_wmp_mod\)
$puts(yglobal1,4)
$puts(yglobal2,$sub($get(yglobal1),1))
$puts(now_txt_color,$if(%el_isplaying%,%__PLAYING_COLOR__%,%__TXT_COLOR__%))

$puts(tlist_title1,$num($add(%el_item_index%,1),2))
$puts(width_title1,$gettextwidth($get(tlist_title1),Segoe UI,8,))
$puts(xpos1,12)
$puts(xsize1,$get(width_title1))
$puts(xpos2,$add($get(xpos1),$get(xsize1),6))
$puts(xsize2,6)
$puts(xpos5,$sub(%el_width%,48))
$puts(xsize5,36)
$puts(xpos4l,$sub(%el_width%,68))
$puts(xpos4b,$sub(%el_width%,$ifequal(%__IS_LYRICS__%,1,127,112)))
$puts(xsize4b,55)
$puts(xpos3,$add($get(xpos2),$get(xsize2),6))
$puts(xsize3,$sub($ifequal(%__IS_BITRATE__%,1,$get(xpos4b),$ifequal(%__IS_LYRICS__%,1,$get(xpos4l),$get(xpos5))),$get(xpos3),3))
$puts(xsize3popravka,$ifequal(%__IS_RATING__%,1,70,0))

// ------------------ курсор
$drawroundrect(%__HPADDING__%,%__VPADDING__%,$sub(%el_width%,$mul(%__HPADDING__%,2),1),$sub(%el_row_height%,$mul(%__VPADDING__%,2),1),1,1,%__BOX_COLOR__%-$add(%__BOX_ALPHA__%,20),%__BOX_COLOR__%-$add(%__BOX_ALPHA__%,40),)
$if($or(%el_selected%,%el_focused%),$drawroundrect(%__HPADDING__%,%__VPADDING__%,$sub(%el_width%,$mul(%__HPADDING__%,2),1),$sub(%el_row_height%,$mul(%__VPADDING__%,2),1),1,1,%__BOX_COLOR_SELECTED1__%,%__BOX_COLOR_SELECTED2__%,))

// ------------------ информация о треке
$puts(tlist_title2,$char(8226))
$if(%el_is_noheader%,
   $puts(tlist_title3,[ %queue_indexes% >  ][%artist% - ]%title%)
,
   $puts(tlist_title3,[ %queue_indexes% >  ]$if($or($strcmp(%album artist%,VA),$strcmp(%band%,VA),$strcmp(%va%,1)),[%artist% - ]%title%,%title%))
)
$puts(tlist_title4,$if($strcmp(%codec_profile%,CBR),,~)$info(bitrate) kbit)
$puts(tlist_title5,%length%)

$drawtextex($get(tlist_title1),$add($get(xpos1),1),$get(yglobal1),$get(xsize1),%el_height%,%__SHADOW_COLOR__%,left vtop end_ellipsis)
$drawtextex($get(tlist_title1),$get(xpos1),$get(yglobal2),$get(xsize1),%el_height%,$get(now_txt_color),left vtop end_ellipsis)
$if(%el_isplaying%,
   $font(Segoe UI,8,bold)
   $drawtext($get(tlist_title2),$add($get(xpos2),1),$sub($get(yglobal1),1),$get(xsize2),%el_height%,%__SHADOW_COLOR__%,left vtop)
   $drawtext($get(tlist_title2),$get(xpos2),$sub($get(yglobal2),1),$get(xsize2),%el_height%,$get(now_txt_color),left vtop)
   $puts(queue_width,$add($gettextwidth( %queue_indexes% >,Segoe UI,8,bold),1))
,
   $puts(queue_width,$add($gettextwidth( %queue_indexes% >,Segoe UI,8,),1))
)
$if(%queue_indexes%,
   $drawroundrect($get(xpos3),$add(%__VPADDING__%,3),$get(queue_width),12,1,1,%__BOX_COLOR__%-%__BOX_ALPHA__%,$get(now_txt_color),)
)
$drawtextex($get(tlist_title3),$add($get(xpos3),1),$get(yglobal1),$sub($get(xsize3),$get(xsize3popravka)),%el_height%,%__SHADOW_COLOR__%,left vtop end_ellipsis)
$drawtextex($get(tlist_title3),$get(xpos3),$get(yglobal2),$sub($get(xsize3),$get(xsize3popravka)),%el_height%,$get(now_txt_color),left vtop end_ellipsis)
$ifequal(%__IS_RATING__%,1,
   $imageabs($sub($get(xsize3),22),$div($sub(%el_height%,12),2),60,12,$get(images_path)RATING$if2(%rating%,0)'.png',nodelay)
,)
$font(Segoe UI,8,)
$ifequal(%__IS_BITRATE__%,1,
   $drawtextex($get(tlist_title4),$add($get(xpos4b),1),$get(yglobal1),$get(xsize4b),%el_height%,%__SHADOW_COLOR__%,right vtop end_ellipsis)
   $drawtextex($get(tlist_title4),$get(xpos4b),$get(yglobal2),$get(xsize4b),%el_height%,$get(now_txt_color),right vtop end_ellipsis)
,)
$ifequal(%__IS_LYRICS__%,1,
   $drawroundrect($get(xpos4l),$add(%__VPADDING__%,3),11,11,1,1,,%__BOX_COLOR_GROUP__%-$add(%__BOX_ALPHA_GROUP__%,80),)
   $gradientrect($get(xpos4l),$add(%__VPADDING__%,3),11,11,%__BOX_COLOR_GROUP__%-%__BOX_ALPHA_GROUP__%,%__BOX_COLOR_GROUP__%-$add(%__BOX_ALPHA_GROUP__%,40),)
   $if($or($findfile(%__LYRICS_FILENAME__%),%LYRICS%,%UNSYNCED LYRICS%),
      $gradientrect($add($get(xpos4l),4),$add($get(yglobal1),3),5,1,%__SHADOW_COLOR__%,,)
      $gradientrect($add($get(xpos4l),4),$add($get(yglobal1),5),5,1,%__SHADOW_COLOR__%,,)
      $gradientrect($add($get(xpos4l),4),$add($get(yglobal1),7),5,1,%__SHADOW_COLOR__%,,)
      $gradientrect($add($get(xpos4l),4),$add($get(yglobal1),9),5,1,%__SHADOW_COLOR__%,,)
      $gradientrect($add($get(xpos4l),3),$add($get(yglobal1),2),5,1,$get(now_txt_color),,)
      $gradientrect($add($get(xpos4l),3),$add($get(yglobal1),4),5,1,$get(now_txt_color),,)
      $gradientrect($add($get(xpos4l),3),$add($get(yglobal1),6),5,1,$get(now_txt_color),,)
      $gradientrect($add($get(xpos4l),3),$add($get(yglobal1),8),5,1,$get(now_txt_color),,)
   )
,)
$if(%el_isplaying%,,
   $drawtextex($get(tlist_title5),$add($get(xpos5),1),$get(yglobal1),$get(xsize5),%el_height%,%__SHADOW_COLOR__%,right vtop end_ellipsis)
   $drawtextex($get(tlist_title5),$get(xpos5),$get(yglobal2),$get(xsize5),%el_height%,$get(now_txt_color),right vtop end_ellipsis)
)
Maximus Panin
Автор темы
Аватара
Репутация: 0
С нами: 15 лет 10 месяцев

Сообщение #2 MeinHerz » 25.05.2018, 18:11

А тег ARTIST в самих файлах заполнен или там только ALBUM ARTIST? Посмотрите в свойствах файла (в плейлисте Alt+Enter).
MeinHerz
Репутация: 20
С нами: 5 лет 11 месяцев

Сообщение #3 Maximus Panin » 25.05.2018, 23:42

Да, заполнено.

Спойлер
2018-05-25_213952.jpg
2018-05-25_214144.jpg
Maximus Panin
Автор темы
Аватара
Репутация: 0
С нами: 15 лет 10 месяцев

Сообщение #4 MeinHerz » 26.05.2018, 01:48

Maximus Panin:
Код: Выделить всё

...$if($or($strcmp(%album artist%,VA),$strcmp(%band%,VA),$strcmp(%va%,1)),[%artist% - ]%title%,%title%)


Насколько разобрался (фубаровский синтаксис ужасен), $or в функцию $if возвращает false, так как все сравнения строк тоже возвращают false, поэтому переменная tlist_title3 принимает значение "%queue_indexes% > %title%".

Код: Выделить всё
$puts(variable,
    $if(
        $or(false,false,false),
        true   (артист и название),
        else   (только название)
    )
)

Но я могу и ошибаться поскольку это вложено еще в один $if(), в котором я не знаю, что за переменная %el_is_noheader%
MeinHerz
Репутация: 20
С нами: 5 лет 11 месяцев

Сообщение #5 George Smith » 26.05.2018, 11:17

Maximus Panin, попробуйте заполнить тег Album Artist. У вас на скриншоте видно, что он пустой. К примеру, Various Artists или VA.
George Smith
Репутация: 68
С нами: 10 лет 1 месяц

Сообщение #6 Maximus Panin » 28.05.2018, 19:53

George Smith:попробуйте заполнить тег Album Artist. У вас на скриншоте видно, что он пустой. К примеру, Various Artists или VA.
В альбоме одного исполнителя тоже самое. Смотрите скриншоты в след.посте.
Maximus Panin
Автор темы
Аватара
Репутация: 0
С нами: 15 лет 10 месяцев

Сообщение #7 MC Web » 28.05.2018, 22:02

Maximus Panin:При проигрывании альбома Various Artist в плейлисте отображается только название композиции без исполнителя.
1. Если альбом из РАЗНЫХ ИСПОЛНИТЕЛЕЙ и в теге %album artist% есть соответствующая запись.
В скрипте прописано только:
Код: Выделить всё
$strcmp(%album artist%,VA),$strcmp(%band%,VA)
для отображения Исполнителя, если в теге %album artist% прописано Various Artist, необходимо добавить строку:
Код: Выделить всё
$strcmp(%album artist%,Various Artists),
в трех вкладках (см. скриншот):
Спойлер
Изображение
Необходимо добавить новую группировку, например:
Код: Выделить всё
По умолчанию 1
$if(%album%,%album artist%|%album%|%discnumber%,%directoryname%)
%path_sort%
во вкладке Группы:
Спойлер
Изображение
Должно получится следущее:
Спойлер
Изображение

2. Если альбом ОДНОГО ИСПОЛНИТЕЛЯ и в теге %album artist% есть соответствующая запись, то будут отображать только названия треков.
MC Web
Репутация: 248
С нами: 10 лет 7 месяцев


Вернуться в Есть вопрос!