Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter): Difference between revisions

From Hydrogenaudio Knowledgebase
No edit summary
Line 14: Line 14:
= Read me (translated from the Japanese original) =
= Read me (translated from the Japanese original) =


foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)  
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +  
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +


Columns UI panel to place the splitter  
Columns UI panel to place the splitter
And without borders, or a little over a panel and set the highest possible degree of freedom.  
And without borders, or a little over a panel and set the highest possible degree of freedom.
Has been stable or loose?  
Has been stable or loose?


== Description ==


Add and remove panels from the basic layout of the ColumnsUI do.
They can add from the context menu.


Description
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.
Add and remove panels from the basic layout of the ColumnsUI do.
They can add from the context menu.  


Placement of the panel and automatic alignment mode, forced mode is set.
== Setting up menus and items ==
Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place.
forced layout mode that is placed on the force placed on the panel.


=== PanelList ===
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)
* lock size: a place without scaling.
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.
** ± 1 to lock the current situation that would blur pixel minutes.
** -> So hard to fix, could not fix.


size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)
* forced layout: left Top width right under it to force the panel to be placed in the specified range.
lock size: a place without scaling.
(size and auto-scaling is disabled)
              off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.  
              ± 1 to lock the current situation that would blur pixel minutes.
              -> So hard to fix, could not fix.


forced layout: left Top width right under it to force the panel to be placed in the specified range.  
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.
              (size and auto-scaling is disabled)  
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.
Example:
left: $div(%_width%,4)
top: $div(%_height%,4)
width: $div(%_width%,2)
height: $div(%_height%,2)


              If you stacked the panel appears on the front panel as a list of the top panel
Also, Splitter mode to specify a value relative to size.
              (But depends on the implementation of the child panel. I have come to the front panel profusely.)
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.
              Title Formatting is enabled.
use percentage value of setting example:
              % _width%% _height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.  
left: 25
              Example:  
top: 25
              left: $ div (% _width%, 4)
width: 50
              top: $ div (% _height%, 4)
height: 50
              width: $ div (% _width%, 2)
              height: $ div (% _height%, 2)


              Also, Splitter mode to specify a value relative to size.
              is on the use parsentage value is, Splitter percentage for the size of the [0-100] can be specified.
              use parsentage value of setting the example on:
              left: 25
              top: 25
              width: 50
              height: 50


* padding: Add a space around the panel.
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be


padding: Add a space around the panel.
* caption: The name of the panel, the identifier
              Title Formatting to put the numbers are fixed, so invalid.  
* use background color: the color specified, the background fill.
              If the automatic alignment panels, padding can be resized with the mouse as if the border is set.  
* use image: specify a fixed background image. TitleFormatting is disabled.
              enable resizable border with on / off can be
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)


caption: The name of the panel, the identifier
[Note]
use background color: the color specified, the background fill.
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.
use image: specify a fixed background image. TitleFormatting is disabled.
pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)


[Note]
=== Script Tab ===
  ColumnsUI in the panel is to present the panel with the transparent background feature,
  use background color or use image backgrounds are often not transparent and does not use the panel.


titleformat mode on startup: when you start the TitleFormat PerTrack modes.
* now playing TF play that track
* follow cursor on the selected tracks in playlist
* last mode at the end of the previous mode (the switch mode button to save)


titleformat mode on startup: when you start the TitleFormat PerTrack modes.
      now playing TF play that track
      follow cursor on the selected tracks in playlist
      last mode at the end of the previous mode (the switch mode button to save)


title formatting script:  
* title formatting script:
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.  
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.


Extended Command Reference  
Extended Command Reference
Sensitive argument, or optional, and not implemented.  
Sensitive argument, or optional, and not implemented.
Note: Do not waste the space. (Carriage return accepted)  
Note: Do not waste the space. (Carriage return accepted)


in title formatting script is evaluated,  
in title formatting script is evaluated,
Today  
* Today
Per Track: track and play and play・When the user changes the size of the state changed when paused. Function when the REFRESH button.  
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.
Per Second: second, when a change in the state play in the function when the REFRESH button.  
* Per Second: second, when a change in the state play in the function when the REFRESH button.


[Note]  
[Note]
Per Second, especially that not only can handle high-stress functions.  
* Per Second, especially that not only can handle high-stress functions.
GDI is recommended that you use the drawing functions.  
* GDI is recommended that you use the drawing functions.


[Field]
% ps_width%
  Returns the width of the Splitter


== Fields ==


% ps_height%  
=== %ps_width% ===
  Returns the height of the Splitter  
Returns the width of the Splitter




% ps_tfmode%  
=== %ps_height% ===
    TF mode returns. (Per Track when enabled)
Returns the height of the Splitter
    0 nowplaying mode
    1 follow cursor mode




% ps_isplaying%  
=== %ps_tfmode% ===
Whether during playback
TF mode returns. (Per Track when enabled)
* 0 nowplaying mode
* 1 follow cursor mode


% ps_ispause%
Whether suspended


=== %ps_isplaying% ===
Whether during playback


% ps_foobar2000_path%  
=== %ps_ispause% ===
Foobar2000 executable path
Whether suspended




[Function]
=== %ps_foobar2000_path% ===
$ font (name, size, OPTIONS)
Foobar2000 executable path
Font settings.
OPTIONS: bold italic underline strikeout


Example: $ font (Tahoma, 10, bold italic)


== Functions ==


$ drawstring (text, x, y, W, H, rgba, OPTIONS [, OPTIONS2])  
=== $font(name,size,OPTIONS) ===
String drawing functions.  
Font settings.
Text coordinates (x, y) to draw on.
* OPTIONS: bold italic underline strikeout
[Note] This function is a string and DrawText drawtextex not only in view.
* Example: $font(Tahoma,10,bolditalic)
Maybe only TrueType fonts.


OPTIONS: Alain specified, the specified quality of drawing, and to specify the clip.
=== $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) ===
Alain left hcenter right specified horizontal
Alain specified top vcenter bottom vertical


nowrap not wraparound
Draws a string at the coordinates '''(x,y)'''. The size of the text field is defined by width '''(W)''' and height '''(H)'''.


  noaa ClearType and disable anti-aliasing.
