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

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


foobar2000:manual:pss_tutorial

Содержание

Manual for Panel Stack Splitter v0.3.8.1

foo_uie_panel_splitter.dll v0.3.8.1(alpha ver)

for foobar2000 v0.9.5.2 +,Columns UI0.3 +,WindowsXP +

Note:This component is incomplete and may show unpredictable behaviour.

[Summary] Columns UI panel to place the splitter
And without borders,and slightly overlapping the panels can be set and high degree of freedom.

[Note] Maturity is catastrophically low. Became much so far and what had been originally planned,
Not set items is consistent. In addition,the complex set, TitleFormat knowledge is required.

[How] Foobar2000?copy the dll folder in the component
ColumnsUI from the Layout, Panel Stack Splitter added.
ColumnsUI serves as the Splitter.
Added right-click on the panel → Splitter Settings can be set.

[Setting]

PanelList

Panel placement mode

Panel layout and automatic placement mode, forcing you to set modes.
Automatic deployment mode, the horizontal(Horizontal) or placed vertically(Vertical) or choose a place.
Forced layout mode that is placed on the panel is forced into place.

Size:

Size Display Panel(Horizontal size of the horizon if, Vertical Vertical size of if)

Lock size:

a place not scale.
Each panel is off when the Splitter according to size and place the appropriate scaling for size.
Lock situation even if they may be ± 1 pixel blur minutes.
- «So difficult to fix,it may not fix.

Forced layout:

left Top width right under it to deploy forces in the range specified by the panel.
(size and auto-scaling is no longer valid.)

