ELPlaylist (foo_uie_elplaylist.dll)

Список разделов foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #1 Eric_The_Red » 20.06.2008, 22:58

Официльный сайт плагина http://foo2k.chottu.net/

Ссылка на foobarWiKi: ELPlaylist (foo_uie_elplaylist.dll)

Английская версия мануала: Manual for ELPlaylist

Если есть проблема в конкретой ситуации с ELPlaylist::::

  • описываем суть проблемы
  • пишем имя сборки (или ссылку на сборку) из которой взят код скрипта ELP и этот код не работает [если это Ваш личный конфиг --- то добавляем код скрипта (а лучше Export ELP установок...) ]
  • приветствуются скриншоты в описаниях и рекомендациях
Последний раз редактировалось Izotop 23.04.2010, 03:00, всего редактировалось 1 раз.
Eric_The_Red M
Автор темы
Откуда: Нижний Новгород
Репутация: 0
С нами: 17 лет 2 месяца


Сообщение #121 angry_dog » 27.07.2010, 13:49

Об этом была просьба выше?
Не совсем. На скрине цвет не выделенного альбома, вот:

[img width=360 height=400]http://s15.radikal.ru/i189/1007/d3/ccda68ab9073.jpg[/img]

а проигрываемого на данный момент. вот:

[img width=323 height=400]http://s60.radikal.ru/i167/1007/31/51aa898ecf4d.jpg[/img]
angry_dog M
Аватара
Откуда: Россия
Репутация: 4
С нами: 17 лет 6 месяцев

Сообщение #122 Izotop » 27.07.2010, 14:13

angry_dog:А можно ли цвет активной панели сделать двухцветной как неактивной?
Заметьте:::
Вы просили Активную (%el_selected%) сделать такую же как неактивную ($not(%el_selected%))
О заголовке проигрываемой в данный момент группы %el_isplaying% речи не было ;) (хотя как-то телепатически -- я предполагал что и это Вам тоже захочется)

Код: Выделить всё
$drawroundrect(3,3,$sub(%el_width%,6),%el_height%,2,2,$if(%el_selected%,$gradientrect(4,4,$sub(%el_width%,7),%el_height%,46-48-63-255,255-255-255-255,,)),128-128-128,)
$if($and($not(%el_selected%),$not(%el_isplaying%)),$gradientrect(4,4,$sub(%el_width%,7),%el_height%,46-48-63-255,255-255-255-255,,),$gradientrect(4,4,$sub(%el_width%,7),%el_height%,46-48-63-255,255-255-255-255,,))
Вот так применительно к Вашему коду это можно сделать...
Но по сути вторая строка кода совсем потеряла смысл, так как в данной ситуации нам абсолютно нет никакой разницы о текущем состоянии %el_selected% и %el_isplaying%
и потому код можно упростить до:::
Код: Выделить всё
$drawroundrect(3,3,$sub(%el_width%,6),%el_height%,2,2,$if(%el_selected%,$gradientrect(4,4,$sub(%el_width%,7),%el_height%,46-48-63-255,255-255-255-255,,)),128-128-128,)
$gradientrect(4,4,$sub(%el_width%,7),%el_height%,46-48-63-255,255-255-255-255,,)
Надеюсь что Вы angry_dog проанализируете код (наши действия над ним) и поймете как он работает *пыво*
Или я сейчас снова недопонял что Вы хотели реализовать... ?
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 5 месяцев

Сообщение #123 angry_dog » 27.07.2010, 14:19

Или я сейчас снова недопонял что Вы хотели реализовать... ?
Нет, именно всё так. Но вторая строчка смысл не потеряла - туда можно подобрать другие цвета.
Огромное спасибо Вам за помощь и понимание.
angry_dog M
Аватара
Откуда: Россия
Репутация: 4
С нами: 17 лет 6 месяцев

Сообщение #124 Systematis » 28.07.2010, 16:01

Всем привет.
Подскажите, пожалуйста, какой код показывает "прошло времени / продолжительность" в плейлисте. Сейчас у меня отображается только продолжительность треков. А нужно примерно вот так:

Изображение
Systematis
Гость

Сообщение #125 Izotop » 28.07.2010, 20:27

2Systematis
Выводится это стандартными тегами из Справка по функциям и полям, используемым в скриптах Foobar2000
В которой написано:::

%playback_time%
Возвращает время, прошедшее с начала проигрывания в формате [ЧЧ:]ММ:СС.

%playback_time_seconds%
Возвращает время, прошедшее с начала проигрывания (в секундах). Прошлое название: %_time_elapsed_seconds%

%playback_time_remaining%
Возвращает время, оставшееся до конца проигрывания песни, в фомате [ЧЧ:]ММ:СС. Прошлое название: %_time_remaining%

%playback_time_remaining_seconds%
Возвращает время, оставшееся до конца проигрывания, в секундах. Прошлое название: %_time_remaining_seconds%
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 5 месяцев

Сообщение #126 Systematis » 28.07.2010, 20:59

2Izotop
Я в написании скриптов не особо разибраюсь. Не могли бы вы дописать эту строчку?

