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
С нами: 10 лет 10 месяцев


Сообщение #121 maklaud » 13.07.2015, 16:56

iprad, спасибо, ну если для PSS варианта не найдётся, буду пытаться освоить WSH.
Pioneer RT-707 - Ваше творение?
Нет. Это сложно для меня :insane: :smoke:
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #122 kgena_ua » 13.07.2015, 18:40

maklaud,
h1 должно равняться высоте кнопки, если у кнопки высота и ширина одинаковы.
А можно и пропустить:
$imagebutton($get(x2),$get(y1),,,%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)

И строке нет значения x:
$imagebutton(,$get(y1),$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)

Нормально работает.
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #123 maklaud » 13.07.2015, 19:33

h1 должно равняться высоте кнопки, если у кнопки высота и ширина одинаковы.
А можно и пропустить:
$imagebutton($get(x2),$get(y1),,,%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)
но тогда с изменением размера панели, размер кнопки не меняется. А идея такова: когда изменяю размер окна Фубара, размер кнопок меняется пропорционально.

И строке нет значения x:
$imagebutton(,$get(y1),$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)
А должно быть? т.е. я имею в виду, следует ли указывать "0" ?
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #124 kgena_ua » 13.07.2015, 22:08

maklaud, я подумал, что %_height% величина постоянная - глобальная переменная. Если глобальная, которая зависит от ширины панели, то как Вы ее изменяете - $set_ps_global - $delete_ps_global. Лучше через $puts(_width, ....там $sub(%ps_width%,50)) - $get(_width
)...
kgena_ua писал(а):размер кнопок меняется пропорционально
Тут на любителя. И если кнопка нарисована маленькой, то будут искажения. Кнопка в таком случае должна быть нарисована размером как при максимальном увеличении.Про увеличение. Я могу представить если высота и ширина панели увеличивается на одну и ту-же величину, то кнопка увеличивается пропорционально.
А если только ширина увеличивается:
play_on.png
play_on.png (301 байт) Просмотров: 1888
Безымянный.png
Безымянный.png (893 байт) Просмотров: 1888

Я у себя изменяю только расстояние между кнопками при увеличении ширины.
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #125 maklaud » 13.07.2015, 23:59

kgena_ua, %_height% тоже, что и %ps_height%, высота родительской панели.
Сейчас заметил в мануале к PSS, в скриптах используется %ps_height%, а %_height% только в настройках PnelList. Исправлю это в своих скриптах.

размер кнопок меняется пропорционально
тут я ошибся. Размер кнопок пропорционален только высоте панели.

Кнопка в таком случае должна быть нарисована размером как при максимальном увеличении
Так оно и есть, но проблема с размытием остаётся:
Запускаю Фубар в минимальном окне (картинки обрезаны)
1.png
1.png (20.59 КБ) Просмотров: 1873


делаю на весь экран - кнопки размыты
2.png


перезапускаю Фубар - кнопки чёткие
3.png
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #126 kgena_ua » 14.07.2015, 12:02

maklaud писал(а):делаю на весь экран - кнопки размыты
перезапускаю Фубар - кнопки чёткие
maklaud, я у себя делаю таким-же образом (вывод сделал отдельно для наглядности).
Верхний ряд кнопок в минимальном окне по ширине, нижний - ширина на всю ширину экрана. Никаких искажений.
Безымянный 3.png

Размер кнопок пропорционален только высоте панели
Я вот сделал высоту кнопки в привязке к высоте панели:
Безымянный 4.png
Безымянный 4.png (7.52 КБ) Просмотров: 1848

... ну, на любителя.
У меня в сборке все панели не "статичны". Только я при увеличении высоты изменяю только Y кнопок (в процентном отношении).

И еще небольшой совет по расчету X кнопок.
У вас кнопки не расположены симметрично относительно ширины панели (я не знаю используете-ли Вы центрирование).
Безымянный.png
Безымянный.png (2.32 КБ) Просмотров: 1848


