Panels UI - Commands 中文版

尘飏 发表于 2008-08-22 12:13:57

 

Foobar2000:Components 0.9/Panels UI (foo ui panels)/Commands
这个命令参考包含了Panels UI专有的titleformat函数和变量的信息,其中的很多使用了在Panels UI版本0.14.10中介绍的新语法。
这一节的函数允许以不同的方法指定颜色,但每个函数都使用BGR十六进制格式返回其值。
1.1.1 $c(r,g,b)
返回由RGB格式指定的颜色,其中rgb是颜色的红、绿和蓝组成部分。
1.1.2 $color(r,g,b)
参阅$c()
1.1.3 $h(h,s,l)
返回由HSL格式指定的颜色,其中hsl是颜色的色相、饱和度和亮度组成部分。
1.1.4$hexcolor(c)
返回由RGB十六进制格式指定的颜色,其中c是一个6位的RGB十六进制值。
1.1.5 $blendcolor(a,b,n)
返回一个由n%的颜色a加上(100-n)%的颜色b组成的新颜色。
1.1.6 $syscolor(n)
返回元素n的当前系统颜色,其中n是一个在030间的整数值。参阅MSDN Library对每个值的描述。
1.2 对齐函数
1.2.1 $alignabs()
重置对齐。因为相对于$alignabs一切都是对齐的,一个空的$alignabs()函数要摆脱以往的$alignabs声明。
1.2.2 $alignabs(x,y)
调整对齐以便x被添加到左边缘,且x是被从对齐矩形的右边缘减去的。y是被添加到上边缘的,且y是被从对齐矩形的下边缘减去的。
parameters
x
边界对齐矩形的X轴坐标;这个整数值x是被添加到边界对齐矩形的左边缘的,并被从边界对齐矩形的右边缘减去。
y
边界对齐矩形的y轴坐标;这个整数值y是被添加到边界对齐矩形的上边缘的,并被从边界对齐矩形的下边缘减去。
notes
$alignabs(0,0)$alignabs()是一样的,将由此重置对齐。
1.2.3 $alignabs(x,y,w,h[,h-align,v-align])
设置一个边界对齐矩形。
parameters
x
边界矩形的左上角X轴坐标
y
边界矩形的左上角Y轴坐标
w
边界矩形的宽度
h
边界矩形的高度
h-align
默认的水平对齐,由下列属性之一来指定:
*                   left
*                   center
*                   right
v-align
垂直对齐,由下列属性之一来指定:
*                   top
*                   middle
*                   bottom
1.2.4 $align(position[,position])
在一条线内对齐文本。
parameters
position
position可以是下列属性之一:
*                   right
*                   center
*                   left
*                   top
*                   middle
*                   bottom
1.2.5 $lineheight(n)
设置当前行占有的高度,其中n是一个整数值。
1.2.6 $wordwrap()
包装文字使其同一行放不下时进入下一行而非添加省略号。$char(10)会使$wordwrap()无效。
1.2.7 $tabx(n)
n像素缩进文本,其中n是一个正整数值。
1.2.8 $width()
返回当前对齐矩形的宽度
1.2.9 $height()
返回当前对齐矩形的高度
1.3 字体函数
这些函数设置字体的属性和外观。
1.3.1 $font(name,size[,options])
指定字体的属性。包括字型、字号和字体样式。
parameters
name
字体的名字
size
以像素为单位的字体的大小
options
options可以是下列属性的任意组合:
*                      bold
*                      thin
*                      italic
*                      strikeout
*                      underline
*                      nocleartype
禁用ClearType的渲染
*                      textalpha,n
*                      effectcolor,c
*                      alpha,n
*                      offset,n
*                      glow,n
*                      radius,n
*                      iterations,n
notes
使用Panels UI配置窗口里的效果对话框,options参数能被应用文本“效果”属性。一个内置预览允许容易地调整这些属性。
example
$font(Calibri,20,bold,textalpha,100)
see also
$fontexists()
1.3.2 $addcharspace(n)
使每个字符的宽度增加n像素,其中n是一个正的或负的整数值。简而言之,$addcharspace()n像素增加或减少每个字符间的空白。
1.3.3 $fixedwidth(n)
为每个字符设置一个不变的“固定”间距,其中n是一个以像素为单位的正数或整数值。简而言之,每个字符都会有n像素的等宽间距。
1.3.4 $textcolor(c)
设定文本的颜色,其中c可以是一个BGR十六进制颜色值(从一种颜色函数返回)或一个格式为rgbRGB颜色值。
examples
1、使用一种颜色函数设置颜色为红。
 $textcolor($hexcolor(FF0000))