''Note:'' This function is a string and there is also a GDI version of the same functions available [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] and [[#$drawtextex(text,x,y,W,H,r-g-b,OPTIONS) | $drawtextex]]. This function might work for TrueType fonts, only.
aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.
hq high quality rendering mode. ClearType mode. (default now)  
glow_aa glow option to use a special mode. (noaa, aa, hq exclusive)  


If you set the trimming trimchar trimword fit the display range
'''OPTIONS''':
elipchar elipword the last to fit the display range If・・・set to replace the
Align specified, the specified quality of drawing, and to specify the clip.
* Align: ''left hcenter right specified horizontal''
* Align: ''specified top vcenter bottom vertical''
* ''nowrap'': disables text wrap
* ''noaa'': ClearType and disable anti-aliasing.
* ''aa'': put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.
* ''hq'': high quality rendering mode. ClearType mode. (default)
* ''glow_aa'' glow option to use a special mode. (noaa, aa, hq exclusive)


  mempos getlastpos, to be able to get the coordinates of the drawing.
* ''trimchar'' and ''trimword'': Trimming of the text to fit the display range
* ''elipchar'' and ''elipword'': Shortens the text to fit the the display range. If set the end of the line will be replaced with ''"···"''
* ''mempos getlastpos'': to be able to get the coordinates of the drawing


OPTIONS2 (optional experimental, experimental option)  
'''OPTIONS2''' - specifying the glow effect (experimental stage):
Specifying the terms of the glow effect.
* ''glow:expand:colour[:strength]'': glow options
Specified in the OPTIONS glow_aa only, outline and semibold is available.
** ''Expand'' - [0-5]
** ''Colour'' - r-g-b
** ''Strength'' - [0-3] glow_aa case of disabled


glow: expand: colour [: strength] glow options
Offset:x:y
Expand - [0-5]
* ''X'' - glow in the horizontal offset
Colour - r-g-b
* ''Y'' - glow in the vertical offset
Strength - [0-3] glow_aa case of disabled


Offset: x: y
Glow is a heavy process. (Especially the pseudo transparent)
X - glow in the horizontal offset
Y - glow in the vertical offset


glow_aa be used only when the specified  
* glow_aa be used only when the specified
outline: colour color draws a thin border of the specified character (if glow_aa)  
* outline: colour color draws a thin border of the specified character (if glow_aa)
Colour r-g-b  
* Colour r-g-b
* semibold to the characters a little thick (if glow_aa)


semibold to the characters a little thick (if glow_aa)
These specifications may be changed.
Changes in the glow, especially drawing, and semibold outline and may be discontinued.


Examples:
* $drawstring(abcd,10,10,,,255-128-64-128,)
* $drawstring(abcd,10,10,,,255-128-64-128,leftvcenter,glow:2:255-255-255)
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268:1)
* $drawstring(wxyz,10,10,,,255-255-255,elipchar)


※ These specifications may be changed.
=== $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===
Changes in the glow, especially drawing, and semibold outline and may be discontinued.
※ glow is a heavy process. (Especially the pseudo transparent)  


  Example, $ drawstring (abcd, 10,10,, ,255-128-64-128,)  
Rectangular drawing function. Coordinates (x,y) size (w,h) Draws a rectangle.
$ drawstring (abcd, 10,10,, ,255-128-64-128, left vcenter, glow :2:255-255-255)  
* '''R1-G1-B1-A1''' internal color
$ drawstring (efgh, 10,10,, ,255-255-255, vcenter glow_aa, glow :1:32-168-268 semibold)
* '''R2-G2-B2-A2''' border color
$ drawstring (wxyz, 10,10,, ,255-255-255, glow_aa, glow :0:32-168-268 semibold offset: 2:1 outline :32-168-268)
$ drawstring (wxyz, 10,10,, ,255-255-255,, glow :2:32-168-268: 1)
$ drawstring (wxyz, 10,10,, ,255-255-255, elipchar)


'''OPTIONS''':
* Aa - enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]


$ drawrect (x, y, w, h, R1-G1-B1-A1, R2-G2-B2-A2, OPTIONS)
Example:
Rectangular drawing functions.
* $drawrect(0,50,50,50,255-128-64-128,,aa)
Coordinates (x, y) size (w, h) Draws a rectangle.
R1-G1-B1-A1 internal color
R2-G2-B2-A2 Border Color


OPTIONS  
=== $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) ===
Aa - put ANCHIERIASU


Example $ drawrect (0,50,50,50,255-128-64-128,, aa)
Draws a rectangle with gradient fill at the coordinates '''(x,y)''' and size '''(w,h)'''
* '''r1-g1-b1-a1''' gradient start color
* '''r2-g2-b2-a2''' peak color gradient


'''OPTIONS''':
* ''vertical'': vertical gradient
* ''horizontal'': horizontal gradient
* ''aa'': enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]
* ''nonlinear'': nonlinear gradient


$ gradientrect (x, y, w, h, r1-g1-b1-a1, r2-g2-b2-a2, OPTIONS, peak_point)
'''PEAK''': 0-100
Gradient fill in the drawing functions in the rectangle.  
* Shifted the peak position of the gradient.
Coordinates (x, y) size (w, h) Draws a rectangle.  
** 0 by default, to end at peak color.
R1-g1-b1-a1 Gradient start color
** 50 When is the peak of color.
R2-g2-b2-a2 Gradient end color  


OPTIONS
Example:
Vertical gradient of vertical  
* $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)
Gradient horizontal horizontal
* $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)
Aa put ANCHIERIASU
how nonlinear nonlinear gradient


Peak_point: 0-100
=== $drawblurrect(x,y,w,h,colour,level) ===
Shifted the position of the gradient endpoints.
0 by default, r1-g1-b1-a1 -> r2-g2-b2-a2
50 is when, r1-g1-b1-a1 -> r2-g2-b2-a2 -> r1-g1-b1-a1, and.


Example: $ gradientrect (0,50,50,50255-128-64-128255-255-255, vertical aa)  
Draws a rectangle with a blured outline at the coordinates '''(x,y)''' and size '''(w,h)'''
$ gradientrect (0,50,50,50255-128-64-128255-255-255,, 10)
* '''Level''' [1-7]: blur level


===  $drawfocusrect(x,y,w,h) ===
Function to draw a dotted line shows the focus rectangle frame specified.


$ drawblurrect (x, y, w, h, colour, level)  
=== $drawthemerect(x,y,w,h,control_name,partId,stateId) ===
Filling a rectangle drawing functions to blur the outline.
Level [1-7]


Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.


$ drawfocusrect (x, y, w, h)
control_name:
Function to draw a dotted line shows the focus rectangle frame specified.
* Specify the name of the type of control you want to draw. One of the following:
* window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar
* edit combobox taskbar taskband startpanel explorerbar


PartId:
* the parts you want to draw ID. Could we use the following number in the range for each control as a guide.
* In most cases, less than what I have defined.
* Window: 1-37
* Button rebar listview tooltip: 1-5
* Toolbar: 1-6
* Status treeview taskband: 1-3
* Header spin: 1-4
* Progress: 1-4
* Tab trackbar scrollbar :1-10
* Edit: 1-2
* Combobox: 1
* Taskbar: 1-8
* Startpanel: 1-11
* Explorerbar: 1-12


$ drawthemerect (x, y, w, h, control_name, partId, stateId)
StateId:
VisualStyle in the rectangle with a control (button or progress bar) function to draw.  
* the state and selected ID. If the component does not have to specify the state is 0.
The only practical to draw a picture may be low.  
* stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.
VisualStyle not defined in control will not be drawn.
At least WindowXP required.  


control_name: Specify the name of the type of control you want to draw. One of the following.
Examples:
window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn
edit combobox taskbar taskband startpanel explorerbar
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar


