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 лет 3 месяца


Сообщение #41 Zin-Uru » 12.04.2010, 23:40

2Aum
Во-первых, сделайте бекап текущих настроек CUI с помощью экспорта.
Во-вторых, нужно изменить тип главного сплиттера (см. дерево сплиттеров Vertical Splitter) на Panel Stack Splitter (с помощью правой кнопки).
Скорее всего панели у вас после этого заглючат и "уедут", при этом нужно ПКМ где-то по самому краю активной области, чтобы там была менюшка с двумя Splitter Settings - идете в верхний из них и видите там список всех остальных панелек внутри. Каждой из них лучше дать собственное имя (там есть поле, куда его вписывать) и проставить галочки у всех Forced layout, а ниже для каждой прописываем координаты, ширину и высоту, чтобы располагались так, как вам нужно. После этого панели встанут ровно. Но у всех панелей, кроме панельки номер 2 по скрину, в координате Top пишем не просто цифру, а $ifequal(%show_top%,0,координата,координата) - тут первая координата будет для задвинутого состояния (скорее всего 0), а вторая для выдвинутого. Аналогично надо прописать условие для height в каждой из панелей.
Координаты панельки номер 2 вписываем для ее обычного видимого состояния. Далее идем здесь же в скрипт и пишем $showpanel_c(имя панели 2,%show_top%).
При прописывании всех координат не забываем про полезные переменные %ps_width% и %ps_height%.
Уже после всего этого жмем ОК и идем в Splitter Settings нижней панели, где будет переключающая кнопка. Там заходим в скрипт и пишем:
Код: Выделить всё
$imagebutton(x,y,w,h,путь 1,путь 2,SETGLOBAL:show_top:$ifequal(%show_top%,1,0,1);COMMAND:'View/Show status pane';COMMAND:'View/Show status pane',,)
Если все сделано правильно, и я ничего не забыл, тогда будет работать как задумано. ;)

P.S. Как было правильно замечено, можно было с помощью такого же прописывания координат объединить многие панели, это было бы удобней.
Последний раз редактировалось Zin-Uru 12.04.2010, 23:57, всего редактировалось 1 раз.
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #42 Zin-Uru » 13.04.2010, 00:08

Только сейчас понял, что почти все что я тут понаписал, есть в общем-то в русской статье из ссылки в первом посте данного топика. Рекомендую почитать, хорошая инструкция. ;)
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #43 Aum » 13.04.2010, 00:39

2Izotop по незнанию..*ну*
2Zin-Uru все равно, спасибо за труд!!!
*пыво*
НО, если главный сплиттер будте - ПСС,то  я не могу менять размер окна плеера, разворачиваю-а по бокам-белая х.., заданная ширина+высота не растягивается...т.е размер плеера будет жестко задан? (а это никак не допустимо)или я чего то не дочитал? *ну*
Последний раз редактировалось Aum 13.04.2010, 12:21, всего редактировалось 1 раз.
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #44 Izotop » 13.04.2010, 13:56

2Aum
Все размеры панелей в PSS можно подвязывать к размерам плеера с помощью тегов %ps_width% и %ps_height%.
В шапке темы есть ссылка на пример  Создание интерфейса на основе Panel Stack Splitter плагина
Читали его?
Почитайте его внимательно.
Там всё пошагово описано специально для начинающих... *пыво*
А о непонятном  --- отписывайтесь.
Поможем.
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 4 месяца

Сообщение #45 Aum » 13.04.2010, 15:16

все, въехал! методом научного тыка)) спсб.
p.s. да тут бочонок пивка нужен, чтоб разобраться))

Поковырялся....
и возникли вопросы:
1.Как поставить параметр для отдельно взятой кнопки(и куда его), а то у меня отказывается работать:
TFMODE:mode            0 - nowplaying modе
                                  1 - follow curosr mode