2、直接输入一个RGB颜色值设置颜色为红。
$textcolor(255,0,0)
1.3.5 $smallcaps(large font,small font,text)
以“small-caps”形式返回texttext里的大写字母使用large font返回,而小写字母用small font返回。large fontsmall font使用字体函数定义,例如$font()$textcolor(),等等。
example
指定的短语将被以“samll-caps”形式返回。large fontCalibri,20和蓝色(255,0,0)。small fontCalibri,15和红色(0,0255)。
// In this example a $textcolor() is specified but it is not required;
在这个例子中$textcolor()是明确声明的,但它不是必须的;
// it would otherwise inherit the last defined $textcolor() function.
若未明确声明,它将继承最后的$textcolor()函数。
 
$smallcaps(
     $font(Calibri,20)$textcolor(255,0,0),
     $font(Calibri,15)$textcolor(0,0,255),
     This text will be output using small-caps.
)
1.4 图像和形状函数
1.4.1 $imageabs(x,y,filename[,options])
显示一个以下被支持格式的图像:PNGBMPGIFJPEGICO
parameters
x
X轴坐标的左上角位置
y
Y轴坐标的左上角位置
filename
使用绝对或相对路径表示的图像文件名。要使用相对路径,需将正斜杠“/”作为第一个字符。
例如:/MyLayout\images\example.jpg
options
options可以是下列属性的任意组合:
*                   alpha,n
图像的不透明度,其中整数值n可以介于0(完全透明)到255(完全不透明)间。没有明确声明alphan,n属性,图像就是完全不透明的。
*                   clip,x,y,w,h
依据给定的参数修剪图像:
x
图像将被修剪到的X轴坐标的左上角位置
y
图像将被修剪到的Y轴坐标的左上角位置
w
图像的修剪宽度
h
图像的修剪高度
*                   nokeepaspect
重设尺寸时忽略高宽比率。
*                   resize,w,h
使用w参数和h参数指定的高宽比例重设图像的尺寸,其中wh是以像素为单位的宽度和高度。要重设尺寸的图像大于其原始尺寸时,nokeepaspect属性必须指定。
*                   rotateflip,n
1rotateflip

n
Description
1
Rotate 90° clockwise
2
Rotate 180° clockwise
3
Rotate 270° clockwise
4
Flip horizontal
5
Rotate 90° clockwise and flip horizontal
6
Flip vertical
7
Rotate 90° clockwise and flip vertical

2、用乘法表格式表示的ratateflip

×
Flip Horizontal
Flip Vertical
Flip Horizontal+Vertical
None
Rotate 90° CW
5
7
3
1
Rotate 180° CW
6
4
0
2
Rotate 270° CW
7
5
1
3
None
4
6
2
0

example
x,y位置0,0显示一个图像,重设尺寸为50 x 50像素,并忽略高宽比,使用不透明度150
$imageabs(0,0,
     /images\example.jpg,
     resize,50,50,
     nokeepaspect,
     alpha,150
)
1.4.2 $rectabs(x,y,w,h[,brush color,pen color,options])
绘制一个矩形。
parameters
x
X轴坐标的左上角位置
y
Y轴坐标的左上角位置
w
矩形的宽度
h
矩形的高度
brush color
用于填充矩形的颜色,使用一种颜色函数定义。null属性使用无颜色定义brush color
pen color
边沿颜色,使用一种颜色函数定义。null属性使用无颜色定义pen color
options
options可以包括下列属性的任意组合:
*                   alpha,n
矩形的不透明度,其中整数值n可以介于0(完全透明)到255(完全不透明)间。没有明确声明alphan,n属性,矩形就是完全不透明的。
*                   glow,n
*                   radius,n
*                   iterations,n
notes
当使用高级的选项,如alpha,n,矩形被使用pen color填充,而非brush color然而,如果brush color被定义为null,仅有的一个边沿将被照常画出。
example
x,y位置5, 5创建一个矩形,使用75像素X75像素的宽度和高度。该矩形是红色的($c(255,0,0)),pen color(边沿)被使用null忽略。
$rectabs(0,5,
     75,75,
     $c(255,0,0),
     null
)
1.5 永久变量函数
永久变量(简称为PVARS)是在foobar2000会话中永久地保持其值的变量。这些变量可以在整个Panels UI的任何地方被操作(Panels UI本身、Track Display、单栏播放列表和媒体库过滤器)。