PartId: the parts you want to draw ID. Could we use the following number in the range for each control as a guide.
=== $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===
In most cases, less than what I have defined.
Window: 1-37
Button rebar listview tooltip: 1-5
Toolbar: 1-6
Status treeview taskband: 1-3
Header spin: 1-4
Progress: 1-4
Tab trackbar scrollbar :1-10
Edit: 1-2
Combobox: 1
Taskbar: 1-8
Startpanel: 1-11
Explorerbar: 1-12


StateId: the state and selected ID. If the component does not have to specify the state is 0.  
Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).
stateId is 0 or 1 if not drawn in, the parts are not defined.  
* In order to achieve a decent effect the condition w>4*w2 and h>4*h2 should be matched.
* '''R1-G1-B1-A1''' internal color
* '''R2-G2-B2-A2''' border color


Example: $ drawthemerect (0,0,% el_width%,% el_height%, tab, 10,0) / / tab of body parts drawn
Example:
$ drawthemerect (,,,, progress, 3,0) / / Draw the progress bar bar
* $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)


=== $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===


$ drawroundrect (x, y, w, h, w2, h2, R1-G1-B1-A1, R2-G2-B2-A2, RESERVED)
Draws an ellipse at coordinates '''(x,y)''' with size '''(w,h)'''.
Draw a rectangle rolled angle function.
* '''R1-G1-B1-A1''' internal color
Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled.  
* '''R2-G2-B2-A2''' border Color
Rounded the corner, w2, h2 can be adjusted.
w> 4 * w2 & & h> 4 * h2 satisfy the need.
R1-G1-B1-A1 internal color  
R2-G2-B2-A2 Border Color  


    Example $ drawroundrect (10,20,50,50,4,4255-255-128-255,,)  
=== $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===


Draw a triangle and vertex function.
* '''(x1,y1),(x2,y2),(x3,y3)'''
* '''R1-G1-B1-A1''' internal color
* '''R2-G2-B2-A2''' Border Color


$ drawellipse (x, y, w, h, R1-G1-B1-A1, R2-G2-B2-A2, RESERVED)
'''OPTIONS''':
Ellipse drawing functions.  
* ''aa'': enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]
Coordinates (x, y) size (w, h) draws an ellipse.  
R1-G1-B1-A1 internal color
R2-G2-B2-A2 Border Color


Example:
* $drawtriangle(10,5,20,10,10,15200-100-100,,aa)


$ drawtriangle (x1, y1, x2, y2, x3, y3, R1-G1-B1-A1, R2-G2-B2-A2, OPTIONS)
=== $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) ===
(x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.
R1-G1-B1-A1 internal color
R2-G2-B2-A2 Border Color


  OPTIONS
Displays an image at Coordinates '''(x,y)''' with size '''(w,h)''' specified by '''path'''. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.<!-- (w,h) in the original image size is omitted, and the cache. (However, w, h if you are already cached in memory and then the image size to be directly cached)-->
Aa - put ANCHIERIASU
<!--?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.
''Nodisplay'', ''noexpansion'' and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.
If there are images true, if false is returned.-->


Example: $ drawtriangle (10,5,20,10,10,15200-100-100,, aa)  
'''path''':
* absolute path of the image (or an embedded image of AudioFile path)


'''OPTIONS''':


$ imageabs (x, y, w, h, path, OPTIONS, n, alpha, OPTIONS2)
<appearance>
Coordinates (x, y) size (w, h) show the images in the path is specified.
* ''nokeepaspect'': not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)
Retained in memory and after resizing the image, if you raise the efficiency of the process see below.
* ''nodisplay'': Hide image, read only in memory
The image is referenced, the memory is removed from them.
* ''noexpansion'': image will not be expanded if smaller than the specified image size
w, h in the original image size is omitted, and the cache.
(However, w, h if you are already cached in memory and then the image size to be directly cached)


扱ITAI a reduced rate if more than one
<alignment>
Poor quality and will be expanded after the reduction.
* ''left right'': horizontal alignment
Nodisplay noexpansion and use,
* ''top bottom'': vertical alignment
Cache memory may be the largest reduction in the rate of reduction in the rate of use.


If there are images true, if false is returned.  
<misc>
* ''wc'': enables wildcard characters (*,?).


Dipsplays the image specified by path.  
<read mode>
after the image is resized, it is cached on the memory.  
* ''archive'': archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.
** Example: ''C:\aaa\image.zip|bbb/ccc.jpg''
* ''icon'': path is specified in the icon file (*.ico) to appear.
* ''artreader'': Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.
** Audio ''artreader_front'' path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
** Audio ''artreader_back'' path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
** Audio ''artreader_disc'' path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
** Audio ''artreader_icon'' path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
* (artreader_*** are currently not recommended optionss because these seem to be slow)


path: absolute path of the image (or an embedded image of AudioFile path)
'''n''': rotateflip Index for:
* ''1'': 90°
* ''2'': 180°
* ''3'': 270°
* ''4'': flip horizontal
* ''5'': 90° + flip horizontal
* ''6'': Flipped vertically
* ''7'': 90° + Flip Vertically


OPTIONS
'''Alpha''' (Opacity)
■ <appearance>
* ''0-255''
nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).
Hide nodisplay read only memory.
noexpansion will reduce, not increase.


■ <align> exclusive.
'''OPTIONS2''' (shadow effect)
Left right horizontal aryne specified.
* ''Glow:expand:colour''
Specify vertical aryne top bottom.
* ''Offset:x:y''


■ <misc>
Examples:
wc wildcard (*,?) enabled.
* $imageabs(10,10,50,50,C:\%album%.jpg)
* $imageabs(10,10,50,50,C:\%album%.jpg,left top)
* $imageabs(10,10,50,50,C:\%album%.jpg,,6)
* $imageabs(10,10,50,50,C:\%album%.*,wc,6)
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)
* $imageabs(10,10,50,50,%path%,artreader)


■ <read engine> exclusive.
archive archive reader through the path of the images.
The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.
Example: C: \ aaa \ image.zip | bbb / ccc.jpg
icon path is specified in the icon file (*. ico) to appear.


Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
=== $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) ===
If you do not have embedded images, Audio files to load the images folder. However slow.
Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
(artreader *** are currently disrecommended options because these option seem to be slow)  


N rotateflip Index for
To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.
One ninety
In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.
2: 180
3: 270
4: flip horizontal
Five ninety + flip horizontal
6: Flipped vertically
Seven ninety Flip Vertically +


Alpha 0-255
'''OPTIONS''' (imageabs):
Opacity
* ''nokeepaspect'': not maintain the aspect ratio
* ''nodisplay'': Hide read only memory
* ''archive''
* ''Icon''
* ''Horizontal Alignment''
** left
** hcener
** right
* ''Vertical Alignment''
** top
** vcenter
** bottom


OPTIONS2 (shadow effect)
'''N''' rotateflip Index for:
Glow: expand: colour
* 1: 90°
Offset: x: y
* 2: 180°
* 3: 270°
* 4: flip horizontal
* 5: 90° + flip horizontal
* 6: Flipped vertically
* 7: 90° + Flip Vertically