2. При наведении на кнопку нужно чтоб появился текст(подпись): куда параметр соответствующий тулить?и можно ли чтоб выделение появлялось полупрозрачное как в на обычных кнопках?или только заранее рисовать...
3. По моему примеру выше: можно ли описать как то: когда кнопка выдвижения панели нажата(т.е. панель показана)-иконка одна, когда спрятана доп. панель-иконка другая?
4. И вроде последний: :) не работает кнопка configure главного PSS сплитера! приловчился только оставлять чуть белое место этого сплиттера в окне плеера и через контекст вызывать параметры, а по правильному не хочет!в чем тут загвоздка?
Последний раз редактировалось Aum 14.04.2010, 12:06, всего редактировалось 1 раз.
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #46 Izotop » 14.04.2010, 14:06

Aum:1.Как поставить параметр для отдельно взятой кнопки(и куда его), а то у меня отказывается работать:
TFMODE:mode             0 - nowplaying modе
                                   1 - follow curosr mode
опишите что конкретно должна эта кнопка будет делать?
Aum:2. При наведении на кнопку нужно чтоб появился текст(подпись): куда параметр соответствующий тулить?
К сожалению --- пока автор не научил плаг такому, но я думаю это вопрос времени...
Плагин активно дорабатывался и развивался, правда сейчас уже как-то давно уже не было обновлений...
Aum:и можно ли чтоб выделение появлялось полупрозрачное как в на обычных кнопках?или только заранее рисовать...
не смог понять когда и где должны "выделения полупрозрачные" появляться?
И что подразумевается под выражением "как в на обычных кнопках"? Чем отличаются "обычные" кнопки от "необычных"? ;)

Aum:4. И вроде последний:  не работает кнопка configure главного PSS сплитера! приловчился только оставлять чуть белое место этого сплиттера в окне плеера и через контекст вызывать параметры, а по правильному не хочет!в чем тут загвоздка?
Просто неумеет и всё :)
Нарисуйте к примеру каких-нибудь кнопочек на "главном" окне PSS -- и тогда это место не будет бесполезным.
Да и через контекстное меню некоторых панелей (которые отрисовывает "главное" окно PSS) можна попасть в Splitter Settings...
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 4 месяца

Сообщение #47 Zin-Uru » 14.04.2010, 18:14

Aum:3. По моему примеру выше: можно ли описать как то: когда кнопка выдвижения панели нажата(т.е. панель показана)-иконка одна, когда спрятана доп. панель-иконка другая?
Можно с помощью глобальной переменной. В вашем вот случае, разобранном выше, это будет выглядеть примерно так:
Код: Выделить всё
$imagebutton(x,y,w,h,$ifequal(%show_top%,1,путь 1-1,путь 1-2),$ifequal(%show_top%,1,путь 2-1,путь 2-2),SETGLOBAL:show_top:$ifequal(%show_top%,1,0,1);COMMAND:'View/Show status pane';COMMAND:'View/Show status pane';REFRESH,,)
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #48 Aum » 14.04.2010, 19:51

Izotop:1.Как поставить параметр для отдельно взятой кнопки(и куда его), а то у меня отказывается работать:
TFMODE:mode             0 - nowplaying modе
                                  1 - follow curosr mode

опишите что конкретно должна эта кнопка будет делать?
вот кнопка (свойство трэков показывает):
$imagebutton(145,1,24,24,%ps_foobar2000_path%\images\buttons\button grey\info.png,%ps_foobar2000_path%\images\buttons\button grey\info cursor.png,CONTEXT:Properties,)
нужно чтоб она работала для выделенных треков, а не для "нау плэинг", т.к. в глобальных опциях панели должно стоять now plaing для всех остальных кнопок.
по поводу прозрачности..то я гоню..))
Последний раз редактировалось Aum 14.04.2010, 19:54, всего редактировалось 1 раз.
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #49 Izotop » 14.04.2010, 20:49

2Aum
Код: Выделить всё
$imagebutton(145,1,24,24,%ps_foobar2000_path%\images\buttons\button grey\info.png,%ps_foobar2000_path%\images\buttons\button grey\info cursor.png,CONTEXT:Properties; TFMODE:1,)
*пыво*
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 4 месяца