code
output
$getpvar(foo,bar)
$setpvar(foo,bar)
$getpvar(foo)
$getpvar(Foo)
$setpvar(foo,2000)
$getpvar(foo)
[unknown pvar]
 
bar
bar
 
2000

重要提示,PVARS无法使用核心foobar2000变量操作方法来访问,例如$put()$puts()$get()
1.5.1 $getpvar(name)
返回最后存储在名为namePVAR中的值。.如果该变量是未定义的,将返回字符串[未知pvar]
example
检索一个PVAR里的值去设立三个可能的情况。
$select($getpvar(display),
     Scenario one
,
     Scenario two
,
     Scenario three
)
1.5.2 $setpvar(name,value)
在名为name的变量里存储永久的值,无返回值。
example
在一个名为displayPVAR里存储值2
$setpvar(display,2)
1.6 其它函数
1.6.1 $calcheight(s)
返回以像素为单位的字符串s的高度。
1.6.2 $calcwidth(s)
返回以像素为单位的字符串s的宽度。
1.6.3 $eval(expression)
为一个数学表达式赋值并返回这个值。如果一个非整数的值用来作为操作数,该非整数值会被转换为0错误由返回值-1来指示。
parameters
expression
expression可以包括正整数值的操作数和下列任何一种数学运算符:

Operator
Description
+
Addition
-
Subtraction
*
Multiplication
/
Division
@
Modulus (Returns remainder after division)
{ }
Parentheses (Curly brackets act as parentheses)

example
$eval(
    {%_width%/3}+$get(myVariable)
)
1.6.4 $fileexists(file)
如果file存在返回true,否则返回false
example
下面是一个判断音乐文件夹中是否存在folder.*的例子:
$if($fileexists($replace(%path%,%filename_ext%,folder.*)),
//   True
     The file exists
,
//   False
     The file does not exist
)
1.6.5 $fontexists(name)
如果名为name的字体存在返回true,否则返回false
1.6.6 $newsyntax()
跳过在版本0.14.10前的废弃的函数和语法的处理,从而能充分利用较新的函数和语法。简而言之,废弃的函数将不会被识别。
notes
该函数必须在// Global重绘区里使用。
1.7 特有字段
1.7.1 %_height%
返回以像素为单位的当前面板高度。
1.7.2 %_width%
返回以像素为单位的当前面板宽度。
1.7.3 %foobar_path%
返回foobar2000安装目录的完整路径名。
1.7.4 %glass%
如果支持$glass()函数返回true,否则返回false
1.7.5 %playlist_name%
返回当前播放列表的名字。
1.7.6 %sortgroup%
返回当前的“Sort/Group”预置或规范集的名字。
1.7.7 %sortgroup_preset_count%
返回“Sort/Group”预置的序号。

2
音轨显示面板特有

这些titleformat函数是Track Display面板独有的,包括了主要的Panels UI面板。
2.1 重绘类型
重绘类型允许titleformat脚本被更高效地处理,方式是依照不同的刷新率需要将titleformatting代码分别放在不同的区域。重绘类型声明是大小写和语法敏感的,且每个面板只能声明一次。
2.1.1 // Global
// Global重绘类型区声明最好声明全局值。
2.1.2 // Background
// Background重绘类型区声明最适合放只绘制一次的代码,例如图像。
2.1.3 // PerTrack
// PerTrack重绘类型区声明适合放每音轨改变的值,例如%album%%artist%和任何按钮函数。
2.1.4 // PerSecond
// PerSecond重绘类型区声明适合放需要每秒更新的值,例如%playback_time%
example
// Global
$if($meta_test(album artist),
     $puts(album_is_va,1)
)
$puts(fontStyle,Calibri,20,bold)
 
// Background
$imageabs(0,0,/images\background.png)
 
// PerTrack
Current song information: %artist% - %title%
$imagebutton(20,20,
     /images\play.png,
     /images\play_hover.png,
     'Play or Pause')
 
