Panel Stack Splitter (foo_uie_panel_splitter.dll)

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

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

Сообщение #1 mookhin » 20.11.2008, 17:32

Описание и ссылки:::: Panel Stack Splitter (foo_uie_panel_splitter.dll)

Официальный мануал к плагину::::    Manual for Panel Stack Splitter

Официальный сайт плагина на японском языке

Скачать плагин foo_uie_panel_splitter v0.3.8.3a(2009/12/11)

Если есть желаение сделать что-то своё (например свой собственный интерфейс ;)) на PSS, но нету опыта -->
рекомендую в качестве инструкции эту статью:::    Создание интерфейса на основе Panel Stack Splitter плагина



Ну блин... В конце-то концов найдется кто-нибудь, кто научит этого "узкоглазого" правильно отрабатывать isplaying/ispaused?
Его новые $if(%ps_isplaying%,$if(%ps_ispaused%,...) возвращают полную хрень...  :(
Код:
$if(%ps_isplaying%,$if(%ps_ispaused%,
$imagebutton($add($get(i),86),$sub(%_height%,53),,,$get(btn)/pause.png,$get(btn)/play+.png,COMMAND:Playback/Play or Pause,,),
$imagebutton($add($get(i),86),$sub(%_height%,53),,,$get(btn)/play.png,$get(btn)/pause+.png,COMMAND:Playback/Play or Pause,,)),
$imagebutton($add($get(i),86),$sub(%_height%,53),,,$get(btn)/play-.png,$get(btn)/play+.png,COMMAND:Playback/Play or Pause,,)
не работает... картинки не соответсвуют правде. Этот же код в track_info_mod - "катит" на ура...
Последний раз редактировалось Izotop 23.04.2010, 02:59, всего редактировалось 1 раз.
mookhin
Автор темы
Репутация: 0
С нами: 17 лет 11 месяцев


Сообщение #101 onv » 17.04.2013, 13:32

iprad:Да. присутствует
Тогда линк на сборку, вечером попробую посмотреть. Потому что это из области ненаучной фантастики. В per second принудительно ежесекундно передергивется панель и при этом она не перерисовывается ? В чудеса не верю.
onv M
Откуда: Харьков
Репутация: 52
С нами: 12 лет 6 месяцев

Сообщение #102 iprad » 17.04.2013, 13:35

На примере графических кнопок:
$imagebutton(513,168,65,38,,$get_ps_global(ThemePath)\Button\Pause.png,COMMAND:Playback/Play or pause)
Запускаю Foobar. Навожу курсор на кнопку для воспроизведения. По идее должно смениться изображение(при наведении), но оно не меняется. Нажимаю кнопку. Воспроизведение пошло, и только после этого при наведении указателя на кнопки меняется их изображение. Такое ощущение, что при открытии Fооbara не срабатывает скрипт панели, пока не щелкнешь на ней
iprad M
Аватара
Репутация: 89
С нами: 11 лет 8 месяцев

Сообщение #103 macarych » 17.04.2013, 14:07

Записываешь такие переменные:

$set_ps_global(path_n,$if(%isplaying%,$if(%ispaused%,%img_path%\pause_n.png,%img_path%\play_n.png),%img_path%\pause_n.png))
$set_ps_global(path_h,$if(%isplaying%,$if(%ispaused%,%img_path%\pause_h.png,%img_path%\play_h.png),%img_path%\pause_h.png))

И такую команду:

$imagebutton(x,y,w,h,%path_n%,%path_h%,COMMAND:Playback/Play or pause)

пример
phpBB [media]
macarych M
Аватара
Репутация: 417
С нами: 15 лет 10 месяцев

Сообщение #104 CGGB » 18.04.2013, 13:03

Как переключиться на нужный плейлист? В шорткатах вроде есть view/switch to playlist/123 а как сделать это через кнопку? COMMAND:'view/switch to playlist/123' не работает. Может есть какой-то, пусть и костыльный способ?
CGGB
Аватара
Репутация: 2
С нами: 12 лет 2 месяца

Сообщение #105 hardcore » 03.01.2014, 00:10

Люди помогите всю голову поломал как сделать,чтобы при воспороизведении кнопка Play становилась не активной, а Pause активной при паузе все наоборот пробовал таким способом :
$if($or($not(%isplaying%),%ispause%),
$button(%_id%,/,198,114,13,18,'$playback_control(play_or_pause)
',type:image,over:/images\Buttons_Player\B_ Play.png,type:image2),
$button(%_id%,/,169,117,13,13,'$playback_control(play_or_pause)'
,type:image,over:/images\Buttons_Player\B_Pause.png,type:image2)
)
$hash(B5,%_result%)
в любом положении активна только одна кнопка, вторая не работает. Подскажите, что не так.
hardcore
Репутация: 0
С нами: 10 лет 10 месяцев

Сообщение #106 LUR » 03.01.2014, 12:44

hardcore, первое, что бросается в глаза, что не %ispause%, а %ispaused%
LUR M
Модератор
Аватара
Откуда: Минск
Репутация: 390
С нами: 11 лет 11 месяцев

Сообщение #107 hardcore » 04.01.2014, 00:35

Спасибо, что уделили внимание но я пробывал %ispaused% никакого изменения
hardcore
Репутация: 0
С нами: 10 лет 10 месяцев

Сообщение #108 kgena_ua » 04.01.2014, 09:04

hardcore:всю голову поломал как сделать
Не знаком синтаксис операторов и команд из скрипта.
Нашел это: http://foobar2000.ru/forum/viewtopic.php?t=1798,
но там совсем мало информации.

А в случае $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) например для кнопки Play:
для mover_path если Play, то "путь к нажатой кнопке", если Нет - к "отжатой";
для command если Play, то ничего не делаем, в противном случае команда Play.
Примерно так.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #109 hardcore » 05.01.2014, 16:45

Нашел решение своей проблемки, может кому-то будет интересно вылаживаю:
$button(%_id%,/,198,114,13,18,
'$if($or($not(%playback_isplaying%),%playback_ispaused%),$playback_control(play_or_pause),)'
,type:image,over:/images\Buttons_Player\B_ Play.png,type:image2)
$hash(B4,%_result%)

$button(%_id%,/,169,117,13,13,
'$if($or($not(%playback_isplaying%),%playback_ispaused%),,$playback_control(play_or_pause))'
,type:image,over:/images\Buttons_Player\B_Pause.png,type:image2)
$hash(B5,%_result%)
hardcore
Репутация: 0
С нами: 10 лет 10 месяцев

Сообщение #110 iprad » 23.07.2014, 13:14

Как можно подключиться к Panel Stack Splitter через ActiveXObject ?
iprad M
Аватара
Репутация: 89
С нами: 11 лет 8 месяцев

Сообщение #111 AHAPXICT » 29.09.2014, 07:50

И так, вопросы по WSH закончились, начались по PSS. У меня есть три вопроса, на которые не могу найти решение. Попытаюсь изложить подробно, к этому подготовил сопутствующий материал.
Вопрос первый и первостепенный одновременно. Как нажатием на кнопку, одновременно менять значения $puts(panel.h,$sub(%ps_height%,31)) где h является переменной для $movepanel(0,0,0,%ps_width%,$get(panel.h)) панелей, а $puts(panel.p,$sub(%ps_height%,29)) где p является переменной для $get(panel.p) кнопок на значения h = 8 , p = 0 и при повторном нажатии возвращать значения на h = 31 , p = 29 соответственно. Как это сделать даже не представляю, а пока на кнопку в виде пробела назначена функция полно экранного режима
Код: Выделить всё
$drawtextex(=,$sub($div(%ps_width%,2),203),$sub(%ps_height%,9),406,8,63-100-127,hcenter vcenter)
$imagebutton($sub($div(%ps_width%,2),203),$sub(%ps_height%,8),406,8,%co.buttons%Square3.png,%co.buttons%SquareMH3.png,COMMAND:View/Fullscreen;REFRESH)
(уже не нужного так как добавил соответствующую кнопку непосредственно на сам плеер), изначально она и задумывалась для hide buttons. Выглядеть это должно примерно так, или точнее выглядит при изменении значений из PSS:
Изображение
Вопрос второй, ставший актуальным в последнее время и опять же касается функционала кнопки. Как увеличить количество цикличного переключения панелей с двух до четырёх? Хотя и три тоже не работают))) Привожу уже изменённый скрипт для использования четырёх панелей:
Код: Выделить всё
// ----- VARIABLES -----
$puts(panel.w,$div($sub(%ps_width%,20),3))
$puts(qs.l,$max(0,$sub($div($get(panel.w),2),227)))
$puts(qs.w,$min($sub($div($get(panel.w),2),27),199))
$puts(btn.l,$min($sub($get(panel.w),58),$add($div($get(panel.w),2),168)))