Можно сделать так:
b = 4 (к-во кнопок)
b_s = 26 (пирина кнопки в пик.)
xb = ww / (b + 1) (X центра по ширине первой кнопки)
xx = 0 - b_s / 2 (X кнопки - смещение относительно центра кнопки)
x0 = xb + xx x1 = xb + x0 x2 = xb + x1 x3 = xb + x2

При привязке к левому краю можно привязать xx первой и кнопки сделать величиной постоянной.
Или закрепить xx первой кнопки и поледнй, например xx1 = 0 + 50, xxl = ps_width - 50, а внутри разместить симметрично центральные кнопки.
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #127 maklaud » 14.07.2015, 13:51

kgena_ua писал(а):Я вот сделал высоту кнопки в привязке к высоте панели:
Безымянный 4.png
Безымянный 4.png (7.52 КБ) Просмотров: 1839
Здесь видно - кнопка чёткая и растянута. Как Вы этого добились? Пожалуйста покажите фрагмент скрипта этих кнопок.
Скачал Вашу сборку "maybe", но растянуть кнопки мне не удалось.

kgena_ua писал(а):И еще небольшой совет по расчету X кнопок.
У вас кнопки не расположены симметрично относительно ширины панели (я не знаю используете-ли Вы центрирование).



Можно сделать так:
b = 4 (к-во кнопок)
b_s = 26 (пирина кнопки в пик.)
xb = ww / (b + 1) (X центра по ширине первой кнопки)
xx = 0 - b_s / 2 (X кнопки - смещение относительно центра кнопки)
x0 = xb + xx x1 = xb + x0 x2 = xb + x1 x3 = xb + x2

При привязке к левому краю можно привязать xx первой и кнопки сделать величиной постоянной.
Или закрепить xx первой кнопки и поледнй, например xx1 = 0 + 50, xxl = ps_width - 50, а внутри разместить симметрично центральные кнопки.
Попробовал реализовать это в своём скрипте - получилось, выглядит лучше, чем было. Спасибо kgena_ua!

И ещё вопрос: имеются ли переменные этих цветов для PSS?
Снимок.PNG
Снимок.PNG (9.73 КБ) Просмотров: 1839
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #128 kgena_ua » 14.07.2015, 14:32