Сообщение #50 Aum » 16.04.2010, 00:50

спсб всем за отзывчивость!  *пыво*

маленькая неувязка: не могу в ПСС на кнопку повесить скрипты из text tools?
$imagebutton(.....................,CONTEXT:'Utilities/Text Tools/Artist Name - Title',)
$imagebutton(.........................,CONTEXT:Text Tools/Artist Name - Title,)
$imagebutton(.........................,CONTEXT:Text Tools/Copy: Artist Name - Title,)
и т. д.
перепробывал кучу вариантов , нифига, где ошибка?

вывожу в определенном месте текст:
$drawstring($if2(%_path%,),10,1,,,255-128-64-128,)
можно ли как то прописать, чтоб он не переносился на следующую строку а прокручивался от метки до метки?
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #51 Zin-Uru » 16.04.2010, 01:09

Aum:маленькая неувязка: не могу в ПСС на кнопку повесить скрипты из text tools?
Правильный вариант прописки данной команды (да и любой другой) можно посмотреть в File -> Preferences -> General -> Keyboard Shortcuts. Создаете там новый бинд, и как в него пропишется нужная команда, так ее прописывать и в кнопке на PSS.
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #52 Axess » 16.04.2010, 09:23

2mookhin
попробуй прописать рефреш после действия команды
такое работает:
Код: Выделить всё
$if(%ps_isplaying%,$if(%ps_ispause%,
$imagebutton($sub(%center_pos%,2),$sub(%_height%,37),8,14,$get(images_path)BTN_PLAY1.png,$get(images_path)BTN_PLAY2.png,COMMAND:'Playback/Play or Pause';REFRESH,,),
$imagebutton($sub(%center_pos%,3),$sub(%_height%,37),8,14,$get(images_path)BTN_PAUSE1.png,$get(images_path)BTN_PAUSE2.png,COMMAND:'Playback/Play or Pause';REFRESH,,)),
$imagebutton($sub(%center_pos%,2),$sub(%_height%,37),8,14,$get(images_path)BTN_PLAY1.png,$get(images_path)BTN_PLAY2.png,COMMAND:'Playback/Play or Pause';REFRESH,,)
)
и порядок картинок в скрипте правильный? (те что выделены не надо поменять местами?)?
...pause.png,$get(btn)/play+.png...
...play.png,$get(btn)/pause+.png...
...play-.png,$get(btn)/play+.png...
Последний раз редактировалось Axess 16.04.2010, 09:33, всего редактировалось 1 раз.
Axess M
Аватара
Откуда: Kirov
Репутация: 16
С нами: 14 лет 7 месяцев

Сообщение #53 Zin-Uru » 16.04.2010, 12:44

2Axess, проблема у него была в неправильном написании условия %ps_ispause%. Лишняя буква все портила. А менять местами картинки в этом случае точно не нужно, иначе будет выглядеть довольно странно. :)
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #54 Axess » 16.04.2010, 14:12

2Zin-Uru, точно..этого косяка я не заметил :) а про картинки - смотря что требуется и что на картинках) у меня как видно play1 - play2, pause1 - pause2 , play1 - play2 :) лучше уточнить)
Axess M
Аватара
Откуда: Kirov
Репутация: 16
С нами: 14 лет 7 месяцев

Сообщение #55 Aum » 04.05.2010, 17:51

насколько я понял, можно научить прятать по нажатию клавиши боковую панельку? по аналогии с верхней:
$showpanel_c(имя панельки,%show_top%)
$imagebutton(2,52,22,22,$ifequal(%show_top%,1,......1.png,....2.png),$ifequal(%show_top%,1,.....1-1.png,....2-1.png),SETGLOBAL:show_top:$ifequal(%show_top%,1,0,1);COMMAND:'View/Show status pane';COMMAND:'View/Show status pane'; REFRESH,,)

можно ли просто заменить top на left и поставить относительные пути отображения (если открыта, такие координаты...и т.д.)???
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #56 Zin-Uru » 04.05.2010, 18:26