// ----- PANEL-MANAGEMENT -----
$showpanel_c(Peakmeter,$ifequal(%do.display.switch%,1,1,0))
$showpanel_c(Peakmeter2,$ifequal(%do.display.switch%,2,1,0))
$showpanel_c(Clock,$ifequal(%do.display.switch%,3,1,0))
$showpanel_c(Spectrum,$ifequal(%do.display.switch%,4,1,0))

$movepanel_c(QuickSearch,$add($get(qs.l),5),90,$sub($get(qs.w),10),22)

$ifequal(%do.display.switch%,1,
   $movepanel_c(Peakmeter,$add($get(panel.w),30),75,$sub($get(panel.w),37),40)
   $movepanel_c(Peakmeter2,0,0,0,0)
                $movepanel_c(Clock,0,0,0,0)             
                $movepanel_c(Spectrum,0,0,0,0)
,

$ifequal(%do.display.switch%,2,
   $movepanel_c(Peakmeter,0,0,0,0)
   $movepanel_c(Peakmeter2,$add($get(panel.w),30),75,$sub($get(panel.w),40),40)
                $movepanel_c(Clock,0,0,0,0)
                $movepanel_c(Spectrum,0,0,0,0)
,

$ifequal(%do.display.switch%,3,             
                $movepanel_c(Peakmeter,0,0,0,0)             
                $movepanel_c(Peakmeter2,0,0,0,0)
   $movepanel_c(Clock,$add($get(panel.w),30),75,$sub($get(panel.w),40),40)
                $movepanel_c(Spectrum,0,0,0,0)
,

$ifequal(%do.display.switch%,4,
   $movepanel_c(Peakmeter,0,0,0,0)
   $movepanel_c(Peakmeter2,0,0,0,0)
                $movepanel_c(Clock,0,0,0,0)   
                $movepanel_c(Spectrum,$add($get(panel.w),30),75,$sub($get(panel.w),40),40)
,
))))

