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

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


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/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]]
- 
- 
- 
foobar2000/plugins_for_0.9.x/foo_ui_panels_foo_ui_panels.1173937840.txt.gz · Последние изменения: 2007/03/15 08:50 — Spike