Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels [2007/03/15 08:50] 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-версий). |
===== Возможности ===== | ===== Возможности ===== | ||
Строка 15: | Строка 15: | ||
{{ foobar2000:plugins_for_0.9.x:foo_ui_panels.jpg?200|Одна из конфигураций под Panels UI}} | {{ foobar2000:plugins_for_0.9.x:foo_ui_panels.jpg?200|Одна из конфигураций под Panels UI}} | ||
+ | |||
===== Установка ===== | ===== Установка ===== | ||
- | Установка стандартна: [[http://users.bowie-cass.com/singa/foo_ui_panels.zip|скачайте последнюю версию]] и разархивируйте dll-файл в [[foobar2000:directories|папку компонентов плеера]]. При апдейте убедитесь, что сохранили старые конфигурации 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 | * 0.7.5 | ||
* Tooltips for buttons. (add TOOLTIP:mytooltip or TOOLTIP:”my tooltip” to override the default) | * Tooltips for buttons. (add TOOLTIP:mytooltip or TOOLTIP:”my tooltip” to override the default) | ||
Строка 39: | Строка 90: | ||
==== Область редактирования ==== | ==== Область редактирования ==== | ||
- | Для облегчения кодирования начиная с версии 0.3.0 в область кодирования встроен редактор с возможностью подсветки на базе scintilla. | + | Для облегчения кодирования начиная с версии 0.3.0 в область кодирования встроен редактор с возможностью подсветки на базе scintilla. |
Чтобы изменить размер шрифта в области редактирования, нажмите <key>Ctrl</key>+колесо мышки вверх/вниз. | Чтобы изменить размер шрифта в области редактирования, нажмите <key>Ctrl</key>+колесо мышки вверх/вниз. | ||
Строка 91: | Строка 142: | ||
$panel(ID,Name,x,y,width,height,options) | $panel(ID,Name,x,y,width,height,options) | ||
- | * **ID** — идентификатор. | + | * **ID** — идентификатор. |
* **Name** — название компонента. Для дополнительного синтаксиса обратитесь к выпадающему меню((Нажмите кнопку ''Panels'' и кликните по выпадающему списку ниже.)) в окне конфигурирования Panels UI. | * **Name** — название компонента. Для дополнительного синтаксиса обратитесь к выпадающему меню((Нажмите кнопку ''Panels'' и кликните по выпадающему списку ниже.)) в окне конфигурирования Panels UI. | ||
* **x & y** — указывают позицию панели (значения могут быть отрицательными). | * **x & y** — указывают позицию панели (значения могут быть отрицательными). | ||
Строка 124: | Строка 175: | ||
</code> | </code> | ||
* Переменные, подобные общим [[foobar2000:tittleformatting#operacii_s_peremennymi|операциям с переменными]] ($put, $puts & $get) и добавленной возможностью хранить свои значения постоянно. | * Переменные, подобные общим [[foobar2000:tittleformatting#operacii_s_peremennymi|операциям с переменными]] ($put, $puts & $get) и добавленной возможностью хранить свои значения постоянно. | ||
- | * Могут быть назначены/вызваны отовсюду внутри Panels UI (Panels UI + Track Display и Single Columns Playlist). | + | * Могут быть назначены/вызваны отовсюду внутри Panels UI (Panels UI + Track Display и Single Columns Playlist). |
**Пример:** | **Пример:** | ||
Строка 165: | Строка 216: | ||
===Обычное выравние текста=== | ===Обычное выравние текста=== | ||
- | **$align(H,V)** | + | <code tagz>$align(H,V)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |**(H)orizontal**|Горизонально. Может принимать значения ''left, center'' и ''right'' (слева, по центру или справа).|| | + | |(H)orizontal|Горизонально. Может принимать значения ''left, center'' и ''right'' (слева, по центру или справа).| | |
- | |**(V)ertical**|Вертикально. Может принимать значения ''top, middle'' и ''bottom'' (сверху, по середине или снизу).|''top'' будет проверяться на перезапись.| | + | |(V)ertical|Вертикально. Может принимать значения ''top, middle'' и ''bottom'' (сверху, по середине или снизу).|''top'' будет проверяться на перезапись.| |
Если с помощью этой функции выравнять несколько раз подряд (например, ''$align(left,middle)'' больше чем один раз), то выравнивание будет происходить с той же точки отсчета. | Если с помощью этой функции выравнять несколько раз подряд (например, ''$align(left,middle)'' больше чем один раз), то выравнивание будет происходить с той же точки отсчета. | ||
Строка 176: | Строка 227: | ||
Примечание: эта функция нормально работает только в секции [[foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels#tipy_otrisovki|PerSecond]]. | Примечание: эта функция нормально работает только в секции [[foobar2000:plugins_for_0.9.x:foo_ui_panels_foo_ui_panels#tipy_otrisovki|PerSecond]]. | ||
- | **$alignset() - $alignrel(H,V)** | + | <code tagz>$alignset() - $alignrel(H,V)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |**(H)orizontal**|Горизонтально. Может принимать значения ''left, center'' и ''right'' (слева, по центру или справа).|| | + | |(H)orizontal|Горизонтально. Может принимать значения ''left, center'' и ''right'' (слева, по центру или справа).| | |
- | |**(V)ertical**|Вертикально. Может принимать значения ''top, middle'' и ''bottom'' (сверху, по середине и внизу).|''top'' будет проверяться на перезапись.| | + | |(V)ertical|Вертикально. Может принимать значения ''top, middle'' и ''bottom'' (сверху, по середине и внизу).|''top'' будет проверяться на перезапись.| |
- | |**$alignset()**|Устанавливает точку отсчета для ''$alignrel(H,V)''.|Может применяться как замена функции ''$char(10)'', работает для всех следующих ''$alignrel(H,V)''.| | + | |$alignset()|Устанавливает точку отсчета для ''$alignrel(H,V)''.|Может применяться как замена функции ''$char(10)'', работает для всех следующих ''$alignrel(H,V)''.| |
Например: | Например: | ||
- | $alignrel(left,middle) //Линия1_слева// $alignrel(center,middle) //Линия1_по_центру// $alignset() $alignrel(right,middle) //Линия2_справа// | + | <code>$alignrel(left,middle) //Линия1_слева// $alignrel(center,middle) //Линия1_по_центру// $alignset() $alignrel(right,middle) //Линия2_справа//</code> |
===Чтобы выравнять текст абсолютно (без проверки на перезапись текста)=== | ===Чтобы выравнять текст абсолютно (без проверки на перезапись текста)=== | ||
- | **$alignabs(X,Y,w,h,H,V)** | + | <code tagz>$alignabs(X,Y,w,h,H,V)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |**X & Y**|Координаты позиции границ прямоугольника в котором будет происходить выравнивание|Значения могут быть отрицательными.| | + | |X & Y|Координаты позиции границ прямоугольника в котором будет происходить выравнивание|Значения могут быть отрицательными.| |
- | |**(W)idth & (H)eight**|Ширина и высота прямоугольника в котором будет происходить выравнивание текста.|| | + | |(W)idth & (H)eight|Ширина и высота прямоугольника в котором будет происходить выравнивание текста.| | |
- | |**H & V**|см. таблицу выше||. | + | |H & V|см. таблицу выше| |. |
//Примечание: $alignabs(**H**,**V**) может быть использована для относительного выравнивания без проверки на перезапись.// | //Примечание: $alignabs(**H**,**V**) может быть использована для относительного выравнивания без проверки на перезапись.// | ||
Строка 199: | Строка 250: | ||
====Стили шрифтов==== | ====Стили шрифтов==== | ||
- | **$font(NAME,SIZE,OPTIONS,COLOR)** | + | <code tagz>$font(NAME,SIZE,OPTIONS,COLOR)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |**NAME**|Название шрифта.|| | + | |NAME|Название шрифта.| | |
- | |**SIZE**|Размер шрифта.|| | + | |SIZE|Размер шрифта.| | |
- | |**OPTIONS**|Опции. Могут иметь значение ''bold, italic, underline, strikeout, nocleartype, glow-'' и ''shadow''| Также, возможно совмещать значения, например, //"bolditalicunderlineglow-"// даст комбинацию этих эффектов. Значения по-умолчанию для ''glow'' — glowexpand-2 и glowblur-2.| | + | |OPTIONS|Опции. Могут иметь значение ''bold, italic, underline, strikeout, nocleartype, glow-'' и ''shadow''| Также, возможно совмещать значения, например, //"bolditalicunderlineglow-"// даст комбинацию этих эффектов. Значения по-умолчанию для ''glow'' — glowexpand-2 и glowblur-2. Подробности в таблице ниже.| |
- | |**COLOR**|Цвет. Цвет шрифта указывается в пространстве R-G-B.|Например, 255-0-0 даст красный цвет.| | + | |COLOR|Цвет. Цвет шрифта указывается в пространстве R-G-B.|Например, 255-0-0 даст красный цвет. Используйте //SYSCOL-x// для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?.| |
- | bold | + | **Параметры OPTIONS:** |
- | italic | + | |
- | underline | + | |
- | strikeout | + | |
- | uppercase | + | |
- | lowercase | + | |
- | nocleartype | + | |
- | fixedwidth-x | + | |
- | glow-R-G-B | + | |
- | Используйте //SYSCOL-x// для использования стандартных цветов из вашей темы Windows (msstyle). X — это номер цвета от 0 до ?. | + | ^Параметр ^Пример ^Примечание^ |
+ | |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 (фон): | Следующий пример создаст шрифт Arial, размером 10 пикселей, жирный, с синим эффектом glow и системным цевтом номер #15 (фон): | ||
- | $font(Arial, 10, bold shadow glow-0-0-255,SYSCOL-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'', но не перед ней. | * Вы можете сохранять и восстанавливать значения переменных шрифта используя функции $put/$puts/$get (например, ''$puts(font,$font(Calibri,9,bold,100-100-100))''). Восстанавливать значения необходимо после использования функции ''$alignrel'', но не перед ней. | ||
Строка 230: | Строка 289: | ||
{{foobar2000:plugins:uie:trackinfo-font-example.png|Примеры шрифтов Single Columns Playlist}} | {{foobar2000:plugins:uie:trackinfo-font-example.png|Примеры шрифтов Single Columns Playlist}} | ||
- | ====Изображения==== | + | ====Кнопки==== |
+ | ===Сортировка=== | ||
+ | ===Тегирование=== | ||
+ | |||
+ | ====Изображения==== | ||
+ | Поддерживает форматы изображений: PNG, BMP, GIF,JPG и ICO. | ||
===$imageabs=== | ===$imageabs=== | ||
- | $imageabs(X,Y,imageName,imageOptions) | + | <code tagz>$imageabs(X,Y,imageName,imageOptions)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |**X & Y**|Абсолютная позиция изображения с отсчетом от верхнего левого угла.|| | + | |X & Y|Абсолютная позиция изображения с отсчетом от верхнего левого угла.| | |
- | |**imageName**|Относительный путь к изображению из папки, где хранится конфигурация плеера.|Если отключена поддержка профилей, то папка конфигурации будет той же, куда установлен плеер. Однако, если включена поддержка профилей, то папка будет расположена в **C:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Application Data\foobar2000\**| | + | |imageName|Относительный путь к изображению из папки, где хранится конфигурация плеера.|Если отключена поддержка профилей, то папка конфигурации будет той же, куда установлен плеер. Однако, если включена поддержка профилей, то папка будет расположена в **C:\Documents and Settings\ИМЯ ПОЛЬЗОВАТЕЛЯ\Application Data\foobar2000\**| |
- | |**imageOptions**|Может включать в себя другие параметры, влияющие на представление изображения.|Описание параметров ниже.| | + | |imageOptions|Может включать в себя другие параметры, влияющие на представление изображения.|Описание параметров ниже.| |
Параметры **imageOptions**: | Параметры **imageOptions**: | ||
Строка 249: | Строка 313: | ||
Пример: | Пример: | ||
- | $imageabs(0,0,%папка_конфигурации_foobar%\картинки\моя_картинка.png,flow alpha-150) | + | <code tagz>$imageabs(0,0,%папка_конфигурации_foobar%\картинки\моя_картинка.png,flow alpha-150)</code> |
===$imageabs2=== | ===$imageabs2=== | ||
- | **$imageabs2(areaWidth,areaHeight,imageLeft,imageTop,imageWidth,imageHeight,areaLeft,areaTop,imagePath,imageOptions)** | + | <code tagz>$imageabs2(areaWidth,areaHeight,imageLeft,imageTop,imageWidth,imageHeight,areaLeft,areaTop,imagePath,imageOptions)</code> |
^Параметр ^Определение ^Примечание^ | ^Параметр ^Определение ^Примечание^ | ||
- | |areaWidth & areaHeight|Параметры, управляющие размером изображения. Позволяют только уменьшать изображение.|| | + | |areaWidth & areaHeight|Параметры, управляющие размером изображения. Позволяют только уменьшать изображение.| | |
|imageLeft & imageTop|Указывают на позицию уменьшенного изображения от левого верхнего угла.|**imageLeft** — горизонтальная позиция **уменьшенного** изображения, **imageTop** — вертикальная позиция **не уменьшенного** изображения. Если у вас есть изображение в формате JPEG размером 300x300 пикселей, и с помощью функций **areaWidth** и **areaHeight** оно уменьшено до размера 150x150 пикселей (**imageLeft** = 75 and **imageTop** = 150), то точка в верхнем левом углу финального изображения будет центром оригинального изображения 300x300.| | |imageLeft & imageTop|Указывают на позицию уменьшенного изображения от левого верхнего угла.|**imageLeft** — горизонтальная позиция **уменьшенного** изображения, **imageTop** — вертикальная позиция **не уменьшенного** изображения. Если у вас есть изображение в формате JPEG размером 300x300 пикселей, и с помощью функций **areaWidth** и **areaHeight** оно уменьшено до размера 150x150 пикселей (**imageLeft** = 75 and **imageTop** = 150), то точка в верхнем левом углу финального изображения будет центром оригинального изображения 300x300.| | ||
|imageWidth & imageHeight|Обрезание ширины и высоты, соответственно обрезание **сжатого** изображения.|Значения, которые больше, чем расстояние от обрезанного угла до границ уменьшенного изображения будут игнорироваться (обрезание как таковое будет пропущено). При значениях равных или больших, чем 32768, изображение вовсе не будет показано.| | |imageWidth & imageHeight|Обрезание ширины и высоты, соответственно обрезание **сжатого** изображения.|Значения, которые больше, чем расстояние от обрезанного угла до границ уменьшенного изображения будут игнорироваться (обрезание как таковое будет пропущено). При значениях равных или больших, чем 32768, изображение вовсе не будет показано.| | ||
- | |areaLeft & areaTop|Расстояние, соответственно, влево и вниз, от верхнего левого угла панели до верхнего левого угла финального уменьшенного и обрезанного изображения.|| | + | |areaLeft & areaTop|Расстояние, соответственно, влево и вниз, от верхнего левого угла панели до верхнего левого угла финального уменьшенного и обрезанного изображения.| | |
|imagePath|Абсолютный или относительный путь к папке с изображениями.|Для относительных путей нужно поставить слеш ('/') в начале пути. (например, "/путь\до\изображение.jpg"). Когда будете использовать относительные пути, учтите, что корневая папка — это инсталляционная папка foobar2000.| | |imagePath|Абсолютный или относительный путь к папке с изображениями.|Для относительных путей нужно поставить слеш ('/') в начале пути. (например, "/путь\до\изображение.jpg"). Когда будете использовать относительные пути, учтите, что корневая папка — это инсталляционная папка foobar2000.| | ||
|imageOptions|Опции изображения.|Описание параметров ниже.| | |imageOptions|Опции изображения.|Описание параметров ниже.| | ||
Строка 268: | Строка 332: | ||
* //ALPHA-x//. Прозрачность изображения; указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно). | * //ALPHA-x//. Прозрачность изображения; указывается целым числом от 0 (полностью прозрачно) до 255 (непрозрачно). | ||
* //NOKEEPASPECT//. При изменении размера игнорировать пропорции изображения (aspect ratio). | * //NOKEEPASPECT//. При изменении размера игнорировать пропорции изображения (aspect ratio). | ||
- | |||
* //VALIGN-T (vertical align-TOP), VALIGN-B, HALIGN-L, HALIGN-R//. Опции выравнивания. | * //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 | | ||
Более просто: | Более просто: | ||
- | $imageabs2(Размеры сжатия,Положение угла обрезания,Размеры обрезания,Расположение панели,Путь,Опции изображения) | + | <code tagz>$imageabs2(Размеры сжатия,Положение угла обрезания,Размеры обрезания,Расположение панели,Путь,Опции изображения)</code> |
Пример: | Пример: | ||
- | $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 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) без обрезания: | Уменьшить изображение до 24x24 (изначальный размер 48х48) без обрезания: | ||
- | $imageabs2(**24**,**24**,0,0,**24**,**24**,20,20,/icons\$replace(%filename_ext%,%filename%'.',)_48x48.png,alpha-192) | + | <code tagz>$imageabs2(**24**,**24**,0,0,**24**,**24**,20,20,/icons\$replace(%filename_ext%,%filename%'.',)_48x48.png,alpha-192)</code> |
====Отрисовка прямоугольника==== | ====Отрисовка прямоугольника==== | ||
- | **$drawrect(X,Y,W,H,brushColor-R-G-B penColor-R-G-B OPTIONS)** | + | <code tagz>$drawrect(X,Y,W,H,brushColor-R-G-B penColor-R-G-B OPTIONS)</code> |
+ | ^Параметр ^Определение ^Примечание^ | ||
|X & Y|Позиция прямоугольника относительно верхнего левого угла.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''$pad''.| | |X & Y|Позиция прямоугольника относительно верхнего левого угла.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''$pad''.| | ||
|W & H|Определяет ширину и высоту прямоугольника.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''$pad''.| | |W & H|Определяет ширину и высоту прямоугольника.|Если эти параметры пропустить или выставить на ноль, то они заменятся минимальными значениями относительно ''$pad''.| | ||
Строка 299: | Строка 368: | ||
Пример: | Пример: | ||
- | + | <code tagz>$drawrect(,,,,pencolor-0-0-255 brushcolor-null width-2 alpha-100 blur-2)</code> | |
- | $drawrect(,,,,pencolor-0-0-255 brushcolor-null width-2 alpha-100 blur-2) | + | |
====Другие функции==== | ====Другие функции==== | ||
- | + | ===Поля TrackInfo === | |
- | ===Вычисление размеров=== | + | %_trackinfo_mode% |
- | Следующие функции возвращают размеры (в пикселях) элемента плейлиста или группы, в зависимости используете ли вы эти функции в **item display** или **group display** окна настроек Single Column Playlist: | + | %_trackinfo_notrack% |
- | + | ||
- | %_height% | + | |
- | %_width% | + | |
- | + | ||
- | Следующие функции возвращают индекс (номер) элемента ((Под элементом подразумевается трек в плейлисте)) в группе и количество элементов в группе: | + | |
- | + | ||
- | %_itemindex% | + | |
- | %_itemcount% | + | |
- | + | ||
- | Подобным же образом, следующие функции возвращают индекс (номер) элемента ((Под элементом подразумевается трек в плейлисте)) в плейлисте и количество элементов плейлиста: | + | |
- | + | ||
- | %list_index% | + | |
- | %list_total% | + | |
Следующие функции возвращают ширину и высоту текста: | Следующие функции возвращают ширину и высоту текста: | ||
Строка 346: | Строка 401: | ||
No | No | ||
) | ) | ||
- | + | | |
- | ===Перемещение треков или групп в плейлисте=== | + | ===Вычисление размеров панели=== |
- | + | %_height% | |
- | Нажмите <key>Alt</key> и перетащите мышкой, либо нажмите <key>Alt-вверх/вниз</key> | + | %_width% |
- | + | ||
- | ===Получение глобальных переменных Columns UI=== | + | |
- | + | ||
- | $get_global(//переменная//) | + | |
- | + | ||
- | Синтакс такой же, как и в Columns UI. | + | |
- | + | ||
- | //Примечание: для отображения глобальных переменных, возможно, потребуется перезапуск плеера.// | + | |
- | + | ||
- | ===Запрет заголовка=== | + | |
- | + | ||
- | !noheader! | + | |
- | + | ||
- | Пример: | + | |
- | //В секции 'Group by'// | + | |
- | + | ||
- | $if(%tracknumber%,%artist%,!noheader!) | + | |
- | + | ||
- | =====Советы и секреты===== | + | |
- | + | ||
- | ===Как растянуть изображение на несколько рядов=== | + | |
- | растянуть изображение на несколько рядов можно при помощи ''%tracknumber%'' или ''%list_index%'', чтобы генерировать вертикальное смещение каждый раз при прорисовке изображения на каждом ряду. Код ниже поместите item display. | + | |
- | + | ||
- | **Пример Tracknumber:** | + | |
- | + | ||
- | Этот пример использует %tracknumber% для определения расположения путем умножения высоты ряда на tracknumber: | + | |
- | + | ||
- | $imageabs(X OFFSET,$add(STARTING Y OFFSET,$mul(-ROW HEIGHT,%tracknumber%)),IMAGE DIRECTORY/IMAGE.png,) | + | |
- | + | ||
- | Например, при высоте ряда 26 пикселей и горизонтальной (x) позицией 0 и начальный вертикальным смещением 25: | + | |
- | + | ||
- | $imageabs(0,$add(25,$mul(-26,%tracknumber%)),images/test.png,) | + | |
- | + | ||
- | **Пример List Index:** | + | |
- | + | ||
- | Другой алгоритм использует ''%list_index%''. Этот пример рисует левую и правую границу single playlist column. Изображение шире, чем ширина ряда, поэтому нужно пользоваться техникой смещения. | + | |
- | + | ||
- | * Сначала определим ширину и высоту изображения: | + | |
- | + | ||
- | $puts(art.width,30) | + | |
- | $puts(art.height,60) | + | |
- | + | ||
- | * Расчитаем число рядов, необходимое для отображения изображения: | + | |
- | + | ||
- | $puts(art.num,$add($div($mul(%list_index%,%_height%),$get(art.height)),1)) | + | |
- | + | ||
- | * Используем высоту и количество изображений для генерации смещения для каждого элемента: | + | |
- | + | ||
- | $puts(art.offset,-$sub($sub($mul(%list_index%,%_height%),$mul($sub($get(art.num),1),$get(art.height))),%_height%)) | + | |
- | + | ||
- | * Используем смещение: | + | |
- | + | ||
- | $imageabs(0,$get(art.offset),images\column.left.png,) | + | |
- | + | ||
- | * Используем ширину для смещения по горизонтали для самой правой границы: | + | |
- | + | ||
- | $imageabs($sub(%_width%,$get(art.width)),$get(art.offset),images\column.right.png,) | + | |
- | + | ||
- | ===Группа, основанная на имени плейлиста=== | + | |
- | Используем компонент [[foobar2000:plugins_for_0.9.x:cwbowron_s_title_formating_foo_cwb_hooks]]: | + | |
- | + | ||
- | $if($strstr(%cwb_activelist%,'TERM'), SORT BY IF MATCH, ELSE SORT BY THIS) | + | |
- | + | ||
- | Например, | + | |
- | + | ||
- | $if($strstr(%cwb_activelist%,'-s-'), %rating%, %album%) | + | |
- | + | ||
- | Этот код группирует альбом для всех плейлистов, если в плейлисте нет '-s-'. Если -s- есть, то элементы сгруппируются по рейтингу. (Strstr сравнивает две строки чтобы проверить наличие -s- в cwb_activeplaylist) | + | |
- | + | ||
- | =====Примеры===== | + | |
- | + | ||
- | + | ||
- | ====Толкование настройки по умолчанию==== | + | |
- | + | ||
- | ===Group By=== | + | |
- | + | ||
- | * Группировка элементов по альбому: | + | |
- | + | ||
- | %album% | + | |
- | + | ||
- | ===Item Display=== | + | |
- | + | ||
- | * Рисует заполненный прямоугольник стандартным системным цветом "SYSCOL-13": | + | |
- | + | ||
- | $if(%_selected%,$drawrect(0,0,0,0,brushcolor-SYSCOL-13 pencolor-null)) | + | |
- | + | ||
- | * Рисует границу вокруг выбранного элемента цветом границы (системным цветом "SYSCOL-6"): | + | |
- | + | ||
- | $if(%_focused%,$drawrect(0,0,0,0,brushcolor-null pencolor-SYSCOL-6)) | + | |
- | + | ||
- | * Меняет текст выбранного элемента, используя разный цвет: | + | |
- | + | ||
- | $if(%_selected%,$textcolor(SYSCOL-9),$textcolor(SYSCOL-8)) | + | |
- | + | ||
- | * Устанавливает pagging рядов (horizontal, vertical): | + | |
- | + | ||
- | $padding(4,0) | + | |
- | + | ||
- | * Основной текст в каждом ряду выравнивается top left и right: | + | |
- | + | ||
- | $align(left,top)%list_index% | + | |
- | $align(right,top)%title% | + | |
- | + | ||
- | ===Group Display=== | + | |
- | + | ||
- | * Рисует прямоугольник заголовка группы | + | |
- | + | ||
- | $drawrect(0,0,0,0,brushcolor-130-130-255 pencolor-null) | + | |
- | + | ||
- | * Устанавливает pagging заголовка: | + | |
- | + | ||
- | $padding(4,0) | + | |
- | + | ||
- | * Добавляет информацию альбома, дату и данные композитора: | + | |
- | + | ||
- | $align(left,top)$font(,,bold,64-0-0)%album% '['%date%']' | + | |
- | $align(right,top)$font(,,bold,0-64-0)%composer% | + | |
- | + | ||
- | (Values displayed are always those of the first item, without regard to the values of other items in the group.) | + | |
- | + | ||
- | {{foobar2000:plugins:uie:single_column_playlist-3.png|}} | + | |
===== Наши статьи ===== | ===== Наши статьи ===== | ||
* [[foobar2000:plugins:ui:panelsui:eval function]] | * [[foobar2000:plugins:ui:panelsui:eval function]] | ||
Строка 477: | Строка 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://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panels_UI_%28foo_ui_panels%29#Description|Panels UI на Hydrogenaudio]] | * [[http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panels_UI_%28foo_ui_panels%29#Description|Panels UI на Hydrogenaudio]] | ||
- | |||
- | |||
- |