В ELPlaylist Settings: Script -> Playlist есть такая строчка:
Код: Выделить всё
//Length
$drawtextex([%length%],$sub(%el_width%,105),,95,%el_height%,$get(item_text_color),right vcenter)
В Per Second такая:
Код: Выделить всё
$drawtextex([Now Playing: %title% [by %artist%]],90,0,$sub(%el_width%,130),%el_height%,$get(item_text_color),vcenter end_ellipsis)
Последний раз редактировалось Sp1ke 28.07.2010, 21:02, всего редактировалось 1 раз.
Systematis
Гость

Сообщение #127 Izotop » 28.07.2010, 22:37

2Systematis
Вы для PerSecond весь код указали?
Если Да --- то добавьте в неё примерно следущую строку:::
$drawtextex([%playback_time%'/'%length%],$sub(%el_width%,105),,95,%el_height%,$get(item_text_color),right vcenter)
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 5 месяцев

Сообщение #128 Systematis » 28.07.2010, 22:53

2Izotop
Добавил строчку, но ничего не изменилось.
Вообще, я использую конфигурацию MonoLite Plus Mod, и именно в ней нужно изменить код.

Код во вкладке Playlist полностью: http://paste2.org/p/930943
Код во вкладке Per Second полностью:
Код: Выделить всё
$if(%http_check%,
$puts(item_text_color,0-0-0)

$if($or(%el_isplaying%,%el_selected%),
$puts(item_text_color,255-255-255)
$puts(tracknum_color,255-255-255)
)
$font(%font%,9,)
$drawtextex([Now Playing: %title% [by %artist%]],90,0,$sub(%el_width%,130),%el_height%,$get(item_text_color),vcenter end_ellipsis)
)
Ещё нужно учесть, что слева от продолжительности трека указывается количество прослушиваний.
Изображение
Последний раз редактировалось Sp1ke 28.07.2010, 23:02, всего редактировалось 1 раз.
Systematis
Гость

Сообщение #129 to0freak » 04.10.2012, 22:50

Подскажите, есть ли возможность при отображении только активной группы коммандой меню или контекстной (т.е. необходимо сделать кнопку в panel stack splitter), выделять активную группу. (хочу сделать кнопку, например, чтобы кропнуть теущий альбом, удалить его, или же найти теги в диско_жс) ??

СПасибо!
to0freak
Репутация: 0
С нами: 11 лет 6 месяцев

Сообщение #130 Izotop » 06.10.2012, 00:46

2to0freak
не обязательно дублировать вопрос в разных ветках форума ;)
Если Вы используете ELP - то это одна ситуация, если у Вас в ELP нет группировки по альбомам - то другая.
Если же у Вас плейлист реализован не на ELP - то тема уже как-бы третья.

Может изначально опишите что, и как у Вас на данный момент работает в foobar2000 ?
И ещё раз просьба --- не дублируйте вопросы в разных ветках форума
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 5 месяцев

Сообщение #131 to0freak » 06.10.2012, 09:09

Izotop, понял. Не буду.

Как выглядит мой фубар можно посмотреть во вложении. Плейлист (EL_Playlist) отображает только текущий альбом, выбранный с помощью CoverFlow (WSH).
Мне нужно сделать кнопку, которая будет выделять отображаемый в данный момент альбом.
В настройках ELP можно на нажатие мышкой повесить SelectGroup, но в контекстном меню, чтобы сделать кнопку на Panel Stack Spliter я такую комманду не нашёл. Пока вижу только решение с помощью WSH, но в нём я более чем новичек.
Вложения
foobar.jpg
to0freak
Репутация: 0
С нами: 11 лет 6 месяцев

Сообщение #132 vladj » 06.10.2012, 10:16

to0freak, Вы противник группировки ? Ибо так проще всего выделять альбом и кнопку не нужно делать.
vladj M
Аватара
Откуда: Пермский край
Репутация: 427
С нами: 14 лет 2 месяца

Сообщение #133 to0freak » 06.10.2012, 10:28

vladj, мы лёгких путей не ищем ;) Я хочу, чтобы в плейлисте отображался только один, текущий альбом - не нагружать окно буквами, скролбарами и прочим. Шапка в ЕЛП мне не нравится низкой функциональностью, по-этому слева от плейлиста - заголовок с именем артиста, альбомом, датой - имя и альбом кликабильны, по нажатию открывается окно с биографией, картинками, ссылками и прочим.
Фубар на то и фубар, что его каждый как может гнёт ;)

Мне нужна не просто кнопка, которая будет выделять альбом - это только часть. Кнопки будут его удалять, кропать, искать теги, конвертировать - всё что угодно на одной базе.
to0freak
Репутация: 0
С нами: 11 лет 6 месяцев

Сообщение #134 вовасбрат » 06.10.2012, 14:55

to0freak,
привет. Выложи свою сборочку пожалуйста, если не сложно.
вовасбрат M
Аватара
Откуда: ТАМБОВ
Репутация: 52
С нами: 11 лет 7 месяцев

Сообщение #135 to0freak » 07.10.2012, 00:35