maklaud писал(а):фрагмент скрипта этих кнопок
maklaud, это Ваш скрипт:
$puts(h1,$mul($div(%ps_height%,100),2))
.
$imagebutton($get(x3),$get(y1),28,$add(26,$get(h1)),%........

maklaud писал(а):имеются ли переменные этих цветов для PSS?
Я честно говоря не задавался этим вопросом, не помню. Можно через $set_ps_global
$set_ps_global(item_color,200-200-300)
и
$set_ps_global(bg_color,20-20-30) и т.д.
А выводить, например текст
$drawstring(12345,50,20,,,%item_color%,)

растянуть кнопки мне не удалось
Я писал : изменяю только Y кнопок в зависимости от высоты, высота больше - Y больше и наоборот, на скрине это для пробы. Мне не понравилось, и нигде, кстати, я такого не встречал. :smile:
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #129 maklaud » 14.07.2015, 14:52

kgena_ua писал(а):maklaud, это Ваш скрипт:
$puts(h1,$mul($div(%ps_height%,100),2))
.
$imagebutton($get(x3),$get(y1),28,$add(26,$get(h1)),%........
Ну да, но у меня значение %ps_height% меняется с высотой окна Фубара, при увеличении получается размытие.

Добавлено спустя 20 минут 40 секунд:
Нашел решение проблемы!
Строки, исправляющие размытие в первых двух кнопках
$imagebutton(-44,,,,%img.path%stop.png,%img.path%stop_hot.png,,,)
$imagebutton(-44,,,,%img.path%previous.png,%img.path%previous_hot.png,,,)

23443235.PNG
23443235.PNG (4.66 КБ) Просмотров: 1823

Код: Выделить всё
$set_ps_global(playing,0)
$if(%isplaying%,$set_ps_global(playing,1))
$if(%ispaused%,$set_ps_global(playing,2))

$puts(h1,%ps_height%)
$puts(z1,$add($div(%ps_height%,2),20))

$puts(x1,$sub($mul($div(%ps_width%,7),1),$get(z1)))
$puts(x2,$sub($mul($div(%ps_width%,7),2),$get(z1)))
$puts(x3,$sub($mul($div(%ps_width%,7),3),$get(z1)))
$puts(x4,$sub($mul($div(%ps_width%,7),4),$get(z1)))
$puts(x5,$sub($mul($div(%ps_width%,7),5),$get(z1)))
$puts(x6,$sub($mul($div(%ps_width%,7),6),$get(z1)))

//---- Кнопки воспроизведения----//
               $imagebutton(-44,,,,%img.path%stop.png,%img.path%stop_hot.png,,,)
               $imagebutton(-44,,,,%img.path%previous.png,%img.path%previous_hot.png,,,)

$imagebutton($get(x1),,$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)
$imagebutton($get(x2),,$get(h1),$get(h1),%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)
$ifequal(%playing%,1,
$imagebutton($get(x3),,$get(h1),$get(h1),%img.path%pause.png,%img.path%pause_hot.png,COMMAND:'Playback/Pause';REFRESH,,),
$imagebutton($get(x3),,$get(h1),$get(h1),%img.path%play.png,%img.path%play_hot.png,COMMAND:'Playback/Play';REFRESH,,)
)
$imagebutton($get(x4),,$get(h1),$get(h1),%img.path%next.png,%img.path%next_hot.png,COMMAND:'Playback/Next',,)
$imagebutton($get(x5),,$get(h1),$get(h1),%img.path%open.png,%img.path%open_hot.png,COMMAND:'File/Open...',,)
$imagebutton($get(x6),,$get(h1),$get(h1),%img.path%random.png,%img.path%random_hot.png,COMMAND:'Playback/Random',,)
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #130 kgena_ua » 14.07.2015, 16:25

maklaud, нормальненько :beer:
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #131 AHAPXICT » 14.07.2015, 17:55

Может кто подскажет по моему вопросу, хотя бы в общих чертах. Я так понял что управлять одной панелью PSS с другой никак не получится. Придётся отказаться от этой идеи. Есть ещё один вопрос: Как создать зависимость включения одного переключателя от другого? Может подобное уже встречалось?
Пример.
Код: Выделить всё
$init_ps_global(co.switch,0) //Нужна зависимость от главного свича, так что бы %co.compact.switch% срабатывал только при %co.switch%,0,

$ifequal(%co.compact.switch%,0,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)   
,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)   
)
AHAPXICT M
Мастер
Аватара
Возраст: 46
Откуда: Киев
Репутация: 112
С нами: 3 года 11 месяцев

Сообщение #132 maklaud » 15.07.2015, 22:31

AHAPXICT, попробую ответить, но не силён в этом и могу ошибаться.
Код: Выделить всё
$init_ps_global(co.switch,0) //Нужна зависимость от главного свича, так что бы %co.compact.switch% срабатывал только при %co.switch%,0,

   $ifequal(%co.switch%,0,   
$ifequal(%co.compact.switch%,0,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)   
,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)   
)
   ,
   //возможно здесь стоит вписать:
   //$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)
   //или эту строку:
   //$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)
   )
И сработает это сразу если %co.switch% и %co.compact.switch% находятся на одной панели, если нет - после смены трека, попробуйте.

AHAPXICT писал(а):Я так понял что управлять одной панелью PSS с другой никак не получится.
Входит ли панель которой хотите управлять в состав панели с которой хотите управлять? Если да - должно получиться.
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #133 AHAPXICT » 15.07.2015, 23:17

