И так, вопросы по 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 и отключение при
воспроизведении не стрим потока?????
Но так как панели отображаются корректно, то и вопрос является второстепенным.
Буду рад любой помощи и любым советам!!!