Aum:можно ли просто заменить top на left и поставить относительные пути отображения (если открыта, такие координаты...и т.д.)???
Можно. Команда $showpanel_c должна находиться в том сплиттере, который является "родительским" для скрываемой панельки. Скрипт для отображения кнопки - там, где будет удобно. ;)
Zin-Uru M
Репутация: 45
С нами: 14 лет 6 месяцев

Сообщение #57 Aum » 11.05.2010, 14:21

опять сплиттер не хочет команду выполнять... *ужас*\

$imagebutton(.....................,COMMAND:View/Visualizations/Shpeck - Start 'MilkDrop 2.2 / MilkDrop 2.2',)

хоть убей, кнопка не работает, с хоткея - запускается, из меню - тожа.... в чем причина???(команда верная - переписана с хоткея)
(причем, создаю в этом же сплиттере панель buttons, в нее добавляю соответствующую команду - работает..., но в этом случае только *.bmp отображаются или текстовые кнопки), какаето непонятка с PSS...

По изложенному предложению ниже, товарищем Izotop'om - все вышло!!! Спсб. *пыво*
Последний раз редактировалось Aum 16.05.2010, 13:01, всего редактировалось 1 раз.
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #58 Izotop » 13.05.2010, 20:46

Aum:$imagebutton(.....................,COMMAND:View/Visualizations/Shpeck - Start 'MilkDrop 2.2 / MilkDrop 2.2',)

хоть убей, кнопка не работает, с хоткея - запускается, из меню - тожа.... в чем причина???(команда верная - переписана с хоткея)
А причины тут никакой нету.
Просто многие скрипты Foobar не "дружат" символами-исключениями.
В данном случае это символ одинарной кавычки --> '.
Чтобы сделать доступной для чтения одинарную кавычку добавьте ещё одну такую же кавычку (а если совсем по правилам делать --- то все символы-исключения нужно с обеих сторон брать в одинарные кавычки ;))
Сделайте выражение::: Shpeck - Start 'MilkDrop 2.2 / MilkDrop 2.2' вот таким --> Shpeck - Start '''MilkDrop 2.2 / MilkDrop 2.2''' и всё станет ГУД *пыво*
Во всяком случае у меня работает кнопочка  :)
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 4 месяца

Re: Panel Stack Splitter (foo_uie_panel_splitter.dll)

Сообщение #59 Aum » 16.05.2010, 13:02

вот такой вопрос возник уже давно:
создаем PSS в него вставляем Toolbars\Button...
в стандартном интерфейсе на эти кнопки подходят файлы PNG! а вот когда эта панель в составе PSS - отображаются только иконки в формате BMP! (PNG отказывается отображать!)
может кто знает, в чем причина?
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Сообщение #60 Aum » 25.05.2010, 20:25

1. вот такой вопрос возник уже давно (таким образом хотелось решить проблему иконок без подписей):
создаем PSS в него вставляем Toolbars\Button...
в стандартном интерфейсе на эти кнопки подходят файлы PNG! а вот когда эта панель в составе PSS - отображаются только иконки в формате BMP! (PNG отказывается отображать!)
может кто знает, в чем причина?

2. Уже как то упоминал, может появились идеи:
Иногда просто необходимо скопировать имя трека, артиста, название альбома в буфер - поэтому для удобства нужны кнопки, а с ними ничего не получается...вроде все перепробывал:
$imagebutton(.....................................,CONTEXT:'Utilities/Text Tools/Copy: Title',)
и с кавычками:
$imagebutton(.....................................,CONTEXT:'Utilities/Text Tools/Copy':' Title',)
не хочет....??

причем $imagebutton(.....................................,CONTEXT:'Utilities/Text Tools/Customize...',) вызывается!значит проблема в последнем запросе!!

Вопрос снят! Удалось реализовать минуя Text Tools через runcmnd+run services!
Последний раз редактировалось Aum 28.05.2010, 21:37, всего редактировалось 1 раз.
Aum M
Аватара
Репутация: 20
С нами: 14 лет

Пред.След.

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