'''Alpha''' (Opacity)
* 0-255


    Example $ imageabs (10,10,50,50, C: \% album%. Jpg)  
'''Examples''':
        $ imageabs (10,10,50,50, C: \% album%. jpg, left top)  
* $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)
        $ imageabs (10,10,50,50, C: \% album%. jpg,, 6)  
* $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,) ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )
        $ imageabs (10,10,50,50, C: \% album%. jpg, bottom,, 128)  
* $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,) ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )
        $ imageabs (10,10,50,50, C: \% album%. jpg, bottom,,, glow :2:0-0-0 offset: 4:4)  
        $ imageabs (10,10,50,50,% path%, artreader)  


===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===


$ imageabs_rc (rw, rh, srcx, srcy, srcw, srch, x, y, path, OPTIONS, n, alpha, OPTIONS2)
Displays an image at Coordinates (x,y) with size (w,h) specified by path.
To view the clip and resize images.  
The function is similar to $imageabs.
path specified by the image size (rw, rh) after resizing,
w and h show the size of the original if omitted.
Portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.  
Removed from memory immediately after being displayed.
TF to be reloaded each time the images are evaluated.


In memory (rw, rh) cache.
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.
When you evaluate the TF (rw, rh) with changes in, to refresh the image.
Therefore, rw, rh is to specify a fixed value.  


If there are images true, if false is returned.
'''OPTIONS''':
* ''nokeepaspect'': not to maintain aspect ratio
* Alignment
** Left
** Right
** Top
** Bottom


OPTIONS (imageabs).
'''n''': rotateflip index for
nokeepaspect not maintain the aspect ratio
* ''1'': 90°
Hide nodisplay read only memory
* ''2'': 180°
Archive
* ''3'': 270°
Icon
* ''4'': flip horizontal
    (Left
* ''5'': 90° + flip horizontal
      Hcener
* ''6'': Flipped vertically
        Right
* ''7'': 90° + Flip Vertically
        Top
        Vcenter
            bottom)
N rotateflip Index for  
One ninety
2: 180
3: 270
4: flip horizontal  
Five ninety + flip horizontal  
6: Flipped vertically  
Seven ninety Flip Vertically +


Alpha 0-255  
alpha: 0-255
        Opacity  
* Opacity (transparency)
   
Example:
$ imageabs_rc (200100,0,0100,50,10,10, C: \% album%. jpg,, 6192)
$ imageabs_rc (200100,0,0200100,10,10, C: \% album%. jpg,,) (= $ imageabs (10,10200100, C: \% album%. jpg, left top,,))
$ imageabs_rc (150120,0,0150120,20,15, C: \% album%. jpg, hcenter vcenter,) (= $ imageabs (20,15150120, C: \% album%. jpg,,,))  


== Additional drawing functions  ==


$ drawimage (x, y, w, h, path, OPTIONS, n, aplha)
Coordinates (x, y) size (w, h) show the images in the path is specified.
$ Imageabs similar.
w and h show the size of the original omitted.
From memory immediately after display processing will be removed.
TF to be reloaded each time the images are evaluated.
    ※ You can see a huge image, the amount of occupied memory減RASHITAKATTARI to see more pictures,
      imageabs for those who do not like the resizing process.


OPTIONS: nokeepaspect not maintain aspect ratio
=== $getlastpos(elem) ===
Left
Right
Top
Bottom


    n: rotateflip index for
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, ''[[#$measurestring(text,x,y,W,H,OPTIONS) | $measurestring]]'' use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.
        One ninety
        2: 180
        3: 270
        4: flip horizontal
        Five ninety + flip horizontal
        6: Flipped vertically
        Seven ninety Flip Vertically +


    alpha 0-255
Elem element to retrieve.
        Opacity (transparency)
X: left
Y: top
W: width
H: height
R: right
B: bottom


  ● auxiliary drawing
Example:
  $setworldtransform(2)
$puts(img_path,C:\%album%.jpg)
$imageabs(10,4,100,100,$get(img_path),top noexpansion,)
$imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)
$gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)
$setworldtransform(0)


$ getlastpos (elem)
=== $measurestring(text,x,y,W,H,OPTIONS) ===
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture.
Also, measurestring use them when you get the results.
If you are drawString, mempos available only immediately after the specified coordinates.


    Elem element to retrieve.  