If you stacked the panel, as displayed on the front panel of the top panel list
(Dependent on implementation of child panels,though. I think I have also come out on 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 also specify mode is relative to size.
when the use parsentage value is on, Splitter percentage relative to the size of the [0-100] can be specified.
The use parsentage value set on when the cases:

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

padding:

put a space around the panel.

[Note]
ColumnsUI in the panel is to present the panel with background transparency features,
use image use background color or background is often not transparent and does not use the panel.

Script

Titleformat mode on startup: PerTrack of TitleFormat startup mode.

  • now playing - TF to the track is subject to
  • follow cursor - select tracks in the playlist
  • last mode - at the end of the previous mode(with mode switch button to save)

title formatting script:
By writing the Titleformat here,you can decorate the background. However,you can draw the child is not covered on the panel.

Extended commands [Reference]
Uppercase argument is optional.
Note:You can not put to waste space.(New line is available)

Title formatting script is being evaluated,

Per Track

- when it is resized.?When the track has changed and play pauses. Function when the REFRESH button.

Per Second

- per second. When a change in playback state. Function when the REFRESH button.

Behaviour

Title Formatting can I put a fixed number is invalid.
If the automatic placement panel,padding will be able to resize with the mouse as if the border is set.

enable resizable border

with on/off can

Use background color

the color specified,fill the background.

Pseudo transparency

splitter to a pseudo-transparent background.(splitter,used if the nest)

Use background image

to specify a fixed background image. TitleFormatting is disabled.

Evaluate scripts when track info is modified

When full information has changed,TF(PerTrack and PerSecond) to evaluate.

[Field]

%ps_width%

Returns the width of the Splitter.

%ps_height%

Returns the height of the Splitter.

%ps_tfmode%

TF return mode.(Per Track enabled)
Mode

  • 0 - nowplaying
  • 1 - follow cursor mode
%ps_isplaying%

Whether playing.

%ps_ispause%

Whether paused.

%ps_foobar2000_path%

foobar2000 path of the executable.

%ps_user_profile_path%

User profile path.

%ps_playback_order%

return the playback order. However,at present,playback order can not be immediately reflected in the change.(REFRESH commands are required)

%ps_track_state%

To assess the state of the full TF.

  • 0: no error
  • 1: no track
  • 2: dummy track(for mainly legacy metadb_display_hook API)

[Function]

$init_ps_global(name,value)

$init_ps_global(name,value,persistency)

The specified name name to create a global variable,set the value of value.
Is valid only if there is no global variable name specified.

:?: Any other comments PanelStackSplitter All global variables are shared between each of the TF PanelStackSplitter evaluation order is undefined.
?Persistency = 1 variable is set, $delete_ps_gobal you use will be saved until you delete from the settings dialog.
?$Init_ps_global(name,value) is, $if($get_ps_global(name),,$set_ps_global(name,value)) and almost equivalent.

name - Name of global variable
value - the value
persistency - whether to save at the end.

  • 0:not saved on exit.
  • 1:that is saved on exit.(default)

$set_ps_global(name,value)

The value of global variable to set the specified value name.
If there is no global variable name is automatically created and set the value.

$get_ps_global(name) or %name%

Returns the value of global variable name specified.
If a name corresponding to the global variable does not exist,false is returned.

$delete_ps_global(name)

Remove the global variable name.

$font(name,size,OPTIONS)

The font settings.
name - the font name
size - font size
OPTIONS - style.
Combination of the following: bold italic underline strikeout

Example:

  $font(Tahoma,10,bold italic)

Drawing functions

$drawstring(text,x,y,w,h,color,OPTIONS[,OPTIONS2])

Function to draw the string. text coordinates(x,y) to draw on.

:?: Any other comments
?Drawtext string and this function can be viewed only in drawtextex.
TrueType fonts can only be?.

text - String to draw.
x - horizontal coordinate
y - vertical coordinate
w - width of the drawing
h - the height of the drawing area
color - color to r-g-b-a format.
OPTIONS - Specify aligned,specify rendering quality,and given to the clip.

  • left hcenter right - given aligned horizontally
  • top vcenter bottom - specify aligned vertically
  • nowrap - no wraparound
  • noaa - ClearType and disable the anti-aliasing.
  • aa - put the anti-aliasing mode. Takes a font in ClearType antialiasing does not work.
  • hq - the highest-quality rendering mode. ClearType mode.(default was on.)
  • glow_aa - glow option to use a special mode.(noaa,aa,hq Exclusive)
  • trimchar trimword - set the display range does not fit into the crop.
  • elipchar elipword - does not fit into the last set to replace the display range???.
  • mempos - getlastpos in to be able to get the coordinates of the drawing.

OPTIONS2 - glow effect to specify the conditions.(Optional experimental,experimental option)

glow - glow options
Specified format

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

offset - glow effect specified offset
Format specified

  • offset:x:y
    • x - glow horizontal offset
    • y - glow vertical offset

:?: Any other comments
Only if specified in the OPTIONS glow_aa, outline and will be available semibold.

outline - specifies the color font border Specified format

  • outline:colour
    • colour - color fringing r-g-b
  • semibold - slightly thick to the characters.

:?: Any other comments
?These specifications may be changed.
How to change the glow,especially drawing,and may outline and the abolition of semibold.
?Glow processing load is high.(Especially when 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,colour1,colour2,OPTIONS)

Draw a rectangle function.
Coordinates(x,y) size(w,h) to draw a rectangle.

colour1 - internal color r-g-b-a form
colour2 - border color of the form r-g-b-a

OPTIONS - Style

  • aa - put the antialiasing

Example

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

$gradientrect(x,y,w,h,colour1,colour2,OPTIONS,peakpoint)

Gradient fill in the rectangle drawing functions.
Coordinates(x,y) size(w,h) to draw a rectangle.

colour1 - start color gradient
colour2 - end color gradient

OPTIONS

  • vertical - gradient vertically.
  • horizontal - gradient horizontally.
  • aa - put the antialiasing.
  • nonlinear - nonlinear gradient.

peakpoint:0-100
To shift the position of the end of the gradient.
The default value is 0 on, colour1 → colour2 to transition to.
When 50 is, colour1 → colour2 → colour1 the transition.

Example:

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

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

Fill a rectangle drawing functions blur the outline.
level - degree blur [1 .. 7]

$drawfocusrect(x,y,w,h)

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

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

Control within a rectangle with VisualStyle(button and progress bar) function to draw.
Because only practical to draw a picture may be low.

:?: Any other comments
?VisualStyle not to draw the control is not defined.
Than required at least WindowXP?.

control:
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:
Drawing in part to the specified control ID. Specify a number.
High numbers are likely to make the following ranges for each control as a guide.
Because the OS components have been added,a guide only.
VisualStyle parts are not defined can not be drawn.

  • 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:
state of the components(such as selected state) show ID. No. If you do not have to specify the state is 0.
stateId as 1 or 0 if not drawn to specify the parts has not been defined.

Example:

  $drawthemerect(0,0,%el_width%,%el_height%,tab,10,0) / / tab draw a portion of the body
  $drawthemerect(,,,,progress,3,0) / / draw the progress bar bar

$drawroundrect(x,y,w,h,w2,h2,colour1,colour2,RESERVED)

Draw a rectangle with rounded corners function.
Coordinates(x,y) size(w,h) to draw a rectangle with rounded corners.

:?: Any other comments
w>4*w2 & & h>4*h2 satisfy the need.

w2 - The width of the rounded
h2 - height of the rounded
internal color colour1
Border Color colour2

Example

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

$drawellipse(x,y,w,h,colour1,colour2,RESERVED)

Ellipse drawing functions.
Coordinates(x,y) size(w,h) to draw the ellipse.

$drawtriangle(x1,y1,x2,y2,x3,y3,colour1,colour2,OPTIONS)

(x1,y1),(x2,y2),(x3,y3) and the vertex functions to draw a triangle.

OPTIONS

  • aa - put the antialiasing

Example:

  $drawtriangle(10,5,20,10,10,15,200-100-100,,aa)

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

Coordinates(x,y) size(w,h) in the path to display an image that is specified in.
If images exist true,must be false.

dipsplays the image specified by path.
after the image is resized,it is cached on the memory.

:?: Any other comments Hold in memory the image after resizing, I'll see if the processing efficiency of the next.
Is referred to as the image will be deleted from the memory of them.
w,h display the original image size is omitted,the cache.
(However,w,h if you are already cached in memory to be omitted, the Image size will have to accept cash.)

Reduced rate if you want to handle multiple
Poor quality and will be expanded after shrinking.
nodisplay noexpansion and using such
Cache memory is better first to reduce the largest percentage reduction in the rate of use.

path - absolute path of the image(or images embedded AudioFile's path)

OPTIONS

  • <appearance>
    • nokeepaspect - do not maintain the aspect ratio(nodisplay,archive,icon options and non-exclusive).
    • nodisplay - read only memory does not display.
    • noexpansion - but to reduce,not expand.
  • <align> - each exclusion.
    • left right - given aligned horizontally.
    • top bottom - specify aligned vertically.
  • <misc>
    • wc - wildcard(*,?) to take effect.
  • <read mode> - each exclusion.
    • archive - archive reader through the path to display images.

The format of the archive reader path-dependent,the absolute path of the Archives | base file path in the room.
Example:

  C:\aaa\image.zip|bbb/ccc.jpg
  • icon - path that is specified in the icon file(*. ico) to view.
  • artreader - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.

If no embedded images,Audio Files folder to load images. However slow.

  • artreader_front - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.
  • artreader_back - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.
  • artreader_disc - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.
  • artreader_icon - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.
  • artreader_artist - path that is specified in the Audio file embedded images of the artwork reader foobar2000 loaded at the core.

(artreader *** are currently disrecommended options because these option seem to be slow)

n - rotateflip index for

  • 1: 90
  • 2: 180
  • 3: 270
  • 4: reversed right
  • 5: 90 + Flip Horizontal
  • 6: Flip Vertical
  • 7: 90 + Flip Vertical

alpha - opacity [0 .. 255] (0 transparency)

OPTIONS2 - shadow effect ($drawstring see the glow 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,
The subregion (srcx,srcy,srcw,srch) coordinates (x,y) size (srcw,srch) to display.

In memory (rw,rh) in the cache.
When evaluating TF (rw,rh) and changes to reload image.
Therefore, rw,rh is to be given a fixed value.

If images exist true, must be false.

See OPTIONS $imageabs

Example:

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

Coordinates(x,y) size(w,h) in the path to display an image that is specified in.
Without the caching behavior of $imageabs.

:?: Any other comments
w and h show the original size is omitted.
TF to be reloaded each time the image is evaluated.

? Not recommended for efficient processing.

OPTIONS - $imageabs reference.

Auxiliary draw

$getlastpos(elem)

Image display function imageabs, imageabs_rc in immediately to get the actual coordinates to draw a picture.
Addition, measurestring also use when you get the results.
mempos can get the coordinates given so soon after the drawstring.

elem - element to specify to retrieve.

  • x:left
  • y:top
  • w:width
  • h:height
  • r:right
  • b:bottom

Example:

   $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) ,255-255-255-128 ,255-255-255-255)

$measurestring(text,x,y,w,h,OPTIONS)

$drawstring to calculate the viewing area when drawing the string.
As a result,returns the horizontal width of the display area.
$Getlastpos to results obtained in the display area.

:?: Any other comments
The drawstring,glow_aa to specify when applying glow effects,
Display range is the result of measurestring may not match.

OPTIONS - $drawstring see

$getimagewidth(path), $getimageheight(path)

path is specified in the image of $imageabs $imageabs_rc loaded in the cache memory
If the image has been resized width of horizontal,vertical width of return.

:?: Any other comments
be used only $imageabs $imageabs_rc behind.

$setparcentmode(bx,by,bw,bh)

Set the mode to specify the coordinates.
Window display area
(0,0) ~(%_width%,%_height%) the place is,
Percentage values specified mode(0,0) -(100,100) mapping.
x,y,w,h can be set individually.

:?: Any other comments
x,y,w,h all affect the function with an argument either.

bx - x-mode coordinates specified

  • 0:Splitter in the mode specified in absolute coordinates
  • 1:Splitter value relative to the size(percentage) specified in that.

by - y coordinates specified mode
bw - w coordinates specified mode
bh - h coordinate specified mode

$getsyscolour(index)

R-g-b color system in the form of return.

index:[0-30] color index system

$averagecolour(colour1,colour2[,colorN])

r-g-b-a the average color of the form.
(colour1+colour2+colorN])/N

