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

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
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.4.3+, Columns UI0.1.3 beta1 v7+

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. 


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 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 
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. 


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. 
[Field] 
% 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 


[Function] 
$ font (name, size, OPTIONS) 
Font settings. 
OPTIONS: bold italic underline strikeout 
Example: $ font (Tahoma, 10, bold italic) 


$ drawstring (text, x, y, W, H, rgba, OPTIONS [, OPTIONS2]) 
String drawing functions. 
Text coordinates (x, y) to draw on. 
[Note] This function is a string and DrawText drawtextex not only in view. 
Maybe only TrueType fonts. 
OPTIONS: Alain specified, the specified quality of drawing, and to specify the clip. 
Alain left hcenter right specified horizontal 
Alain specified top vcenter bottom vertical 
nowrap not wraparound 
 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 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 
elipchar elipword the last to fit the display range If・・・set to replace the 
mempos getlastpos, to be able to get the coordinates of the drawing. 
OPTIONS2 (optional experimental, experimental option) 
Specifying the terms of the glow effect. 
Specified in the OPTIONS glow_aa only, outline and semibold is available. 
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_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. 
※ glow is a heavy process. (Especially the pseudo transparent) 
Example, $ drawstring (abcd, 10,10,, ,255-128-64-128,) 
$ drawstring (abcd, 10,10,, ,255-128-64-128, left vcenter, glow :2:255-255-255) 
$ drawstring (efgh, 10,10,, ,255-255-255, vcenter glow_aa, glow :1:32-168-268 semibold) 
$ 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) 


$ drawrect (x, y, w, h, R1-G1-B1-A1, R2-G2-B2-A2, OPTIONS) 
Rectangular drawing functions. 
Coordinates (x, y) size (w, h) Draws a rectangle. 
R1-G1-B1-A1 internal color 
R2-G2-B2-A2 Border Color 
OPTIONS 
Aa - put ANCHIERIASU 
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_point) 
Gradient fill in the drawing functions in the rectangle. 
Coordinates (x, y) size (w, h) Draws a rectangle. 
R1-g1-b1-a1 Gradient start color 
R2-g2-b2-a2 Gradient end color 
OPTIONS 
Vertical gradient of vertical 
Gradient horizontal horizontal 
Aa put ANCHIERIASU 
how nonlinear nonlinear gradient 
Peak_point: 0-100 
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) 
$ gradientrect (0,50,50,50255-128-64-128255-255-255,, 10) 


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


$ 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) 
VisualStyle in the rectangle with a control (button or progress bar) function to draw. 
The only practical to draw a picture may be low. 
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. 
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 if not drawn in, the parts are not defined. 
Example: $ 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) 
Draw a rectangle rolled angle function. 
Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. 
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,,) 


$ drawellipse (x, y, w, h, R1-G1-B1-A1, R2-G2-B2-A2, RESERVED) 
Ellipse drawing functions. 
Coordinates (x, y) size (w, h) draws an ellipse. 
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) 
(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 
Aa - put ANCHIERIASU 
Example: $ drawtriangle (10,5,20,10,10,15200-100-100,, aa) 


$ imageabs (x, y, w, h, path, OPTIONS, n, alpha, OPTIONS2) 
Coordinates (x, y) size (w, h) show the images in the path is specified. 
Retained in memory and after resizing the image, if you raise the efficiency of the process see below. 
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) 

扱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. 
Dipsplays the image specified by path. 
after the image is resized, it is cached on the memory. 
path: absolute path of the image (or an embedded image of AudioFile path) 
OPTIONS 
■ <appearance> 
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. 
Left right horizontal aryne specified. 
Specify vertical aryne top bottom. 
■ <misc> 
wc wildcard (*,?) enabled. 
■ <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. 
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 
One ninety 
2: 180 
3: 270 
4: flip horizontal 
Five ninety + flip horizontal 
6: Flipped vertically 
Seven ninety Flip Vertically + 
Alpha 0-255 
Opacity 
OPTIONS2 (shadow effect) 
Glow: expand: colour 
Offset: x: y 


    Example $ 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%. 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 
Hide nodisplay read only memory 
Archive 
Icon 
    (Left 
      Hcener 
       Right 
       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 
        Opacity 
   
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,,,)) 


$ 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 
Left 
Right 
Top 
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 
        Opacity (transparency) 
● auxiliary drawing 
$ 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,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) 


$ 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. 
Also, drawstring in, glow_aa glow if put in effect, 
Measurestring see the range of results and may not match. 


$ 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 returns. 
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 form of returns. 
index: [0-30] color index system 


$ averagecolour (colour1, colour2 [,・・・]) 
R-g-b-a to the average color of the form. 
(Colour1 + colour2 +・・・) / N 


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


$ addcolour (colour1, colour2 [,・・・]) 
R-g-b-a to add the color of the form. 

・・・Colour1 + colour2 + + colourN


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


$ 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. 


● function button 
$ 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 


   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) 
$ textbutton (100,0,80,20, Resize, Resize, PANELSHOW: aaa: -1; REFRESH, fontcolor :64-64-64 left bottom, 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 of 
Using the GDI to draw. Simple minutes, may be faster. 
$ drawtext (text, x, y, W, H, r-g-b, OPTIONS) 
GDI text drawing functions 
Text coordinates (x, y) in output 
OPTIONS 
Alain left hcenter right specified horizontal 
Alain 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 
Alain left hcenter right specified horizontal 
Alain 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]) 
GDI (drawtext, drawtextex) returns the width in the text when drawing horizontal text. 
can specify the font ($ font option). specified font is optional 


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


$ 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