''$drawstring'' to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get ''[[#$getlastpos(elem) | $getlastpos]]''. '''OPTIONS''' is the same as $drawstring. If $drawstring uses the ''glow_aa'' or ''glow'' options, the ''$measurestring'' value returned may not be accurate.
X: left
Y: top
W: width  
H: height
R: right
B: bottom


Example:
=== $getimagewidth(path),$getimageheight(path) ===
$ Setworldtransform (2)
$ Puts (img_path, C: \% album%. Jpg)
$ imageabs (10,4100100, $ get (img_path), top noexpansion,)
$ imageabs ($ getlastpos (x), $ getlastpos (b), $ getlastpos (w), 20, $ get (img_path), top nokeepaspect, 6)
$ gradientrect ($ getlastpos (x), $ getlastpos (y), $ getlastpos (w), $ getlastpos (h),% el_backcolour% -128,% el_backcolour% -255)
$ Setworldtransform (0)  


The image path is specified in ''$imageabs'' ''$imageabs_rc'' of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have ''$imageabs'' ''$imageabs_rc'' behind. ''nokeepaspect'' may be able to calculate the aspect ratio should be applied.


$ measurestring (text, x, y, W, H, OPTIONS)  
=== $setparcentmode(bx,by,bw,bh) ===
$ drawstring to calculate the area when drawing text.  
Set the mode to specify the coordinates.
As a result, returns to the horizontal width of the viewing area.
Window space
The display area is to get $ getlastpos.  
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.
OPTIONS is the same as $ drawstring.  
*x,y,W,H, can be set individually.
Also, drawstring in, glow_aa glow if put in effect,  
*x,y,W,H, all affect the function of one argument.
Measurestring see the range of results and may not match.  


* bx x coordinate specified mode
** 0: Splitter mode specified in absolute coordinates
** 1: Splitter value relative to the size (percentage) and designated.
* mode specified by y coordinates
* bw w coordinates specified mode
* bh h coordinates specified mode


$ getimagewidth (path), $ getimageheight (path)  
=== $getsyscolour (index) ===
The image path is specified in $ imageabs $ imageabs_rc of cache memory
The r-g-b color system in the fo
If the image has been resized in the horizontal width and vertical width returns.
This means that only have $ imageabs $ imageabs_rc behind.
nokeepaspect may be able to calculate the aspect ratio should be applied.


index: [0-30] color index system


$ setparcentmode (bx, by, bw, bh)
=== $averagecolour(colour1,colour2[,···]) ===
    Set the mode to specify the coordinates.
    Window space
    (0,0) ~ (% _width%,% _height%) where a,
    Percentage specified in the mode, (0,0) to (100100) mapping.
    x, y, w, h can be set individually.
    x, y, w, h all affect the function of one argument.


    bx x coordinate specified mode
Calculates the average color ''R-g-b-a'' of a given set of colors.
        0: Splitter mode specified in absolute coordinates
        1: Splitter value relative to the size (percentage) and designated.  
    mode specified by y coordinates
    bw w coordinates specified mode
    bh h coordinates specified mode


$ getsyscolour (index)  
''(Colour1 + colour2 +···) / N''
The r-g-b color system in the form of returns.


index: [0-30] color index system
=== $blendcolour(colour1,w1,colour2,w2,[,···]) ===


Calculates the average weighted ''w1,w2[,···]'' color ''R-g-b-a'' of a given set of colors.


$ averagecolour (colour1, colour2 [,・・・])  
''(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)''
R-g-b-a to the average color of the form.
(Colour1 + colour2 +・・・) / N


=== $addcolour(colour1,colour2[,···]) ===


$ blendcolour (colour1, w1, colour2, w2, [,・・・])
Adds colors ''r-g-b-a'' of a given set.
R-g-b-a return with the average weight in the form.  
(w1 * colur1 + w2 * colour2 +・・・+ wN * colourN) / (w1 + w2 +・・・+ wN)


''Colour1 + colour2 + ··· + colourN''


$ addcolour (colour1, colour2 [,・・・])  
=== $subcolour(colour1,colour2[,···]) ===
R-g-b-a to add the color of the form.
・・・Colour1 + colour2 + + colourN


Substracts colors ''r-g-b-a'' of a given set.


$ subcolour (colour1, colour2 [,・・・])
''Colour1 - colour2 - colour3···- colourN''
R-g-b-a to form a color subtraction.
Colour1 - colour2 - colour3・・・- colourN  


== General-purpose system functions ==


$ findfile (path, [path2, path3 ,...])  
=== $findfile(path,[path2,path3,...]) ===
path (wildcards accepted) to be specified in the file exists, returns the first file.
If you do not have the file does not return anything. (Strictly speaking, "false" returns)
Path can be specified.


Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, "false" returns). Path can be specified. The ''path'' allows wildcards.
<!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function -->


function button
== function buttons ==


$ textbutton (x, y, w, h, text, mover_text, command, options1, options2)  
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===
    Create a button.  
Create a button.
    Per Track only available. Per Second is not to write.  
Per Track only available. Per Second is not to write.


    text: the button label  
* '''text''': the button label
    mover_text: the button label when mouse over  
* '''mover_text''': the button label when mouse over


    command: "Type of instruction: arguments" specified in the form of  
command: "Type of instruction: arguments" specified in the form of
              ※ be no extra spaces  
* be no extra spaces
              ; Going to be separated by a specified multiple orders.  
* Going to be separated by a specified multiple orders.
              A few instructions that can be specified.  
* A few instructions that can be specified.
              Very difficult to implement. . .  
* Very difficult to implement. . .
              : And; the splitter so that the characters and words in these arguments,  
* And the splitter so that the characters and words in these arguments, could not parse well.
              Could not parse well.  


    Note 1: Do not specify the order processing time.  
Note 1: Do not specify the order processing time.
    Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed.  
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.
              Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run.  
              COMMAND, CONTEXT and others, the order may be warranted.  


      COMMAND: command_path  
COMMAND: command_path
              command_path to run the command specified by menu.  
* command_path to run the command specified by menu.
              COMMAND: View / Equalizer and  
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play
              COMMAND: File / Preferences; COMMAND: Playback / Play  
* To specify that you can use the input help in setting some of them.
              To specify that.
* TF command_path Note also that as COMMAND: 'View / Equalizer' and it's recommended.
              ※ You can use the input help in setting some of them. . .  
              TF command_path Note also that as  
              COMMAND: 'View / Equalizer' and it's recommended.  


      CONTEXT: context_path  
CONTEXT: context_path
              context_path KONTEKISUTOMENYUKOMANDO be designated to perform.  
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.
              Handles the context menu of the currently playing track.  
* Handles the context menu of the currently playing track.
              CONTEXT: Properties to specify the like.  
* CONTEXT: Properties to specify the like.
              TF context_path Note also that as  
* TF context_path Note also that as




      PANELSHOW: cap: sh  
PANELSHOW: cap: sh
              The caption of the child panel cap / hide.  
*The caption of the child panel cap / hide.
              sh: 0 hide  
*sh: 0 hide
                  1.  
**    1.
                  -1 Show / hide toggle  
**  -1 Show / hide toggle


      TFMODE: mode  
TFMODE: mode
              Per Track titleformat to change the mode.  
*Per Track titleformat to change the mode.
              mode: 0 nowplaying mode  
*mode: 0 nowplaying mode
                    1 follow curosr mode  
** 1 follow curosr mode
                    -1 Toggle  
** -1 Toggle


      REFRESH: TF of PerTrack, PerSecond update.  
REFRESH: TF of PerTrack, PerSecond update.


'''options1'''


specify the default decoration (can specify more than one, separated by spaces)
* fontcolor: r-g-b-color of the text
* brushcolor: rgba color fills the rectangle button
* pencolor: r-g-b-a color button border
* left top bottom right position of the text


      options1 specify the default decoration (can specify more than one, separated by spaces)
'''options2''':
                fontcolor: r-g-b-color of the text
                brushcolor: rgba color fills the rectangle button
                pencolor: r-g-b-a color button border
                left top bottom right position of the text


      options2: decorative specify when mouse over (can specify more than one, separated by spaces)  
decorative specify when mouse over (can specify more than one, separated by spaces)
                fontcolor: r-g-b-color of the text  
* fontcolor: r-g-b-color of the text
                brushcolor: rgba color fills the rectangle button  
* brushcolor: rgba color fills the rectangle button
                pencolor: r-g-b-a color button border  
* pencolor: r-g-b-a color button border
                left top bottom right position of the text  
* left top bottom right position of the text




    Example $ textbutton (0,0,80,20, play, play, COMMAND: Playback / Play, fontcolor :64-64-64 brushcolor :192-192-192-128 pencolor :0-0-0, fontcolor: 32 -- 32-32)  
Examples_
$ textbutton (100,0,80,20, Resize, Resize, PANELSHOW: aaa: -1; REFRESH, fontcolor :64-64-64 left bottom, fontcolor :32-32-32)  
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)


=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===
Create an image button.
Per Track only available. Per Second is not to write.
The internal processing of the images are treated equally and $imageabs will be cached in memory.
w, h is omitted, path to original image size is specified.
textbutton command is common.


Display options:
OPTIONS1
* nokeepaspect
* left
* top
* bottom
* right


$ imagebutton (x, y, w, h, path, mover_path, command, options1, options2)
OPTIONS2:
    Create an image button.
    Per Track only available. Per Second is not to write.
    The internal processing of the images are treated equally and $ imageabs will be cached in memory.
    w, h is omitted, path to original image size is specified.
    textbutton command is common.


      Display options options1