// ----- BACKGROUND -----
$drawrect(0,0,%ps_width%,%ps_height%,%do.colour%,%do.colour%)

// ----- BUTTONBAR-BACKGROUND -----
$gradientrect(0,-10,%ps_width%,75,63-100-127-128,0-0-0-0)

$drawroundrect($add($get(panel.w),10),3,$sub($get(panel.w),1),127,6,6,0-0-0-0,255-255-255-32)
$drawroundrect($add($get(panel.w),10),0,$sub($get(panel.w),1),129,6,6,0-0-0-0,0-0-0)
$drawroundrect($add($get(panel.w),11),1,$sub($get(panel.w),3),127,6,6,0-0-0-0,0-0-0)

// ----- QUICKSEARCH-TOOLBAR-BACKGROUND -----
$drawroundrect($get(qs.l),90,$get(qs.w),25,2,2,0-0-0-0,255-255-255-32,)
$drawroundrect($get(qs.l),89,$get(qs.w),25,2,2,0-0-0-255,0-0-0-0,)

// ----- BUTTONS -----
// FAKE-BUTTON
$textbutton(0,2,1,1,,,CONTEXT:Main Menu/File/,,)

$font(Arial Black,5,)
$drawtextex(PEAK / PEAK2,$get(btn.l),88,58,8,214-214-214,vcenter hcenter)
$drawtextex(CLOCK / SPEC.,$get(btn.l),122,58,8,214-214-214,vcenter hcenter)
$imagebutton($get(btn.l),102,58,14,%do.images%\SmallNormal.png,%do.images%\SmallHover.png,SETGLOBAL:do.display.switch:$ifequal(%do.display.switch%,2,3,2);REFRESH)
И часть оригинального скрипта, что относится непосредственно к переключению панелий:
Код: Выделить всё
/ ----- PANEL-MANAGEMENT -----
$showpanel_c(Peakmeter,$ifequal(%do.display.switch%,1,$if($not(%ps_isplaying%),0,1),0))
$showpanel_c(Spectrum Analyzer,$ifequal(%do.display.switch%,2,1,0))

