Инструменты пользователя

Инструменты сайта


foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels [2007/03/02 04:36]
Spike
foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels [2007/06/09 03:30] (текущий)
Строка 1: Строка 1:
 ====== Panels UI (foo_ui_panels) ====== ====== Panels UI (foo_ui_panels) ======
 +**//​Страница в разработке...//​**
 ===== Описание ===== ===== Описание =====
-Новый интерфейс,​ объединяющий возможности Track Info Panel и Single Columns Playlist с поддержкой собственных панелей. Использует новые графические возможности Windows Vista, и имеет шанс стать популярным интерфейсом. Плагин находится в активной разработке.+Новый интерфейс,​ объединяющий возможности Track Info Panel и Single Columns Playlist с поддержкой собственных панелей. Использует новые графические возможности Windows Vista, и имеет шанс стать популярным интерфейсом. Плагин находится в активной разработке ​(стадия BETA-версий). 
 ===== Возможности ===== ===== Возможности =====
   * Дает возможность управления несколькими панелями через форматирование заголовков (titleformating)   * Дает возможность управления несколькими панелями через форматирование заголовков (titleformating)
 +  * Содержит в себе компоненты [[foobar2000:​plugins_for_0.9.x:​single_column_playlist_foo_uie_single_column_playlist]] и [[foobar2000:​plugins_for_0.9.x:​track_info_panel_mod_foo_uie_trackinfo_mod]] и их функции
   * Имеет свои панели <code tagz>​$panel(ID,​Name,​x,​y,​width,​height,​options)</​code>​   * Имеет свои панели <code tagz>​$panel(ID,​Name,​x,​y,​width,​height,​options)</​code>​
   * Добавление границ с эффектом стекла (Windows Vista) <code tagz>​$glass(left,​right,​top,​bottom)</​code>​   * Добавление границ с эффектом стекла (Windows Vista) <code tagz>​$glass(left,​right,​top,​bottom)</​code>​
 ===== Требования ===== ===== Требования =====
 +  * Foobar2000 0.9.4+
   * Хотя Panels UI самостоятельный интерфейс,​ для его использования все равно необходим [[foobar2000:​plugins_for_0.9.x:​columns_ui]]   * Хотя Panels UI самостоятельный интерфейс,​ для его использования все равно необходим [[foobar2000:​plugins_for_0.9.x:​columns_ui]]