When mouse over the image display options
                nokeepaspect
* nokeepaspect
                left top bottom right
* left  
      options2: When mouse over the image display options  
* top  
                nokeepaspect  
* bottom  
                left top bottom right  
* right


== GDI drawing functions ==


● GDI drawing functions of
Using the Windows System Component [http://en.wikipedia.org/wiki/Graphics_Device_Interface GDI] to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).
Using the GDI to draw. Simple minutes, may be faster.  


$ drawtext (text, x, y, W, H, r-g-b, OPTIONS)  
=== $drawtext(text,x,y,W,H,r-g-b,OPTIONS) ===
GDI text drawing functions
Text coordinates (x, y) in output


OPTIONS
GDI text drawing functions. Text coordinates (x, y) in output
Alain left hcenter right specified horizontal
Alain specified top vcenter bottom vertical
Not noclip clip


OPTIONS:
* Align ''left hcenter right specified horizontal''
* Align ''specified top vcenter bottom vertical''
* Not noclip clip


$ drawtextex (text, x, y, W, H, r-g-b, OPTIONS)  
=== $drawtextex(text,x,y,W,H,r-g-b,OPTIONS) ===
GDI drawing functions text_2
Text coordinates (x, y) in output


OPTIONS  
GDI drawing functions text_2
Alain left hcenter right specified horizontal  
Text coordinates (x, y) in output
Alain specified top vcenter bottom vertical  
 
Not noclip clip  
OPTIONS
Allow specified wrap wraparound (vcenter, bottom and exclusive)  
* Align ''left hcenter right specified horizontal''
end_ellipsis If you clip text, replace the end of the text ...  
* Align ''specified top vcenter bottom vertical''
* Not noclip clip
Example: $ drawtextex (text, 0,0,% _width%,% _height% ,0-0-0, hcenter vcenter end_ellipsis)
* Allow specified wrap wraparound (vcenter, bottom and exclusive)
* ''end_ellipsis'' If you clip text, replace the end of the text ...


Example: ''$drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)''


$ gettextwidth (text, [FONTNAME, SIZE, OPTIONS])  
=== $gettextwidth(text,[FONTNAME,SIZE,OPTIONS]) ===
GDI (drawtext, drawtextex) returns the width in the text when drawing horizontal text.
can specify the font ($ font option). specified font is optional


For the use with GDI text functions (''drawtext'', ''drawtextex''). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified ''FONTNAME'', ''SIZE'' and ''OPTIONS'' (bold, italic, etc).


$ gettextheight ([FONTNAME, SIZE, OPTIONS])  
=== $gettextheight([FONTNAME,SIZE,OPTIONS]) ===
GDI returns vertical width of text when drawn.
can specify the font ($ font option). specified font is optional


For the use with GDI text functions (''drawtext'', ''drawtextex''). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified ''FONTNAME'', ''SIZE'' and ''OPTIONS'' (bold, italic, etc).


$ fillrect (x, y, w, h, r-g-b, RESERVED)  
=== $fillrect(x,y,w,h,r-g-b,RESERVED) ===
Filled rectangle function


Filled rectangle function


$ fillroundrect (x, y, w, h, w2, h2, r1-g1-b1, r2-g2-b2)  
=== $fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2) ===
Function of the fill rectangle with rounded corners


Function of the fill rectangle with rounded corners


Panel operating system functions  
== Panel operating system functions ==
Apparently drawing functions and the TF is such low efficiency of the frame together,
Future plans to別枠.


$ showpanel (i, sh) or $ showpanel_c (caption, sh)
Apparently drawing functions and the TF is such low efficiency of the frame together,
    Panel, change the function inactive
Future plans to??.
    i somethingth in the child panel list (counting from 0)
    sh 0: Inactive 1: View


=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===
Panel, change the function inactive
* '''i''': somethingth in the child panel list (counting from 0)
* '''sh''': 0: Inactive 1: View


$ movepanel (i, x, y, w, h) or $ movepanel_c (caption, x, y, w, h)
    i somethingth in the child panel list (counting from 0)
    Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.


=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===
'''i''' somethingth in the child panel list (counting from 0)


$ getcaption (i)  
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.
    I returns the list of child panel captions are set in the second panel.  




$ isvisible_c (caption)  
=== $getcaption(i) ===
    Returns the status panel.  
'''i''': returns the list of child panel captions are set in the second panel.




=== $isvisible_c(caption) ===
Returns the status panel.


= External links =
= External links =
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62114 Discussion thread]
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62114 Discussion thread]

Revision as of 23:02, 30 October 2010

Foobar2000_Logo.png

foo_uie_panel_splitter is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.

foobar2000 v0.9.5.1+, Columns UI 0.3+

Requirements


Read me (translated from the Japanese original)

foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver) for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +

Columns UI panel to place the splitter And without borders, or a little over a panel and set the highest possible degree of freedom. Has been stable or loose?

Description

Add and remove panels from the basic layout of the ColumnsUI do. They can add from the context menu.

Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.

Setting up menus and items

PanelList

  • size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)
  • lock size: a place without scaling.
    • off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.
    • ± 1 to lock the current situation that would blur pixel minutes.
    • -> So hard to fix, could not fix.
  • forced layout: left Top width right under it to force the panel to be placed in the specified range.

(size and auto-scaling is disabled)

If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled. %_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width. Example:

left: $div(%_width%,4)
top: $div(%_height%,4)
width: $div(%_width%,2)
height: $div(%_height%,2)

Also, Splitter mode to specify a value relative to size. is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified. use percentage value of setting example:

left: 25
top: 25
width: 50
height: 50


  • padding: Add a space around the panel.

Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be

  • caption: The name of the panel, the identifier
  • use background color: the color specified, the background fill.
  • use image: specify a fixed background image. TitleFormatting is disabled.
  • pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)

[Note]

  • ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.

Script Tab

titleformat mode on startup: when you start the TitleFormat PerTrack modes.

  • now playing TF play that track
  • follow cursor on the selected tracks in playlist
  • last mode at the end of the previous mode (the switch mode button to save)


  • title formatting script:

Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.

Extended Command Reference Sensitive argument, or optional, and not implemented. Note: Do not waste the space. (Carriage return accepted)

in title formatting script is evaluated,

  • Today
  • Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.
  • Per Second: second, when a change in the state play in the function when the REFRESH button.

[Note]

  • Per Second, especially that not only can handle high-stress functions.
  • GDI is recommended that you use the drawing functions.


Fields

%ps_width%

Returns the width of the Splitter


%ps_height%

Returns the height of the Splitter


%ps_tfmode%

TF mode returns. (Per Track when enabled)

  • 0 nowplaying mode
  • 1 follow cursor mode


%ps_isplaying%

Whether during playback

%ps_ispause%

Whether suspended


%ps_foobar2000_path%

Foobar2000 executable path


Functions

$font(name,size,OPTIONS)