$movepanel_c(QuickSearch,$add($get(qs.l),5),90,$sub($get(qs.w),10),22)

$ifequal(%do.display.switch%,1,
   $movepanel_c(Peakmeter,$add($get(panel.w),30),75,$sub($get(panel.w),37),40)
   $movepanel_c(Spectrum Analyzer,0,0,0,0)
,
   $movepanel_c(Peakmeter,0,0,0,0)
   $movepanel_c(Spectrum Analyzer,$add($get(panel.w),30),75,$sub($get(panel.w),40),40)
)

============================================================================================================================

// ----- BUTTONS -----
// FAKE-BUTTON
$textbutton(0,2,1,1,,,CONTEXT:Main Menu/File/,,)

$font(Arial Black,5,)
$drawtextex(PEAK / SPEC.,$get(btn.l),88,58,8,192-192-192,vcenter hcenter)
$imagebutton($get(btn.l),102,58,14,%do.images%\SmallNormal.png,%do.images%\SmallHover.png,SETGLOBAL:do.display.switch:$ifequal(%do.display.switch%,1,2,1);REFRESH)
В строке, сокращённо, SETGLOBAL:do.display.switch:$ifequal(%do.display.switch%,1,2,1) значения 1,2,1 и являются тем самым камнем преткновения.
Их можно менять как угодно, в любой последовательности(пример 1,4,1 ; 2,3,2 ; 3,1,3 ; или 1,2,3 переключает только в один конец), но не больше трёх цифр. Какие кавычки и запятые не ставил, гулять по ночному городу ходил, по клавиатуре стучал - в общем нечего не помогает. Картинка концепция:
Изображение
Третий вопрос не является первостепенным, но всё же хотелось сделать как положено. tedGo в своей теме DarkOne v4 прописал строку для отключения foo_wave_seekbar при прослушивании "стрим" потока, но дыра которая оставалась посреди панели меня совсем не радовала, к тому же отсутствовал seekbar для потоков которые не являются $not(%length%). Вот я и добавил его же скрипт seekbar для WSH и панель Channel spectrum panel для радио. Так как панели находятся одна под другой, хотелось бы узнать какую строку нужно вставить в PSS непосредственно для запуска и отключения панели при определённых условиях?
Код: Выделить всё
// ----- BACKGROUND -----
$drawrect(0,0,%ps_width%,%ps_height%,%do.colour%,%do.colour%)

// ----- PANEL-MANAGEMENT -----
$showpanel_c(Seekbar,$if($or($not(%ps_isplaying%),$stricmp($left(%path%,7),'http://')),0,1))
$showpanel_c(WSH Seekbar,$if($or($not(%length%),$stricmp($left(%path%,7),)),0,1))