вовасбрат, амиго, дело такое, что никакой сборки пока и нет.. всё на коленке.. так-сяк.. как будет что-то конкретное - поделиться будет не проблема )
to0freak
Репутация: 0
С нами: 11 лет 6 месяцев

Сообщение #136 вовасбрат » 07.10.2012, 10:15

to0freak, да мне даже не сборка важна, а скрипты ELP и PSS
вовасбрат M
Аватара
Откуда: ТАМБОВ
Репутация: 52
С нами: 11 лет 7 месяцев

Сообщение #137 to0freak » 07.10.2012, 13:14

вовасбрат, может какой-то конкретной части нужен скрипт? ELP так это вообще практически дефолтный.
to0freak
Репутация: 0
С нами: 11 лет 6 месяцев

Сообщение #138 equinox » 09.10.2012, 09:41

В продолжение к panel_stack_splitter_mod выкладываю модификацию к ELPlaylist c увеличенным размером окна настроек и измененным шрифтом на вкладке Script

Изображение

Приятного всем скриптинга!
Вложения
foo_uie_elplaylist_mod.7z
(159.72 КБ) Скачиваний: 426
equinox
Репутация: 2
С нами: 11 лет 11 месяцев

Сообщение #139 kadvlad » 19.09.2013, 14:10

Вопрос по использованию переменных $puts и $get

Задумал написать универсальную схему
для корректного отображения в плейлисте разных типов альбомов:

1 сборник разных артистов (VA)
2 один артист играет одного композитора
3 один артист играет разных композиторов
4 разные артисты играют одного композитора
5 один артист играет свой альбом
6 разные артисты играют разных композиторов
7 сборник разных композиторов


Подробнее
Схема должна выводить заголовок альбома и треклист
в виде сочетаний переменных (см. ниже):

1 AX
2 D-
3 CY
4 BX
5 C-
6 AZ
7 AY

Переменные
// переменные для отсутствующих тегов

$puts(noAA,$if($not(%album artist%),TRUE))
$puts(noTA,$if($not(%track artist%),TRUE))
$puts(noTC,$if($not(%track composer%),TRUE))
$puts(noC,$if($not(%composer%),TRUE))

// переменные для определения подходящего типа альбома

$puts(1,$if($and(%album artist%,%track artist%,$get(noC),$get(noTC)),TRUE))
$puts(2,$if($and(%track artist%,%composer%,$get(noAA),$get(noTC)),TRUE))
$puts(3,$if($and(%track artist%,%composer%,%track composer%,$get(noAA)),TRUE))
$puts(4,$if($and(%album artist%,%track artist%,%composer%,$get(noTC)),TRUE))
$puts(5,$if($and(%track artist%,$get(noAA),$get(noC),$get(noTC)),TRUE))
$puts(6,$if($and(%album artist%,%track artist%,%track composer%,%composer%),TRUE))
$puts(7,$if($and(%album artist%,%composer%,%track composer%,$get(noTA)),TRUE))

// переменные для заголовка альбома

$puts(A,%album artist%$char(10)%album%)
$puts(B,%album artist%$char(10)%composer%: %album%)
$puts(C,%artist%$char(10)%album%)
$puts(D,%artist%$char(10)%composer%: %album%)

// переменные для треклиста

$puts(X,%track artist% $char(187) %title%)
$puts(Y,%track composer% $char(187) %title%)
$puts(Z,%track composer% $char(187) %track artist% $char(187) %title%)

$char(10) это абзац-перевод строки
$char(187) это знак »

Скрипты
// скрипт для вывода заголовка альбома

$ifequal($get(1),TRUE,$get(A),
$ifequal($get(2),TRUE,$get(D),
$ifequal($get(3),TRUE,$get(C),
$ifequal($get(4),TRUE,$get(B),
$ifequal($get(5),TRUE,$get(C),
$ifequal($get(6),TRUE,$get(A),
$ifequal($get(7),TRUE,$get(A)
)))))))

// скрипт для вывода треклиста

$ifequal($get(1),TRUE,$get(X),
$ifequal($get(2),TRUE,%title%,
$ifequal($get(3),TRUE,$get(Y),
$ifequal($get(4),TRUE,$get(X),
$ifequal($get(5),TRUE,%title%,
$ifequal($get(6),TRUE,$get(Z),
$ifequal($get(7),TRUE,$get(Y)
)))))))

Если применять соответствующие части скриптов отдельно для каждого типа альбома (1, 2, 3..), то всё работает корректно, а если использовать комплексные скрипты сразу для всех типов альбомов, то выходит ошибка.

Вот что получается (слева — желаемый результат, справа — факт):

Изображение

Прилагаю для удобства:
скрипты в txt-виде,
треклист в mp3-виде (6 Мб).

Буду признателен за содействие.
kadvlad
Аватара
Репутация: 1
С нами: 15 лет 3 месяца

Сообщение #140 Izotop » 24.09.2013, 23:19

2kadvlad,
А Вы не могли бы сделать Export своих ELPlaylist Settings и добавить в следующем посте.
Попробуем разобраться :beer:
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 5 месяцев

Пред.След.

Вернуться в Плагины