Font settings.

  • OPTIONS: bold italic underline strikeout
  • Example: $font(Tahoma,10,bolditalic)

$drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2])

Draws a string at the coordinates (x,y). The size of the text field is defined by width (W) and height (H).

Note: This function is a string and there is also a GDI version of the same functions available $drawtext and $drawtextex. This function might work for TrueType fonts, only.

OPTIONS: Align specified, the specified quality of drawing, and to specify the clip.

  • Align: left hcenter right specified horizontal
  • Align: specified top vcenter bottom vertical
  • nowrap: disables text wrap
  • noaa: ClearType and disable anti-aliasing.
  • aa: put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.
  • hq: high quality rendering mode. ClearType mode. (default)
  • glow_aa glow option to use a special mode. (noaa, aa, hq exclusive)
  • trimchar and trimword: Trimming of the text to fit the display range
  • elipchar and elipword: Shortens the text to fit the the display range. If set the end of the line will be replaced with "···"
  • mempos getlastpos: to be able to get the coordinates of the drawing

OPTIONS2 - specifying the glow effect (experimental stage):

  • glow:expand:colour[:strength]: glow options
    • Expand - [0-5]
    • Colour - r-g-b
    • Strength - [0-3] glow_aa case of disabled

Offset:x:y

  • X - glow in the horizontal offset
  • Y - glow in the vertical offset

Glow is a heavy process. (Especially the pseudo transparent)

  • glow_aa be used only when the specified
  • outline: colour color draws a thin border of the specified character (if glow_aa)
  • Colour r-g-b
  • semibold to the characters a little thick (if glow_aa)

These specifications may be changed. Changes in the glow, especially drawing, and semibold outline and may be discontinued.

Examples:

  • $drawstring(abcd,10,10,,,255-128-64-128,)
  • $drawstring(abcd,10,10,,,255-128-64-128,leftvcenter,glow:2:255-255-255)
  • $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)
  • $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)
  • $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268:1)
  • $drawstring(wxyz,10,10,,,255-255-255,elipchar)

$drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS)

Rectangular drawing function. Coordinates (x,y) size (w,h) Draws a rectangle.

  • R1-G1-B1-A1 internal color
  • R2-G2-B2-A2 border color

OPTIONS:

Example:

  • $drawrect(0,50,50,50,255-128-64-128,,aa)

$gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK)

Draws a rectangle with gradient fill at the coordinates (x,y) and size (w,h)

  • r1-g1-b1-a1 gradient start color
  • r2-g2-b2-a2 peak color gradient

OPTIONS:

  • vertical: vertical gradient
  • horizontal: horizontal gradient
  • aa: enable anti aliasing
  • nonlinear: nonlinear gradient

PEAK: 0-100

  • Shifted the peak position of the gradient.
    • 0 by default, to end at peak color.
    • 50 When is the peak of color.

Example:

  • $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)
  • $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)

$drawblurrect(x,y,w,h,colour,level)

Draws a rectangle with a blured outline at the coordinates (x,y) and size (w,h)

  • Level [1-7]: blur level

$drawfocusrect(x,y,w,h)

Function to draw a dotted line shows the focus rectangle frame specified.

$drawthemerect(x,y,w,h,control_name,partId,stateId)

Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.

control_name:

  • Specify the name of the type of control you want to draw. One of the following:
  • window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar
  • edit combobox taskbar taskband startpanel explorerbar

PartId:

  • the parts you want to draw ID. Could we use the following number in the range for each control as a guide.
  • In most cases, less than what I have defined.
  • Window: 1-37
  • Button rebar listview tooltip: 1-5
  • Toolbar: 1-6
  • Status treeview taskband: 1-3
  • Header spin: 1-4
  • Progress: 1-4
  • Tab trackbar scrollbar :1-10
  • Edit: 1-2
  • Combobox: 1
  • Taskbar: 1-8
  • Startpanel: 1-11
  • Explorerbar: 1-12

StateId:

  • the state and selected ID. If the component does not have to specify the state is 0.
  • stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.

Examples:

  • $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn
  • $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar

$drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED)

Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).

  • In order to achieve a decent effect the condition w>4*w2 and h>4*h2 should be matched.
  • R1-G1-B1-A1 internal color
  • R2-G2-B2-A2 border color

Example:

  • $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)

$drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED)

Draws an ellipse at coordinates (x,y) with size (w,h).

  • R1-G1-B1-A1 internal color
  • R2-G2-B2-A2 border Color

$drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS)

Draw a triangle and vertex function.

  • (x1,y1),(x2,y2),(x3,y3)
  • R1-G1-B1-A1 internal color
  • R2-G2-B2-A2 Border Color

OPTIONS:

Example:

  • $drawtriangle(10,5,20,10,10,15200-100-100,,aa)

$imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2)

Displays an image at Coordinates (x,y) with size (w,h) specified by path. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.

path:

  • absolute path of the image (or an embedded image of AudioFile path)

OPTIONS:

<appearance>

  • nokeepaspect: not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)
  • nodisplay: Hide image, read only in memory
  • noexpansion: image will not be expanded if smaller than the specified image size

<alignment>

  • left right: horizontal alignment
  • top bottom: vertical alignment

<misc>

  • wc: enables wildcard characters (*,?).

<read mode>

  • archive: archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.
    • Example: C:\aaa\image.zip|bbb/ccc.jpg
  • icon: path is specified in the icon file (*.ico) to appear.
  • artreader: Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.
    • Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
    • Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
    • Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
    • Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.
  • (artreader_*** are currently not recommended optionss because these seem to be slow)

n: rotateflip Index for:

  • 1: 90°
  • 2: 180°
  • 3: 270°
  • 4: flip horizontal
  • 5: 90° + flip horizontal
  • 6: Flipped vertically
  • 7: 90° + Flip Vertically

Alpha (Opacity)

  • 0-255

OPTIONS2 (shadow effect)

  • Glow:expand:colour
  • Offset:x:y

Examples:

  • $imageabs(10,10,50,50,C:\%album%.jpg)
  • $imageabs(10,10,50,50,C:\%album%.jpg,left top)
  • $imageabs(10,10,50,50,C:\%album%.jpg,,6)
  • $imageabs(10,10,50,50,C:\%album%.*,wc,6)
  • $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)
  • $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)
  • $imageabs(10,10,50,50,%path%,artreader)


$imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2)

To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display. In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.

OPTIONS (imageabs):

  • nokeepaspect: not maintain the aspect ratio
  • nodisplay: Hide read only memory
  • archive
  • Icon
  • Horizontal Alignment
    • left
    • hcener
    • right
  • Vertical Alignment
    • top
    • vcenter
    • bottom

N rotateflip Index for:

  • 1: 90°
  • 2: 180°
  • 3: 270°
  • 4: flip horizontal
  • 5: 90° + flip horizontal
  • 6: Flipped vertically
  • 7: 90° + Flip Vertically

Alpha (Opacity)

  • 0-255

Examples:

  • $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)
  • $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,) ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )
  • $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,) ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )

$drawimage(x,y,w,h,path,OPTIONS,n,aplha)

Displays an image at Coordinates (x,y) with size (w,h) specified by path. The function is similar to $imageabs. w and h show the size of the original if omitted. Removed from memory immediately after being displayed. TF to be reloaded each time the images are evaluated.

You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.

OPTIONS:

  • nokeepaspect: not to maintain aspect ratio
  • Alignment
    • Left
    • Right
    • Top
    • Bottom

n: rotateflip index for

  • 1: 90°
  • 2: 180°
  • 3: 270°
  • 4: flip horizontal
  • 5: 90° + flip horizontal
  • 6: Flipped vertically
  • 7: 90° + Flip Vertically

alpha: 0-255

  • Opacity (transparency)

Additional drawing functions

$getlastpos(elem)

Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, $measurestring use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.

Elem element to retrieve.

X: left
Y: top
W: width
H: height
R: right
B: bottom

Example:

$setworldtransform(2)
$puts(img_path,C:\%album%.jpg)
$imageabs(10,4,100,100,$get(img_path),top noexpansion,)
$imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)
$gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)
$setworldtransform(0)

$measurestring(text,x,y,W,H,OPTIONS)

$drawstring to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get $getlastpos. OPTIONS is the same as $drawstring. If $drawstring uses the glow_aa or glow options, the $measurestring value returned may not be accurate.

$getimagewidth(path),$getimageheight(path)

The image path is specified in $imageabs $imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have $imageabs $imageabs_rc behind. nokeepaspect may be able to calculate the aspect ratio should be applied.

$setparcentmode(bx,by,bw,bh)

Set the mode to specify the coordinates. Window space (0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.

  • x,y,W,H, can be set individually.
  • x,y,W,H, all affect the function of one argument.
  • bx x coordinate specified mode
    • 0: Splitter mode specified in absolute coordinates
    • 1: Splitter value relative to the size (percentage) and designated.
  • mode specified by y coordinates
  • bw w coordinates specified mode
  • bh h coordinates specified mode

$getsyscolour (index)

The r-g-b color system in the fo

index: [0-30] color index system

$averagecolour(colour1,colour2[,···])

Calculates the average color R-g-b-a of a given set of colors.

(Colour1 + colour2 +···) / N

$blendcolour(colour1,w1,colour2,w2,[,···])

Calculates the average weighted w1,w2[,···] color R-g-b-a of a given set of colors.

(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)

$addcolour(colour1,colour2[,···])

Adds colors r-g-b-a of a given set.

Colour1 + colour2 + ··· + colourN

$subcolour(colour1,colour2[,···])

Substracts colors r-g-b-a of a given set.

Colour1 - colour2 - colour3···- colourN

General-purpose system functions

$findfile(path,[path2,path3,...])

Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, "false" returns). Path can be specified. The path allows wildcards.

function buttons

$textbutton(x,y,w,h,text,mover_text,command,options1,options2)

Create a button. Per Track only available. Per Second is not to write.

  • text: the button label
  • mover_text: the button label when mouse over

command: "Type of instruction: arguments" specified in the form of

  • be no extra spaces
  • Going to be separated by a specified multiple orders.
  • A few instructions that can be specified.
  • Very difficult to implement. . .
  • And the splitter so that the characters and words in these arguments, could not parse well.

Note 1: Do not specify the order processing time. Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.

COMMAND: command_path

  • command_path to run the command specified by menu.
  • COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play
  • To specify that you can use the input help in setting some of them.
  • TF command_path Note also that as COMMAND: 'View / Equalizer' and it's recommended.

CONTEXT: context_path

  • context_path KONTEKISUTOMENYUKOMANDO be designated to perform.
  • Handles the context menu of the currently playing track.
  • CONTEXT: Properties to specify the like.
  • TF context_path Note also that as


PANELSHOW: cap: sh

  • The caption of the child panel cap / hide.
  • sh: 0 hide
    • 1.
    • -1 Show / hide toggle

TFMODE: mode

  • Per Track titleformat to change the mode.
  • mode: 0 nowplaying mode
    • 1 follow curosr mode
    • -1 Toggle

REFRESH: TF of PerTrack, PerSecond update.

options1

specify the default decoration (can specify more than one, separated by spaces)

  • fontcolor: r-g-b-color of the text
  • brushcolor: rgba color fills the rectangle button
  • pencolor: r-g-b-a color button border
  • left top bottom right position of the text

options2:

decorative specify when mouse over (can specify more than one, separated by spaces)

  • fontcolor: r-g-b-color of the text
  • brushcolor: rgba color fills the rectangle button
  • pencolor: r-g-b-a color button border
  • left top bottom right position of the text


Examples_

  • $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)
  • $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)

$imagebutton(x,y,w,h,path,mover_path,command,options1,options2)

Create an image button. Per Track only available. Per Second is not to write. The internal processing of the images are treated equally and $imageabs will be cached in memory. w, h is omitted, path to original image size is specified. textbutton command is common.

Display options:

OPTIONS1

  • nokeepaspect
  • left
  • top
  • bottom
  • right

OPTIONS2:

When mouse over the image display options

  • nokeepaspect
  • left
  • top
  • bottom
  • right

GDI drawing functions

Using the Windows System Component GDI to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).

$drawtext(text,x,y,W,H,r-g-b,OPTIONS)

GDI text drawing functions. Text coordinates (x, y) in output

OPTIONS:

  • Align left hcenter right specified horizontal
  • Align specified top vcenter bottom vertical
  • Not noclip clip

$drawtextex(text,x,y,W,H,r-g-b,OPTIONS)

GDI drawing functions text_2 Text coordinates (x, y) in output

OPTIONS

  • Align left hcenter right specified horizontal
  • Align specified top vcenter bottom vertical
  • Not noclip clip
  • Allow specified wrap wraparound (vcenter, bottom and exclusive)
  • end_ellipsis If you clip text, replace the end of the text ...

Example: $drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)

$gettextwidth(text,[FONTNAME,SIZE,OPTIONS])

For the use with GDI text functions (drawtext, drawtextex). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified FONTNAME, SIZE and OPTIONS (bold, italic, etc).

$gettextheight([FONTNAME,SIZE,OPTIONS])

For the use with GDI text functions (drawtext, drawtextex). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified FONTNAME, SIZE and OPTIONS (bold, italic, etc).

$fillrect(x,y,w,h,r-g-b,RESERVED)

Filled rectangle function

$fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2)

Function of the fill rectangle with rounded corners

Panel operating system functions

Apparently drawing functions and the TF is such low efficiency of the frame together, Future plans to??.

$showpanel(i,sh) or $showpanel_c(caption,sh)

Panel, change the function inactive

  • i: somethingth in the child panel list (counting from 0)
  • sh: 0: Inactive 1: View


$movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,)

i somethingth in the child panel list (counting from 0)

Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.


$getcaption(i)

i: returns the list of child panel captions are set in the second panel.


$isvisible_c(caption)

Returns the status panel.

External links