$blendcolour(colour1,w1,colour2,w2[,colourN,wN])

r-g-b-a weighted average return in the form.
(w1*colur1+w2*colour2+wN*colourN)/(w1+w2+wN)

$addcolour(colour1,colour2[,colourN])

r-g-b-a to add the color of the form.
colour1 + colour2 + colourN

$subcolour(colour1,colour2 [,colorN])

r-g-b-a to subtract the color of the form.
colour1 - colour2 - colourN

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

path(wildcards accepted) to be specified if the file exists,and returns the first found file path.
Without file returns false.

Function button

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

Make a button.
Per Track only. Per Second is not described.

text - label of the button
mover_text - button label when Mausuhoba

command - «Article Instruction:arguments» specified in the format of

? can not put extra space
; Accepted, separated by several orders given.

:?: Any other comments
(1):and; splitter, so that character is,the argument that these characters,
Likely not parse well.
(2) that the instruction does not specify a time-consuming process.
(3) If more than one instruction is given,the instruction execution order is not guaranteed.

[Instructions for Article Instruction:arguments]

  • COMMAND:commandpath

commandpath command specified by the menu.

  COMMAND:View/Equalizer and
  COMMAND:File/Preferences;
  COMMAND:Playback/Play

Specify and so on.
TF command_path also be evaluated as a note

  COMMAND:'View / Equalizer' 