// PerSecond
$font($get(fontStyle))
%playback_time%
2.2 按钮函数
按钮是交互式的矩形热点,能用来服务于各种功能。包括变量操作、按钮特有的命令的执行,和包括masstagger脚本、meattag值、主菜单命令在内的各种foobar2000操作的执行和处理,等等。按钮必须在// PerTrack重绘类型区里使用。
2.2.1 $imagebutton(x,y,image,hover image,command[,options])
创建一个基于按钮的图像。
parameters
x
左上角X轴坐标
y
左上角Y轴坐标
image
按钮在未激活状态时被显示的图像的绝对或相对路径。
hover image
按钮在激活状态时被显示的图像的绝对或相对路径。简而言之,该图像在鼠标指针悬停在按钮上时被显示。
command
具体指定被按下时按钮的操作。Command可以包括下列之一:
*                   
foobar2000的命令组中的一个主菜单项或上下文菜单项。例如,播放或暂停、参数设置、删除重复的等。这些项目的准确列表可以在Panels UI配置窗口中点击“Main”和“Context”按钮,再通过下拉列表找到。
*                   EXEC
执行命令。
例如:EXEC:'http://www.google.com/search?q='$replace(%artist%, ,+)打开一个Web浏览器窗口定位到指定的URL
*                   FILTER:name|value:name2|value2: ...
为播放列表显示一个过滤用的上下文菜单。
value域使用!source!,将显示一个可以切换播放列表的子菜单。
*                   MENU
显示一个foobar2000主菜单的上下文菜单。
*                   PLAYLISTS-MENU
在一个上下文菜单里显示一个所有播放列表的列表。
*                   POPUP:name
打开一个新的Panels UI窗口,其中name是一个PUI文件的名字。如果没有PUI文件存在,将在布局的Panels UI文件夹里创建一个以指定的name命名的文件。
*                   PVAR:SET:name:value
设置一个永久变量。其中name被操作的该变量的名字,value是上述变量的值。
*                   SORT:name|value:name|value + $filtered(name) + $sorted(name): ...
为播放列表显示一个排序上下文菜单。
*                   SORTGROUP-PRESETS-MENU
显示一个“Sort/Group”预置上下文菜单。
*                   TAG:operation:tag:value
操作一个标签元数据。
operation
operation指出如何操作tagvalue。它必须是下列之一:
*                   SET
用指定的value创建或修改tag。该SET属性应使用在大多数情况下。
value将删除tag例如:TAG:SET:rating:删除rating标签。
*                   ADD
只用它指定的value创建tag不改变已存在的标签。
*                   REMOVE
如果指定的value存在只移除tag
tag
元数据字段名(标签的名字)
value
元数据值(标签值)
*                   WINDOWSIZE:width:height[:h-anchor:v-anchor]
使用锚点选项设定主窗口尺寸。
width
窗口的宽度
height
窗口的高度
h-anchor
水平锚点,其中h-anchor可以是下列之一:
*                   LEFT
*                   RIGHT
v-anchor
垂直锚点,其中v-anchor可以是下列之一:
*                   TOP
*                   BOTTOM
options
options可以包括:
*                   tooltip,text
指定按钮的工具提示,其中text定义工具提示。在默认情况下,如果这个可选的tooltip,text属性未指定,工具提示能使用command参数的值作为工具提示text。使用空text值的工具提示属性将禁用工具提示,例如:tooltip,
*                   hotspot,x,y,w,h
指定按钮的可点击区域的坐标。当这个可选的hotspot,x,y,w,h属性未包括时,整个按钮区域都是可点击的。
x
热点的左上角X轴坐标
y
热点的左上角Y轴坐标
w
以像素为单位的热点的宽度
h
以像素为单位的热点的高度
examples
1、使用图像rating_star.png和悬停图像rating_star_hover.pngx,y坐标5,10创建一个按钮。该按钮的command设置一个名为ratingtag字段的值为5工具提示被用一个空的tooltip值禁用。图像或热点的可点击区域是25 x 25像素大小,位于左上角的图像的最角落0,0
$imagebutton(5,10,
     /images\rating_star.png,
     /images\rating_star_hover.png,
     TAG:SET:rating:5,
     tooltip,,
     hotspot,0,0,25,25,
)
2创造一个按钮图标来调整foobar2000窗口的尺寸为400 x 500像素。
$imagebutton(0,0,
     /images\resize.png,
     /images\resize_hover.png,
     WINDOWSIZE:400:500:LEFT:TOP,
     tooltip,'Resize window'
)
2.2.2 $textbutton(x,y,w,h,text,hover text,command[,options])
创建一个以文字为基底的按钮。$textbutton()使用和$imagebutton()相同的命令和选项参数;参见$imagebutton()关于commandoptions参数的描述。
parameters
w
以像素为单位的按钮宽度
h
以像素为单位的按钮高度
text
在按钮处于未激活状态时被显示的文本。能包括字体变化、矩形,还有图像。
hover text
在按钮处于激活状态时被显示的文本。简而言之,该文本在鼠标指针悬停在按钮上时被显示。
examples
x,y坐标0,0 .创建一个按钮,150 x 14像素的宽度和高度。.处于处于处于非活动状态时,按钮显示文本Click for preferences。当鼠标指针悬停在该按钮上时,文字颜色更改为蓝色。当按钮被按下时,foobar2000参数设置窗口被打开。
$textbutton(0,0,
     150,14,
     Click for preferences,
     $textcolor(0,0,255)Click for preferences,
     Preferences
)
2.3 窗口函数
2.3.1 $glass(left,top,right,bottom)
扩展Vista Aero Glass边框,其中lefttoprightbottom是整型的、以像素为单位的边框值。例如,$glass(0,0,0100)将用100像素扩展底部的Aero Glass边框。
notes
该函数只在Microsoft Windows Vsta上有效。
see also
%glass%
2.3.2 $settitle(s)
设置窗口标题为字符串s
2.3.3 $settray(s)
设置任务栏通知区的托盘工具提示为字符串s
2.3.4 $windowstyle(option[,option])
设置foobar2000窗口的特性。$windowstyle()应该被放在// Background重绘区。
parameters
option
option能包括下列标志之一:
*                   hidetitlebar
隐藏标题栏
*                   showtitlebar
显示标题栏
notes
目前,该option参数只有两个属性。不过,未来的版本可能扩大option调色板,以包含一个“总在最上层”和“重设窗口尺寸”属性。
2.4 其它函数
2.4.1 $panel(id,name,x,y,width,height)
Panels”按钮被激活时可用组件的下拉列表视图。
添加一个组件(称为一个面板)到布局。面板能重叠另一个面板,例如Track Display面板。不过,个别的面板总是被绘制在随后的面板上。
parameters
id
用于识别面板的一个用户定义的字符串。推荐用这个名称来描述面板,但它可以是任何含义。
name
被添加的组件的名称。
查询配置窗口里的下拉列表(激活Panels”按钮)准确的大小写敏感的语法。只有组件的在其前缀范畴外的名称是必须的。.例如“Album Art”的正确指定是Album Art,不是Panels / Album Art
x
面板的左上角X轴坐标,其中x是一个整数值。
y
面板的左上角Y轴坐标,其中y是一个整数值。
width
以像素为单位的面板的宽度。
height
以像素为单位的面板的高度。
example
创建一个Peakmeter组件的名为MyPanel的面板。该MyPanel面板显示在x,y坐标0,0,宽度为100像素,高度为500像素。
$panel(MyPanel,Peakmeter,0,0,100,500)
2.4.2 $sortgroup_preset(n)
返回“Sort/Group”预置n的名字。
2.5 特有字段
2.5.1 %_trackinfo_mode%
返回面板的当前模式,Now PlayingFollow Cursor
2.5.2 %_trackinfo_notrack%
在没有可用的音轨信息向面板提供时返回trueNow Playing模式,这在播放停止时是trueFollow Cursor模式,这始终是false

3
单栏播放列表特有

这些是单栏播放列表面板独有的titleformat函数和变量。
3.1 组信息
3.1.1$info_sum(field)
在一个组里的所有音轨的field总和
3.1.2 $meta_sum(field)
在一个组里的所有音轨的field总和
3.1.3 %focused%
3.1.4 %selected%
3.1.5 %group_index%
3.1.6 %group_count%

4
媒体库过滤器特有

这些是媒体库过滤器面板独有的titleformat变量。
4.1 组信息
4.1.1 %expanded%
4.1.2 %selected%
4.1.3 %sub_index%
4.1.4 %max_index%
4.1.5 %track_count%
4.1.6 %child_count%
 
关键词(Tag): fb2k pui 0.14.10+

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论


  • 游客
    2008-08-28 16:04:34 匿名 116.1.*.*

    很强大,辛苦了!


  • jjaucd
    2008-11-15 06:05:17 匿名 58.253.*.*

    虽然我看不懂,还是谢谢你

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定