maklaud, спасибо! Таки да, работает! :beer: А я со своими никчёмными познаниями в дебри полез, не хватило воображения правильно скобки с запятыми расставить))))
По поводу второго вопроса. Уже почти похоронил эту затею. Знаю что с одной панели всё работает. Но у меня не получается состыковать весь этот "гамуз" либо на одной PSS, либо на разных - всегда вылазят косяки. Моей целью было избавится от "тулбара" в CompactOne, но сохранить аутентичность данного скина. Значит не судьба))) Вот этот последний вариант CompactOne TEST3.fcl для модификации DarkOne v4.0
AHAPXICT M
Мастер
Аватара
Возраст: 46
Откуда: Киев
Репутация: 112
С нами: 3 года 11 месяцев

Сообщение #134 maklaud » 16.07.2015, 00:10

AHAPXICT, рад, что помог :smile: .
По поводу CompactOne TEST3.fcl - всё супер, но хотелось бы видеть Album List, и фон PLAY-INDICATOR надо поправить.
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Сообщение #135 AHAPXICT » 16.07.2015, 01:14

maklaud, ещё раз спасибо за помощь. Но как я говорил всё как раз не супер))) Так как WSH панель меню можно открывать только если включено воспроизведение( $movepanel .. перенесена в per second) Вот в этом то и загвоздка! По поводу Album List. В этой теме оригинального автора tedGo изначально так и было, но она была сделана под старую(несовместимую) версию фубара. В процессе переделки решил отказаться от Album List и заменить на Playlist Switcher. Мне показалось что Album List лучше выводить отдельным окном через меню, чем иметь маленькое и неудобное встроенное окно(для VU я место нашёл), хотя может я и не прав))) С плей-индикатором примерно такая же история. Поигравшись с разными вариантами картинок и эффектом "glow" со временем вернул как в оригинале, сам не знаю почему эффект прямого угла по краям светящегося индикатора мне понравился))) Сейчас, наверно, соберу обновлённую версию без WSH меню но с обновлённым скриптом Scroll Text от kgena_ua, а дальше видно будет.
P.S. Добавил в сборку тестовый файл конфигурации, может со временем разрешится :smoke:
AHAPXICT M
Мастер
Аватара
Возраст: 46
Откуда: Киев
Репутация: 112
С нами: 3 года 11 месяцев

Сообщение #136 Aum » 01.02.2016, 15:15

AHAPXICT писал(а):Я так понял что управлять одной панелью PSS с другой никак не получится
Еще как получиться!
Когда-то для управления из вышележащего PSS панелями в нижележащем использовал способ передергивания размеров панели и это работало как рефреш (т.е. "PSS>>PSS:панели", кнопка находится в первом псс, управляемая панель внутри 2ого, в качестве рефреша передергиваем размер основной панели в первом псс, т.е. "PSS:панели") :
$imagebutton(112,2,20,20,%images%\buttons\button grey\alb.png,%ps_foobar2000_path%\images\buttons\button grey\alb cursor.png,SETGLOBAL:Pl.switch:1;$movepanel_c(Main,2,25,$sub(%ps_width%,4),$sub(%ps_height%,28));$movepanel_c(Main,2,25,$sub(%ps_width%,4),$sub(%ps_height%,27));REFRESH,)

maklaud писал(а):И ещё вопрос: имеются ли переменные этих цветов для PSS?
Тоже встал вопрос, как получить стандартный цвет фона: нужно в псс использовать цвет из настроек фубара - как его записать в переменную?!!
Думаю про связку WSH + PSS:
Допустим в WSH создать файл с именем текущего цвета, т.е. RGB (...), а в PSS прочитать имя этого файла и присвоить переменной это значение, но как? Может у кого будут мысли? :smile:
Мудр не тот, кто доказал что-либо, а тот, кто зная истину, не стал спорить.
Aum M
Бывалый
Аватара
Возраст: 33
Откуда: UA
Репутация: 14
С нами: 7 лет 7 месяцев

Сообщение #137 kgena_ua » 01.02.2016, 15:39