and recommends you leave.

  • CONTEXT:contextpath

contextpath to perform the specified Context.
Be processed in the context menu, %ps_tfmode% follow.
%ps_tfmode% to zero,to the track. For one, ActivePlaylist full selection.

  CONTEXT:Properties

to specify the like.
TF contextpath also be evaluated as a note

  • PANELSHOW:cap:sh
    • child in a cap caption panel display/hide toggle.
    • sh - given the status display
      • 0 - Inactive
      • 1 - Show
      • -1 - Show/hide toggle
  • TFMODE:mode

Per Track titleformat to change the mode.

  • mode - mode
    • 0 - nowplaying mode
    • 1 - follow curosr mode
    • -1 - Toggle
  • REFRESH

TF,PerTrack,PerSecond to update.

  • SETGLOBAL:name:val

Set the global variable name to val.
The name and val »:« be careful not to be included.

  • SETTAG:name:val

Set the tag name to val.
the case of the 0 %ps_tfmode% track, %ps_tfmode% ActivePlaylist the case of one is a full selection of tracks to be processed.
The name and val »:« be careful not to be included.

  • SETDELTATAG:name:delta_value:min_value:max_value

If the tag name in the content of the numeric,delta_value to change the value added.
If the name tag did not exist,min_value set.
Track be processed, %ps_tfmode% to zero,to the track. For one, ActivePlaylist full selection.

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

  • fontcolor:r-g-b - text color
  • brushcolor:r-g-b-a - the rectangle fill color button
  • pencolor:r-g-b-a - border color of buttons
  • left hcenter right - horizontal location text
  • top vcenter bottom - vertical location text