//------ $not(%length%) -----Старт панель Channel spectrum panel  и отключение при
воспроизведении не стрим потока?????
Но так как панели отображаются корректно, то и вопрос является второстепенным.
Изображение
Буду рад любой помощи и любым советам!!!
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 11 лет

Сообщение #112 kgena_ua » 29.09.2014, 11:43

AHAPXICT,
- по первому вопросу:

$init_ps_global(h,31)
$init_ps_global(p,29)


$imagebutton(.......,
SETGLOBAL:h:$ifequal(%h%,31,8,31);SETGLOBAL:p:$ifequal(%p%,29,0,29);REFRESH)
или
$ifequal(%h%,31,
SETGLOBAL:h:8;SETGLOBAL:p:0;
,
SETGLOBAL:h:31;SETGLOBAL:p:29;
)


$puts(panel.h,$sub(%ps_height%,%h%))
$puts(panel.p,$sub(%ps_height%,%p%))

- по второму вопросу. Цикл от 1 до 5:

$init_ps_global(do.display.switch,1)
$imagebutton(........,
$ifequal(%do.display.switch%,5,SETGLOBAL:do.display.switch :1,SETGLOBAL:do.display.switch:$add(%do.display.switch%,1));
REFRESH)
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #113 AHAPXICT » 29.09.2014, 21:45

kgena_ua, Вы просто волшебник! Я последний раз так радовался, когда мне в детстве подарили железную дорогу, немецкую блин! И что человеку нужно для полного счастья? Всё поставил за пять сек, всё работает! Сейчас подключу вторую мышку к компьютеру, и буду сразу двумя мышками по кнопкам клацать, панели переключать :biggrin:. Приступаю к сборке финальной версии своей конверсии, или не финальной.?. Ещё раз огромное спасибо! :beer:
Мои вопросы по PSS закрыты так как являются решёнными.
P.S. $ifequal(%do.display.switch%,5... Это намёк? Есть предложения? Всегда готов!)))))
P.P.S. Пока тема активна. Есть ли смысл выкладывать на форуме очередную конверсию, это будет кому то интересно?
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 11 лет

Сообщение #114 kgena_ua » 29.09.2014, 22:22

AHAPXICT:Вы просто волшебник
Да не это не так. Просто качаю все сборки и пытаюсь их изучать. Хотя спасибо :beer:. А после 0,5 работоспособность еще возрастает. :smile:
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #115 AHAPXICT » 29.09.2014, 22:41

kgena_ua, у меня тоже полно сборок с "девиан арт" , некоторые так и не установил, всё как то руки не доходят, недавно поставил TECH v1.5.2 by Br3tt по клацал пол часа и сейчас уже и не помню на каком диске стоит :smile: Ещё раз спасибо!
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 11 лет

Сообщение #116 Xant1k » 23.11.2014, 07:55

Азы так сказать настройки PSS, может кому пригодиться http://presvetl.blogspot.ru/search/label/foobar2000
Xant1k M
Репутация: 5
С нами: 14 лет 8 месяцев

Сообщение #117 AHAPXICT » 21.06.2015, 03:29

Всем доброго времени суток! У меня опять микросхемы в голове запаялись(omfg). В общем решил переделать меню и чуть приукрасить интерфейс CompactOne из своей модификации. И в этом творческом процессе, переделки, слияния и компиляции скриптов, в самый неподходящий момент, мой съёмный жёсткий диск на котором я обычно и храню все мои наработки скриптов в том числе около 70% всей моей музыки и собственно всё что связано с фубаром, приказал долго жить. Пришлось начинать всё с нуля по свежей памяти, ну и со свежими идеями, что в принципе благотворно повлияло на процесс работы. И вот результат последней "сто какой то" версии. Но как всегда есть одно но! Звёзды рейтинга и индикатор воспроизведения налазят на кнопки, хотя если закрыть WSH меню и включить тулбар то по какому то волшебству всё начинает работать как и должно(смотреть скриншот во вложении).
И самое интересное что все мои переменные работают как часы! Если у вас есть любые мысли по этому поводу то пишите, буду рад любому совету!
Так как выкладывать строки со скриптами смысла нет сделал файл конфигурации CompactOne TEST.fcl для своей модификации иначе не разобраться.
compactone.png
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 11 лет