Aum писал(а):Допустим в WSH создать файл с именем текущего цвета, т.е. RGB (...), а в PSS прочитать имя этого файла и присвоить переменной это значение, но как
Aum, вот такой пример подойдет:
в WSH
Код: Выделить всё
function getRed(color) {return ((color >> 16) & 0xff);};
function getGreen(color) {return ((color >> 8) & 0xff);};
function getBlue(color) {return (color & 0xff);};

var fso = new ActiveXObject("Scripting.FileSystemObject");
var set_path = fb.ProfilePath + "\\maybe\\settings\\";

var color = RGB(50,60,70);

function on_mouse_mbtn_up(x,y) {
    try {   
        fso.deleteFile( set_path + "RGB" + "*" );   
    } catch(e) {};    
    fso.CreateTextFile( set_path + "RGB" + getRed(color) + "-" + getGreen(color) + "-" + getBlue(color));   
    RefreshPSS();   
}
function RefreshPSS() {
    if (fb.IsPlaying || fb.IsPaused) {   
        fb.RunMainMenuCommand("Playback/Play or Pause");
        fb.RunMainMenuCommand("Playback/Play or Pause");
    } else {
        fb.RunMainMenuCommand("Playback/Play");
        fb.RunMainMenuCommand("Playback/Stop");
    }
}

для PSS
Код: Выделить всё
$set_ps_global(settings.path,%ps_foobar2000_path%\maybe\settings\)

$puts(file_name,$findfile(%settings.path%RGB*))
$puts(point,$strrchr($get(file_name),'\'))
$puts(file_len,$len($get(file_name)))
$puts(ELP_backg_color,$right($get(file_name),$sub($get(file_len),$get(point),3)))
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 53
Откуда: Украина, Днепр
Репутация: 336
С нами: 4 года 6 месяцев

Сообщение #138 AHAPXICT » 02.02.2016, 18:57

Aum, спасибо за совет, но я уже давно перегорел этой темой. После двух недель бессонных ночей, пробовал и PSS передёргивать и множество других вариантов, в результате оставил всё как есть, то есть последний вариант от maklaud. Как говорится, выше головы не прыгнешь, не моё это - скрипты писать)))
AHAPXICT M
Мастер
Аватара
Возраст: 46
Откуда: Киев
Репутация: 112
С нами: 3 года 11 месяцев

Сообщение #139 AHAPXICT » 11.02.2016, 20:14

У меня как всегда... Не дружу я с PSS, а идеи так и роятся в голове. Недавно добавил WSH Seekbar для стримов и СД в v3.1 и сразу стало понятно что за одним придётся переделывать другое)))
И где здесь дисплей, а где сикбар??? :wink:
Display&WSH Seekbar.png
Display&WSH Seekbar.png (4.34 КБ) Просмотров: 1038

Как видно "тайм секция" на правой половине картинки явно лишняя, так вся информация дублируется на сикбаре.
Вопрос можно ли использовать переменную для автоматического переключения пик метра в зависимости от данных условий: При активном wave seekbar и радио стандартное положение, при активном WSH Seekbar пик метр в полноразмерном виде, "тайм секция" скрыта.
Код: Выделить всё
// ----- BUTTONS COLORS ----
// ----- Blue:  B , Default:  D , Green:  G , Red:  R , White:  W ,  Yellow:  Y

$set_ps_global(do.colbutt,%ps_foobar2000_path%\themes\DarkOne_v4.0\Images\B\)

// ----- TIME BACKGROUND ----
// ----- Blue: 27-41-53 , Default: 31-44-53 , Green: 18-46-35 , Red: 40-27-35 , White: 36-46-53 , Yellow: 36-46-35

$puts(t.col,27-41-53)

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

// ----- TIME SECTION -----