options2:
mouse over the specified decoration(can specify more than one,separated by spaces)

  • fontcolor:r-g-b - text color
  • brushcolor:r-g-b-a - the rectangle fill color button
  • pencolor:r-g-b-a - border color of buttons
  • left hcenter right - horizontal location text
  • top vcenter bottom - vertical location 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-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 a picture button.
Per Track only. Per Second is not described.
Internal processing of the images as $imageabs equal treatment and is cached in memory.
w,h is omitted,path will be specified in the original size of the image.
textbutton command is common.

options1 - Image display options

  • nokeepaspect
  • left top bottom right

options2 - image display options when Mausuhoba

  • nokeepaspect
  • left top bottom right

GDI drawing functions system

Using GDI to draw. A simple minute,may be processed faster.

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

GDI text drawing functions
text coordinates (x,y) output

OPTIONS

  • Specify left hcenter right aligned horizontally
  • given top vcenter bottom vertically aligned
  • noclip not clip

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

Two string GDI drawing functions
text coordinates (x,y) output

OPTIONS

  • Specify left hcenter right aligned horizontally
  • given top vcenter bottom vertically aligned
  • noclip - not clip
  • given permission wrap wraparound(vcenter,bottom and exclusive)
  • end_ellipsis If the text is clipped,the end of the text to replace

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 of the text when you draw a horizontal text.
specified acceptable font($font see options). Optional font specified

$gettextheight([FONTNAME,SIZE,OPTIONS])

GDI returns the width of the text when drawn with the vertical.
specified acceptable font($font see options). Optional font specified

$fillrect(x,y,w,h,colour,RESERVED)

Fill rectangle function

$fillroundrect(x,y,w,h,w2,h2,colour1,colour2)

Function fill rectangle with rounded corners

? Panel operation system function TF function and draw a lot together,so it is inefficient framework, In the future will be to??.

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

Panel display,change the function hide

i - or something of the second child panel list (counting from 0)
sh - Status display

  • 0 - Inactive
  • 1 - Show

$movepanel(i,x,y,w,h)

$movepanel_c(caption,x,y,w,h)

Forced layout panel specified child,the coordinates(x,y) size(w,h) to move to.

i - or something of the second child panel list (counting from 0)

$getcaption(i)

I return a list of the child panel is set to caption second panel.

$isvisible_c(caption)

Returns the status display panel.

foobar2000/manual/pss_tutorial.txt · Последние изменения: 2012/08/21 10:36 — Izotop