Сообщение #118 AHAPXICT » 23.06.2015, 11:44

Вариант два: 1. Меню на основном сплиттере. 2. Всё остальное на втором. Ну как всегда... Теперь в Global variables значения записываются, а панели не обновляются, но в этом варианте "лишние" кнопки прячутся под панель как положено)) CompactOne TEST2.fcl
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 11 лет

Сообщение #119 maklaud » 13.07.2015, 14:40

Есть панель с картинками-кнопками.
Размер кнопок изменяется в соответствии с вертикалью панели.
Код: Выделить всё
$set_ps_global(playing,0)
$if(%isplaying%,$set_ps_global(playing,1))
$if(%ispaused%,$set_ps_global(playing,2))

$puts(x2,$sub($div(%_width%,7),))
$puts(x3,$sub($mul($div(%_width%,7),2),))
$puts(x4,$sub($mul($div(%_width%,7),3),))
$puts(x5,$sub($mul($div(%_width%,7),4),))
$puts(x6,$sub($mul($div(%_width%,7),5),))
$puts(x7,$sub($mul($div(%_width%,7),6),))

$puts(y1,0)

$puts(h1,%_height%)

//---- Кнопки воспроизведения----//
$imagebutton(,,,,,,REFRESH,,)
$imagebutton(,$get(y1),$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)
$imagebutton($get(x2),$get(y1),$get(h1),$get(h1),%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)
$ifequal(%playing%,1,
$imagebutton($get(x3),$get(y1),$get(h1),$get(h1),%img.path%pause.png,%img.path%pause_hot.png,COMMAND:'Playback/Pause';REFRESH,,),
$imagebutton($get(x3),$get(y1),$get(h1),$get(h1),%img.path%play.png,%img.path%play_hot.png,COMMAND:'Playback/Play';REFRESH,,)
)
$imagebutton($get(x4),$get(y1),$get(h1),$get(h1),%img.path%next.png,%img.path%next_hot.png,COMMAND:'Playback/Next',,)
$imagebutton($get(x5),$get(y1),$get(h1),$get(h1),%img.path%open.png,%img.path%open_hot.png,COMMAND:'File/Open...',,)
$imagebutton($get(x6),$get(y1),$get(h1),$get(h1),%img.path%random.png,%img.path%random_hot.png,COMMAND:'Playback/Random',,)
1.png
1.png (20.59 КБ) Просмотров: 3141


Но после увеличения панели, кнопки становятся размытыми.
2.png


Если перезапустить Фубар, - кнопки становятся чёткими
вапсенп.png
вапсенп.png (751 байт) Просмотров: 3141

3.png

Теперь, если уменьшать, увеличивать панель, - кнопки остаютя чёткими.


Видимо при запуске, PSS меняет разрешение кнопок в соответствии со значением "h1" и запоминает это разрешение.
Затем это разрешение растягивается к новому значению "h1" - вот и размытие.
Как это исправить? Помогите пожалуйста.
maklaud
Аватара
Репутация: 30
С нами: 9 лет 4 месяца

Сообщение #120 iprad » 13.07.2015, 16:28

С графикой лучше работать с в WSH панели. Больше возможностей.
Вопрос не в тему: Pioneer RT-707 - Ваше творение?
iprad M
Аватара
Репутация: 89
С нами: 11 лет 8 месяцев

Пред.След.

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