$ifequal(%do.display.switch%,2,
   $puts(col1,$if(%ps_isplaying%,$ifequal(%do.time.switch%,1,192-192-192,$get(t.col)),$get(t.col)))
   $puts(col2,$if(%ps_isplaying%,$ifequal(%do.time.switch%,2,192-192-192,$get(t.col)),$get(t.col)))
   $font(Arial Black,5,)$drawtextex(ELAPSED,$sub(%ps_width%,67),$sub(%ps_height%,31),35,8,$get(col1),left)
   $font(Arial Black,5,)$drawtextex(REMAIN,$sub(%ps_width%,33),$sub(%ps_height%,31),33,8,$get(col2),right)
   $font(DarkOne,14,)$drawstring($char(9608)$char(9608):$char(9608)$char(9608):$char(9608)$char(9608),$sub(%ps_width%,76),$sub(%ps_height%,19),77,17,$get(t.col),right)
,
)

// ----- STREAM FIX FOR WAVEFORM SEEKBAR & RADIO LOGO -----
$puts(text,$if(%ps_isplaying%,$upper(%title%)))
$puts(t.w,$gettextwidth($get(text),Impact,48,))
$puts(comp,$div(4500,$div($mul($get(t.w),100),%ps_width%)))
$puts(size,$ifgreater(10,$get(comp),48,$ifgreater($get(t.w),%ps_width%,$get(comp),48)))
$puts(shift,$left($get(text),$mod(%playback_time_seconds%,$len($get(text)))))
$puts(s.w,$gettextwidth($get(shift),Impact,48,))
$puts(left,$ifgreater(10,$get(comp),$sub(0,$get(s.w)),0))
$puts(width,$ifgreater(10,$get(comp),$add($get(t.w),2),%ps_width%))

$ifequal(%do.display.switch%,2,
$if($and(%ps_isplaying%,$stricmp($left(%path%,7),'http://')),
$gradientrect(0,$sub(%ps_height%,90),%ps_width%,56,76-121-153-20,76-121-153-10,,50)
$font(Impact,$get(size),)                               
//$drawtextex($get(text),$add($get(left),2),$sub(%ps_height%,89),$get(width),54,0-0-0,hcenter vcenter)
$drawtextex($get(text),$get(left),$sub(%ps_height%,90),$get(width),54,38-61-76,hcenter vcenter)
)
,
)

// ----- PANEL MANAGEMENT -----
$movepanel_c(Peakmeter,33,$sub(%ps_height%,30),$sub(%ps_width%,$ifequal(%do.display.switch%,1,33,104)),30)

$showpanel_c(Seekbar and Display,$ifequal(%do.display.switch%,1,1,0))
$showpanel_c(Waveform seekbar,$ifequal(%do.display.switch%,2,$if($or($not(%ps_isplaying%),$stricmp($left(%path%,7),'http://'),$stricmp(%codec%,cdda)),0,1),0))
$showpanel_c(WSHSeekbar,$ifequal(%do.display.switch%,2,$if($or($not(%length%),$stricmp($left(%path%,7),)),0,1),0))

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

$puts(cmd1,$ifequal(%do.display.switch%,1,2,1))
$puts(cmd2,$ifequal(%do.time.switch%,1,2,1))
$puts(img,$if(%ps_isplaying%,,stop))

$imagebutton(1,$sub(%ps_height%,28),27,27,%do.colbutt%$get(cmd1)$get(img).png,%do.colbutt%$get(cmd1)MH.png,SETGLOBAL:do.display.switch:$get(cmd1);REFRESH,,)

$ifequal(%do.display.switch%,2,
   $imagebutton($sub(%ps_width%,67),$sub(%ps_height%,31),67,30,,,SETGLOBAL:do.time.switch:$get(cmd2);REFRESH,,)
,
)
AHAPXICT M
Мастер
Аватара
Возраст: 46
Откуда: Киев
Репутация: 112
С нами: 3 года 11 месяцев

Сообщение #140 maklaud » 14.02.2016, 01:37

AHAPXICT, проблема актуальна ещё? Я поковырял бы, но в сборке. Может разберусь, правда шанс мал :smile: .

Добавлено спустя 4 минуты 43 секунды:
с моими-то знаниями.
maklaud
Бывалый
Аватара
Репутация: 28
С нами: 2 года 3 месяца

Пред.След.

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