-===== Скриншот ===== + 
-{{foobar2000:plugins_for_0.9.x:foo_ui_panels.jpg|}}+ 
 +{{  foobar2000:​plugins_for_0.9.x:​foo_ui_panels.jpg?​200|Одна из конфигураций под Panels UI}} 
 + 
 + 
 +===== Установка ​===== 
 +Установка стандартна[[http://​panels.fooblog2000.com/foo_ui_panels.zip|скачайте последнюю версию]] и разархивируйте dll-файл в [[foobar2000:​directories|папку компонентов плеера]]. При апдейте убедитесь,​ что сохранили старые конфигурации Panels UI, сделайте бекап.
  
 ===== Changelog ===== ===== Changelog =====
 +  * 0.13.0
 +    * library filter tweaks
 +    * transparent background for scpl (scrolling will be slower)
 +    * transparent background for library filter & track displays.
 +    * new Library Filter defaults (hit reset page to get defaults)
 +
 +  * 0.12.0
 +    * new "​Library Filter"​ panel. a bit similar to Album List but with the ability to "​and"​ and "​not"​ nodes. also uses the current scpl sort/group settings when sending to playlist. use the sample "​library.pp"​ layout file with a POPUP: to see how to customize.
 +    * button in settings dialog to clear PVARs
 +
 +  * 0.11.0
 +    * window title updates on pause
 +    * new "track globals"​ which are also evaluated before sorting/​grouping. keep this small and fast.
 +    * tweaked sort/group criteria to use new track globals
 +    * "Reset Page" in Panels UI preferences resets to defaults
 +    * new button POPUP:"​layout file" to create a new panels ui window.
 +
 +  * 0.10.0
 +    * window size/​position stored in pui
 +    * FILTER: button sorts by current sort/group
 +    * tray context menu
 +    * SORTGROUP_PRESET:​index button (where index is the number of the preset)
 +    * $sortgroup_preset(index) returns the name of the specified preset.
 +    * %sortgroup_preset_count% returns the number of presets
 +    * %sortgroup% to get the name of the current sort/group criteria
 +    * changed $playlistname() to %playlistname%
 +    * %sortgroup% returns the current sort/group.
 +    * %groupformat% (only vailid in SCPL "Group Display"​) to get the current group by string.
 +    * "​Singles"​ layout is chosen as default. Use this + %groupformat% to handle differnt grouping criteria dynamically.
 +    * changed base path to be relative to layout folder. eg. if you have your pui in  ..\foobar2000\PanelsUI\MyTheme\MyTheme.pui,​ then /​images\myimage.jpg would be ..\foobar2000\PanelsUI\MyTheme\images\myimage.jpg
 +    * customizable double click / middle click actions
 +    * sort/group settings are remembered by playlist name and applied on playlist changes
 +    * misc bug fixes / tweaks
 +
 +  * 0.9.2
 +    * misc bug fixes / tweaks
 +    * delay load uxtheme.dll to support win2k
 +    * $playlistname() to get the playlist name
 +    * $sortidx(name) returns the sort index or false if not sorted
 +    * sort/group presets in main menu (view / panels ui / sort\ group by)
 +    * $extra(FOOBAR2000_VERSION)
 +
 +  * 0.9.0
 +    * new sorting/​grouping system
 +
 +  * 0.8.0
 +    * "​windowsize"​ button will now work inside child track displays
 +    * new user globals / layout globals will be run before all title formatting in TrackDisplay / SCPL. 
 +    layout globals will change between layouts and are saved in the .pui, while user globals stay the same for all layouts.
 +    * various bug fixes / improvements
 +  * 0.7.5
 +    * Tooltips for buttons. (add TOOLTIP:​mytooltip or TOOLTIP:​”my tooltip” to override the default)
 +    * Free cached images in not used for a while
 +    * Options for WINDOWSIZE to set anchor points (eg: WINDOWSIZE:​x:​y:​LEFT:​TOP,​ WINDOWSIZE:​x:​y:​RIGHT:​BOTTOM,​ etc)
   * 0.7.0   * 0.7.0
     * Multiple buttons over same area can be executed     * Multiple buttons over same area can be executed
Строка 21: Строка 83:
     * Различные багфиксы / улучшения     * Различные багфиксы / улучшения
  
 +
 +===== Структура кодирования =====
 +{{  foobar2000:​plugins_for_0.9.x:​panulsuiconfig.png?​300|Окно конфигурации Panels UI}}
 +
 +Чтобы открыть окно конфигурации,​ кликните правой кнопкой по заголовку foobar2000 и выберите //​Settings...//​ из контекстного меню. Альтернативный вариант:​ <​key>​Ctrl+P</​key>''​ -> Display -> PanelsUI -> Edit Layout''​.
 +
 +==== Область редактирования ====
 +Для облегчения кодирования начиная с версии 0.3.0 в область кодирования встроен редактор с возможностью подсветки на базе scintilla.
 +
 +Чтобы изменить размер шрифта в области редактирования,​ нажмите <​key>​Ctrl</​key>​+колесо мышки вверх/​вниз.
 +
 +==== Формат ====
 +Табуляция и пробелы игнорируются.
 +
 +Пример:​
 +<code tagz>
 +$if(%isplaying%,​
 + ​ Playing
 + ,
 +  Not Playing
 + )
 +</​code>​
 +
 +Если вы хотите добавить пробелы в код, то заключите их в символы апострофа "'"​.
 +<code tagz>
 + test
 + ' ​    '​test
 + test
 +</​code>​
 +
 +==== Типы отрисовки ====
 +Позволяют вам экономить ресурсы путем разделения кода на разные секции в зависимости от требований по прорисовке изображений или другой информации. Доступно четыре различных типа прорисовки:​ global, background, per track и per second.
 +
 +  * **Global** — глобальные значения.
 +  * **Background** — фоновый материал (например,​ изображения). Отрисовывается однократно.
 +  * **PerTrack** — данные,​ которые меняются каждый трек(%album%,​ %artist%, и т.д.). Неплохо в этой секции размещать и кнопки тоже.
 +  * **PerSecond** — данные,​ которые нуждаются в ежесекундном обновлении (%playback_time% и тому подобные).
 +
 +//​Примечание:​ It has to be the exact same syntax (capitalization,​ etc.)// FIXME
 +
 +Пример:​
 +<code tagz>
 + // Global
 + ​$if($meta_test(album artist),​$puts(album_is_va,​1))
 + ​$puts(fontStyle,​$font(Calibri,​10,​bold,​0-255-128))
 + ​[[...]]
 + // Background
 + ​$imageabs(,,​imagesbground.png,​)
 + ​[[...]]
 + // PerTrack
 + ​$button(0,​0,​0,​0,​0,​0,​imagesplay.png,​imagesplay_hover.png,'​Play or Pause',​)
 + ​[[...]]
 + // PerSecond
 + ​%playback_time%
 + ​[[...]]
 +</​code>​
 +===== Панели =====
 +  $panel(ID,​Name,​x,​y,​width,​height,​options)
 +
 + * **ID** — идентификатор.
 + * **Name** — название компонента. Для дополнительного синтаксиса обратитесь к выпадающему меню((Нажмите кнопку ''​Panels''​ и кликните по выпадающему списку ниже.)) в окне конфигурирования Panels UI.
 + * **x & y** — указывают позицию панели (значения могут быть отрицательными).
 + * **width & heigh**t — указывают размер панели.
 + * **options** — пока недоступны.
 +
 +Следующий пример создаст SCPL(([[http://​wiki.foobar2000.ru/​foobar2000/​plugins_for_0.9.x/​single_column_playlist_foo_uie_single_column_playlist|Single Column Playlist Viewer]].)) с координатами 5,5 и размером 200px на 300px. В верхнем правом углу экрана редактирования (где список панелей) появится новая панель "​Identification";​ нажав на кнопку ''​Configure'',​ вы сможете редактировать код SCPL.
 +<code tagz>
 +$panel(Identification,​Single Column Playlist,​5,​5,​200,​300,​)
 +</​code>​
 +===== Свои границы =====
 +Добавить свои границы((Custom borders.)) со «стеклянным» эффектом Windows Vista:
 +<code tagz>
 +$glass(left,​right,​top,​bottom)
 +</​code>​
 +===== Математические функции =====
 +Вычисление математических функций.
 +<code tagz>
 +$eval()
 +</​code>​
 +  * Операции:​ + - * / @ (целочисленный остаток от деления) и {} как замена круглых скобок
 +//​Примечание:​ эта функция может нестабильно работать((Точнее,​ может либо работать,​ либо не работать совсем)) в субпанелях Track Display.//
 +
 +Пример:​
 +<code tagz>
 +$eval(**{**%_width%**/​**3**}**+$get(column.offset))
 +</​code>​
 +===== PVARS — постоянные переменные =====
 +<code tagz>
 +$setpvar(name,​value)
 +$getpvar(name)
 +</​code>​
 +  * Переменные,​ подобные общим [[foobar2000:​tittleformatting#​operacii_s_peremennymi|операциям с переменными]] ($put, $puts & $get) и добавленной возможностью хранить свои значения постоянно.
 +  * Могут быть назначены/​вызваны отовсюду внутри Panels UI (Panels UI + Track Display и Single Columns Playlist).
 +
 +**Пример:​**
 +
 +Код:
 +<code tagz>
 +$getpvar(foo,​bar)
 +$setpvar(foo,​bar)
 +$getpvar(foo)
 +$getpvar(Foo)
 +$setpvar(foo,​2000)
 +$getpvar(foo)<​\/​code>​
 +</​code>​
 +
 +На выходе:​
 +<​code>​
 +  [[unknown|pvar]]
 +
 +  bar
 +  bar
 +
 +  2000
 +</​code>​
 +
 +Вы можете настроить три возможных раскладки используя PVAR'​ы.
 +<code tagz>
 + ​$select($getpvar(display),​
 + //​Код первой панели
 + ,
 + //​Код второй панели
 + ,
 + //​Код третьей панели
 + )
 +</​code>​
 +
 +
 +
 +===== Выравнивание текста =====
 +
 +===Обычное выравние текста===
 +
 +<code tagz>​$align(H,​V)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|(H)orizontal|Горизонально. Может принимать значения ''​left,​ center''​ и ''​right''​ (слева,​ по центру или справа).| |
 +|(V)ertical|Вертикально. Может принимать значения ''​top,​ middle''​ и ''​bottom''​ (сверху,​ по середине или снизу).|''​top''​ будет проверяться на перезапись.|
 +
 +Если с помощью этой функции выравнять несколько раз подряд (например,​ ''​$align(left,​middle)''​ больше чем один раз), то выравнивание будет происходить с той же точки отсчета.
 +
 +===Чтобы выравнять текст относительно===
 +Примечание:​ эта функция нормально работает только в секции [[foobar2000:​plugins_for_0.9.x:​foo_ui_panels_foo_ui_panels#​tipy_otrisovki|PerSecond]].
 +
 +<code tagz>​$alignset() - $alignrel(H,​V)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|(H)orizontal|Горизонтально. Может принимать значения ''​left,​ center''​ и ''​right''​ (слева,​ по центру или справа).| |
 +|(V)ertical|Вертикально. Может принимать значения ''​top,​ middle''​ и ''​bottom''​ (сверху,​ по середине и внизу).|''​top''​ будет проверяться на перезапись.|
 +|$alignset()|Устанавливает точку отсчета для ''​$alignrel(H,​V)''​.|Может применяться как замена функции ''​$char(10)'',​ работает для всех следующих ''​$alignrel(H,​V)''​.|
 +
 +Например:​
 +<​code>​$alignrel(left,​middle) //​Линия1_слева//​ $alignrel(center,​middle) //​Линия1_по_центру//​ $alignset() $alignrel(right,​middle) //​Линия2_справа//</​code>​
 +
 +===Чтобы выравнять текст абсолютно (без проверки на перезапись текста)===
 +
 +<code tagz>​$alignabs(X,​Y,​w,​h,​H,​V)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|X & Y|Координаты позиции границ прямоугольника в котором будет происходить выравнивание|Значения могут быть отрицательными.|
 +|(W)idth & (H)eight|Ширина и высота прямоугольника в котором будет происходить выравнивание текста.| |
 +|H & V|см. таблицу выше| |.
 +
 +//​Примечание:​ $alignabs(**H**,​**V**) может быть использована для относительного выравнивания без проверки на перезапись.//​
 +
 +====Стили шрифтов====
 +
 +<code tagz>​$font(NAME,​SIZE,​OPTIONS,​COLOR)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|NAME|Название шрифта.| |
 +|SIZE|Размер шрифта.| |
 +|OPTIONS|Опции. Могут иметь значение ''​bold,​ italic, underline, strikeout, nocleartype,​ glow-''​ и ''​shadow''​| Также, возможно совмещать значения,​ например,​ //"​bolditalicunderlineglow-"//​ даст комбинацию этих эффектов. Значения по-умолчанию для ''​glow''​ — glowexpand-2 и glowblur-2. Подробности в таблице ниже.|
 +|COLOR|Цвет. Цвет шрифта указывается в пространстве R-G-B.|Например,​ 255-0-0 даст красный цвет. Используйте //​SYSCOL-x//​ для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?.|
 +
 +**Параметры OPTIONS:**
 +
 +^Параметр ^Пример ^Примечание^
 +|bold|{{foobar2000:​plugins_for_0.9.x:​teststring_bold.png|}}| |
 +|italic|{{foobar2000:​plugins_for_0.9.x:​teststring_italic.png|}}| |
 +|underline|{{foobar2000:​plugins_for_0.9.x:​teststring_underline.png|}}| |
 +|strikeout|{{foobar2000:​plugins_for_0.9.x:​teststring_strikeout.png|}}| |
 +|uppercase|{{foobar2000:​plugins_for_0.9.x:​teststring_uppercase.png|}}| |
 +|lowercase|{{foobar2000:​plugins_for_0.9.x:​teststring_lowercase.png|}}| |
 +|nocleartype|{{foobar2000:​plugins_for_0.9.x:​teststring_nocleartype.png|}}| |
 +|fixedwidth-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}| |
 +|glow-R-G-B|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Настройки по умолчанию:​ glowexpand-2 и glowblur-2|
 +|glowalpha-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Alpha-значение дня glow или shadow|
 +|glowblur-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Blur-значение для glow или shadow|
 +|glowexpand-x|{{foobar2000:​plugins_for_0.9.x:​teststring_fixedwidth.png|}}|Expand-значение для glow или shadow|
 +|shadow|{{foobar2000:​plugins_for_0.9.x:​teststring_shadow.png|}}|Цвет по умолчанию не изменяем|
 +|textalpha-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textalpha.png|}}|Отключает cleartype|
 +|textblur-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textblur.png|}}| |
 +|textexpand-x|{{foobar2000:​plugins_for_0.9.x:​teststring_textexpand.png|}}| |
 +
 +Следующий пример создаст шрифт Arial, размером 10 пикселей,​ жирный,​ с синим эффектом glow и системным цевтом номер #15 (фон):
 +<code tagz>​$font(Arial,​ 10, bold shadow glow-0-0-255,​SYSCOL-15)</​code>​
 +
 +  * Вы можете сохранять и восстанавливать значения переменных шрифта используя функции $put/​$puts/​$get (например,​ ''​$puts(font,​$font(Calibri,​9,​bold,​100-100-100))''​). Восстанавливать значения необходимо после использования функции ​ ''​$alignrel'',​ но не перед ней.
 +  * Также, изменение настроек шрифта с помощью ''​$get''​ не оказывает никакого воздействия на ''​$calcwidth/​$calcheight''​. Эти функции используют последнее реальное значение параметров ''​$font'',​ даже если их задавали функцией ''​$puts''​.
 +  * При использовании продвинутых эффектов отключается сглаживание (антиалиасинг) шрифтов (даже для alpha blending). Также, следующий текст влияет на предыдущий,​ так что, возможно,​ вам придется добавлять пробелы либо использовать функцию ''​$alignabs''​.
 +
 +**Примеры шрифтов и код:**
 +
 +{{foobar2000:​plugins:​uie:​trackinfo-font-example.png|Примеры шрифтов Single Columns Playlist}}
 +
 +====Кнопки====
 +===Сортировка===
 +===Тегирование===
 +
 +
 +====Изображения====
 +Поддерживает форматы изображений:​ PNG, BMP, GIF,JPG и ICO.
 +===$imageabs===
 +
 +<code tagz>​$imageabs(X,​Y,​imageName,​imageOptions)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|X & Y|Абсолютная позиция изображения с отсчетом от верхнего левого угла.| |
 +|imageName|Относительный путь к изображению из папки, где хранится конфигурация плеера.|Если отключена поддержка профилей,​ то папка конфигурации будет той же, куда установлен плеер. Однако,​ если включена поддержка профилей,​ то папка будет расположена в **C:​\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Application Data\foobar2000\**|
 +|imageOptions|Может включать в себя другие параметры,​ влияющие на представление изображения.|Описание параметров ниже.|
 +
 +Параметры **imageOptions**:​
 +
 +  * //​ALPHA-x//​. Прозрачность изображения;​ указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно).
 +
 +  * //FLOW//. Обтекание текста вокруг текста.
 +
 +Пример:​
 +
 +<code tagz>​$imageabs(0,​0,​%папка_конфигурации_foobar%\картинки\моя_картинка.png,​flow alpha-150)</​code>​
 +
 +
 +===$imageabs2===
 +
 +<code tagz>​$imageabs2(areaWidth,​areaHeight,​imageLeft,​imageTop,​imageWidth,​imageHeight,​areaLeft,​areaTop,​imagePath,​imageOptions)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|areaWidth & areaHeight|Параметры,​ управляющие размером изображения. Позволяют только уменьшать изображение.| |
 +|imageLeft & imageTop|Указывают на позицию уменьшенного изображения от левого верхнего угла.|**imageLeft** — горизонтальная позиция **уменьшенного** изображения,​ **imageTop** — вертикальная позиция **не уменьшенного** изображения. Если у вас есть изображение в формате JPEG размером 300x300 пикселей,​ и с помощью функций **areaWidth** и **areaHeight** оно уменьшено до размера 150x150 пикселей (**imageLeft** = 75 and **imageTop** = 150), то точка в верхнем левом углу финального изображения будет центром оригинального изображения 300x300.|
 +|imageWidth & imageHeight|Обрезание ширины и высоты,​ соответственно обрезание **сжатого** изображения.|Значения,​ которые больше,​ чем расстояние от обрезанного угла до границ уменьшенного изображения будут игнорироваться (обрезание как таковое будет пропущено). При значениях равных или больших,​ чем 32768, изображение вовсе не будет показано.|
 +|areaLeft & areaTop|Расстояние,​ соответственно,​ влево и вниз, от верхнего левого угла панели до верхнего левого угла финального уменьшенного и обрезанного изображения.| |
 +|imagePath|Абсолютный или относительный путь к папке с изображениями.|Для относительных путей нужно поставить слеш ('/'​) в начале пути. (например,​ "/​путь\до\изображение.jpg"​). Когда будете использовать относительные пути, учтите,​ что корневая папка — это инсталляционная папка foobar2000.|
 +|imageOptions|Опции изображения.|Описание параметров ниже.|
 +
 +Параметры **imageOptions**:​
 +
 +  * //​ALPHA-x//​. Прозрачность изображения;​ указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно).
 +  * //​NOKEEPASPECT//​. При изменении размера игнорировать пропорции изображения (aspect ratio).
 +  * //VALIGN-T (vertical align-TOP), VALIGN-B, HALIGN-L, HALIGN-R//. Опции выравнивания.
 +  * //​ROTATEFLIP-x//,​ где x (см. таблицу ниже).
 +
 +^Поворот X ^Поворот Y ^Поворот XY ^Нет^
 +|Поворот 90° CW| 5 | 7 | 3 | 1 |
 +|Поворот 180° CW| 6 | 4 | 0 | 2 |
 +|Поворот 270° CW| 7 | 5 | 1 | 3 |
 +|Нет| 4 | 6 | 2 | 0 |
 +
 +Более просто:​
 +<code tagz>​$imageabs2(Размеры сжатия,​Положение угла обрезания,​Размеры обрезания,​Расположение панели,​Путь,​Опции изображения)</​code>​
 +
 +Пример:​
 +<code tagz>​$imageabs2(48,​48,​0,​0,​48,​48,​20,​20,​C:​\Program Files\foobar2000 v0.9\icons\$replace(%filename_ext%,​%filename%'​.',​)_48x48.png,​alpha-192)</​code>​
 +
 +Уменьшить изображение до 24x24 (изначальный размер 48х48) без обрезания:​
 +<code tagz>​$imageabs2(**24**,​**24**,​0,​0,​**24**,​**24**,​20,​20,/​icons\$replace(%filename_ext%,​%filename%'​.',​)_48x48.png,​alpha-192)</​code>​
 +
 +====Отрисовка прямоугольника====
 +<code tagz>​$drawrect(X,​Y,​W,​H,​brushColor-R-G-B penColor-R-G-B OPTIONS)</​code>​
 +
 +^Параметр ^Определение ^Примечание^
 +|X & Y|Позиция прямоугольника относительно верхнего левого угла.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''​$pad''​.|
 +|W & H|Определяет ширину и высоту прямоугольника.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''​$pad''​.|
 +|brushColor & penColor|Цвета фона и границы в пространстве R-G-B.|Например,​ 255-0-0 даст красный цвет. Параметры могут быть отключены с помощью -null (например,​ brushColor-null). Используйте //​SYSCOL-x//​ для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?.|
 +|OPTIONS|Опции прямоугольника.|Описание параметров ниже.|
 +
 +**Параметры OPTIONS:**
 +
 +При использовании сложных эффектов,​ таких как alpha blending или blurring, прямоугольник рисуется только используя цвет границы. Если вы укажите цвет фона, то возьмется цвет границы.
 +  * //ALPHA// — интервал ​ 0-255.
 +  * //EXPAND// — расширить прямоугольник на столько-то пикселей.
 +  * //BLUR// — размазать (заблёрить) изображение с таким-то значением.
 +  * //WIDTH// — ширина границы (рисуется цветом границы). Значение по умолчанию — 1, если не отключено при помощи pencolor-null. Установка значения в 0 не отключает границу (значение остается 1).
 +
 +Пример:​
 +<code tagz>​$drawrect(,,,,​pencolor-0-0-255 brushcolor-null width-2 alpha-100 blur-2)</​code>​
 +
 +====Другие функции====
 +===Поля TrackInfo ===
 +%_trackinfo_mode%
 +%_trackinfo_notrack%
 +
 +Следующие функции возвращают ширину и высоту текста:​
 +
 +  $calcwidth(//​Text1//​)
 +  $calcheight(//​Text1//​)
 +
 +  $calcwidth(%artist%) не возвращает не длину //​%artist%//,​ а скорее ширину текста,​ хранимого в теге artist.
 +
 +===Проверка на выбор файла===
 +Если курсор в плейлисте стоит на элементе (треке).
 +
 +  %_selected%
 +
 +Пример:​
 +  $if(%_selected%,​$drawrect(2,​1,​$sub(%_width%,​4),​16,​brushcolor-233-243-247 pencolor-203-233-246))
 +
 +===Проверка на существование файла===
 +
 +  $fileexists(//​Путь к файлу//​)
 +
 +Следующий пример ищет //​folder.*//​ где расположены музыкальные файлы:
 +
 +  $if($fileexists($replace(%path%,​%filename_ext%,​folder.*),​
 +  Yes
 +  ,
 +  No
 +  )
 +  ​
 +===Вычисление размеров панели===
 +  %_height%
 +  %_width%
 +  ​
 +  ​
 ===== Наши статьи ===== ===== Наши статьи =====
   * [[foobar2000:​plugins:​ui:​panelsui:​eval function]]   * [[foobar2000:​plugins:​ui:​panelsui:​eval function]]
Строка 26: Строка 412:
  
 ===== Ссылки ===== ===== Ссылки =====
-  * [[http://​users.bowie-cass.com/​singa/​foo_ui_panels.zip|Скачать]]+  * [[http://​users.bowie-cass.com/​singa/foobar/bin/​foo_ui_panels.zip|Скачать]] 
   * [[http://​wiki.hydrogenaudio.org/​index.php?​title=Foobar2000:​Components_0.9/​Panels_UI_%28foo_ui_panels%29/​Change_log|Changelog]]   * [[http://​wiki.hydrogenaudio.org/​index.php?​title=Foobar2000:​Components_0.9/​Panels_UI_%28foo_ui_panels%29/​Change_log|Changelog]]
   * [[http://​www.hydrogenaudio.org/​forums/​index.php?​showtopic=52465|Дискуссионная страница плагина]] (англ.)   * [[http://​www.hydrogenaudio.org/​forums/​index.php?​showtopic=52465|Дискуссионная страница плагина]] (англ.)
-  * [[http://foobar2000.ru/forum/index.php/topic,​726.0.html|Обсуждение плагина на нашем форуме]] +  * [[http://wiki.hydrogenaudio.org/index.php?​title=Foobar2000:​Components_0.9/Panels_UI_%28foo_ui_panels%29#​Description|Panels UI на Hydrogenaudio]]
- +
foobar2000/plugins_for_0.9.x/foo_ui_panels_foo_ui_panels.1172799387.txt.gz · Последние изменения: 2007/03/02 04:36 (внешнее изменение)