foo_uie_graphical_browser.dll (2008/04/20 rev015)
Album cover browser for the active playlist.
Settings are per panel so if you delete a panel, the settings for that panel also disappear.
Blank → Whatever works. → Sorted by grouped strings.
If you want to arrange in the same order as the playlist?>? $num(%gb_playlist_number%,10)
You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.)
I think that GDI can't be used, please use GDI+ only.
Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn't look good enough.
Draw order:
Popup > Per track(0) > Per track(1) > …
Rendering settings (e.g.: pen, brush, font, …) can't be set again midway.
rev011 and older way. Cache images of all items.
Image cache is purged when switching playlist.
Cache images to the set size.
Image cache is not purged when switching playlist.
If the image cache reach the limit, it will be purged.
[Item], [Popup], [Per track(Popup)]
Return the group string. E.g.: If you used $if2(%album%,@skip) to group, it will return %album%.
[Item]
Item width
[Popup], [Per track(Popup)]
Popup width
[Item]
Item height
[Popup], [Per track(Popup)]
Popup height
[Item], [Popup], [Per track(Popup)]
Check whether focus is on the item or not
[Item]
Check whether mouse cursor is on the item or not
[Popup], [Per track(Popup)]
Probably always true
[Item], [Popup], [Per track(Popup)]
Return item index
[Item], [Popup], [Per track(Popup)]
Return item count
[Sort], [Item], [Popup], [Per track(Popup)]
Return number of songs in an item
[Sort], [Item], [Popup]
Return position of song in playlist for the first song in an item
[Per track(Popup)]\
Return position of song in playlist
[Item], [Popup], [Per track(Popup)]
Return item column number
[Item], [Popup], [Per track(Popup)]
Return item row number
[Item], [Popup], [Per track(Popup)]
Return number of columns
[Item], [Popup], [Per track(Popup)]
Return number of rows
[Item], [Popup]
Return true if a song in the item is playing
[Per track (Popup)]
Return true if it is playing
[Per track (Popup)]
Position of track in item (O based)
[Sort], [Item], [Popup], [Per track(Popup)]
Total length of item/track
[Sort], [Item], [Popup], [Per track(Popup)]
Total length in seconds of item/track
[Item], [Popup], [Per track(Popup)]
Dimension calculations
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with "r-g-b", use a base 10 number for each color component; otherwise use base 16 number with "rrggbb". For GDI+, to set color with "a-r-g-b", use a base 10 number for each color component and alpha channel; otherwise use base 16 number with "aarrggbb". If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can't be used in GDI+ mode. Full-width hyphen can't be displayed right in GDI+ mode.
$set_font(name,size,style) Set font name - font name size - font size style - style Set multiple styles by combining options "b" - bold "i" - italic "u" - underline "s" - strikethrough
$set_font_color(color) Set font color color - color
$draw_text(str,x,y) Draw text str - string x - start point x coordinate y - start point y coordinate
$draw_text(str,x,y,width,height,[option1],[option2],...) Draw text within the set limit str - string x - start point x coordinate y - start point y coordinate width - drawing width height - drawing height option - other option "bottom" - draw at bottom, needs singleline "center" - center aligned "end_ellipsis" - if out of limit, append "...." "left" - left aligned "noclip" - no clip, same as no settings for width and height "path_ellipsis" – like end_ellipsis but used for file path "right" – right aligned "singleline" - display with 1 line "top" - draw at top "vcenter" - vertical center aligned, needs singleline "wordbreak" - display with multiple lines "word_ellipsis" - truncates any word that does not fit in the rectangle and adds ellipsis. Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx
$draw_text_blur(str,x,y,strength,[deep]) $draw_text_blur(str,x,y,width,height,strength,[deep],[option1],[option2],...) 0 Overview Draw blurred text. 0 Arguments str - string x - start point x coordinate y - start point y coordinate strength - Blur strength (1..20) deep - enable [1] option - see $draw_text
$calc_text(str) $calc_text(str,width,height,[option1],[option2],...) Calculate size of str when drawn. Arguments are the same as $draw_text except x and y. Use %gb_calc_*% to obtain values after this function.
$set_pen(color) $set_pen(color,width) $set_pen(color,width,style) Pen settings color - color width - width[1], only effective when using "solid" style style - style["solid"] "solid" - solid line "dash" - dashed line "dot" - dotted line "dashdot" - line with alternating dashes and dots "dashdotdot" - line with alternating dashes and double dots Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx
$set_brush(color) $set_brush(color,style) Brush settings color - color style - style: if it is not set, then brush is solid "bdiagonal" - A 45-degree upward, left-to-right line pattern "cross" - Horizontal and vertical cross pattern "diagcross" - 45-degree cross pattern "fdiagonal" - A 45-degree downward, left-to-right line pattern "horizontal" - Horizontal line pattern "vertical" - Vertical line pattern
$draw_rect(x,y,width,height) Draw rectangle using pen x - start point x coordinate y - start point y coordinate width - width height - height
$fill_rect(x,y,width,height) Fill rectangle using brush x - start point x coordinate y - start point y coordinate width - width height - height
$fill_draw_rect(x,y,width,height) Draw rectangle using pen and brush x - start point x coordinate y - start point y coordinate width - width height - height
$round_rect(x,y,width,height,ellipse_width,ellipse_height) Draw round corner rectangle with pen and brush x - start point x coordinate y - start point y coordinate width - width height - height ellipse_width - ellipse width ellipse_height - ellipse height
$draw_line(x1,y1,x2,y2) Draw line using pen, end point is not drawn. x1 - start point x coordinate y1 - start point y coordinate x2 - end point x coordinate y2 - end point y coordinate
? GDI+ function
Because pen, brush, font do not have default values, please set them up with $gp_set_* before using.
$gp_set_pen(argb,width) $gp_set_pen(argb,width,style,line_join) 0 Overview: Pen settings 0 Arguments: argb - color width - width style - style ["solid"] "solid" - solid line "dash" - dashed line "dot" - dotted line "dashdot" - line with alternating dashes and dots "dashdotdot" - line with alternating dashes and double dots line_join - stroke corner style ["miter"] "miter" "bevel" "round"
$gp_set_brush(argb) 0 Overview: Monocolor brush setting 0 Arguments: argb - color
$gp_set_brush(style,argb1,argb2) 0 Overview: Hatch brush settings 0 Argument: style - Style Use number in range 0 ~ 53. Details at?http://msdn2.microsoft.com/en-us/library/ms534127.aspx argb1 - Foreground color. argb2 - Background color. $gp_set_brush(argb1,x1,y1,argb2,x2,y2) 0 Overview: Set brush with linear gradual effect 0 Arguments: argb1 - color 1 x1 - color 1 x coordinate y1 - color 1 y coordinate argb2 - color 2 x2 - color 2 x coordinate y2 - color 2 y coordinate
$gp_set_font(name,size) $gp_set_font(name,size,style_1,style_2...) 0 Overview: Font settings 0 Arguments: name - font name size - font size style - style "b" - bold "i" - italic "bi" - bold and italic "u" - underline "s" - strikethrough
$gp_set_string_format(alignment,line_alignment,[trimming]) 0 Overview: Text drawing method settings 0 Arguments: alignment - horizontal alignment "near" - left "center" - center "far" - right line_alignment - vertical alignment "near" - top "center" - center "far" - bottom trimming - Trimming. "character" "word" "ellipsis_character" "ellipsis_word" "ellipsis_path"
$gp_set_smoothing_mode(antialias) 0 Overview: Shape anti-alias setting 0 Arguments: antialias - anti-alias 0 - disable 1 - enable
$gp_set_text_rendering_hint(mode) 0 Overview: Text rendering method setting 0 Arguments: mode - method "default" - default "sb+" - single bit per pixel grid fit "sb" - single bit per pixel "aa+" - anti alias grid fit "aa" - anti alias "ct" - clear type
$gp_draw_arc(x,y,width,height,start_angle,sweep_angle) 0 Overview: Draw arc using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_pen $gp_set_smoothing_mode
$gp_draw_ellipse(x,y,width,height) 0 Overview: Draw ellipse using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_smoothing_mode
$gp_draw_line(x1,y1,x2,y2) 0 Overview: Draw line using pen 0 Arguments: x1 - start point x coordinate y1 - start point y coordinate x2 - end point x coordinate y2 - end point y coordinate 0 Settings: $gp_set_pen $gp_set_smoothing_mode
$gp_draw_pie(x,y,width,height,start_angle,sweep_angle) 0 Overview: Draw pie (fan shape) using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_rectangle(x,y,width,height) 0 Overview: Draw rectangle using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_smoothing_mode
$gp_draw_string(str,x,y) $gp_draw_string(str,x,y,width,height) 0 Overview: Draw string using brush 0 Arguments: str - string x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_font $gp_set_brush $gp_set_text_rendering_hint $gp_set_string_format
$gp_calc_string(str) $gp_calc_string(str,width,height) 0 Overview Calculate size of str when drawn
$gp_fill_ellipse(x,y,width,height) 0 Overview: Fill ellipse using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_brush $gp_set_smoothing_mode
$gp_fill_pie(x,y,width,height,start_angle,sweep_angle) 0 Overview: Fill pie using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_brush $gp_set_smoothing_mode
$gp_fill_rectangle(x,y,width,height) 0 Overview: Fill rectangle using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_brush $gp_set_smoothing_mode
$gp_draw_string_path(str,size,mode,x,y) $gp_draw_string_path(str,size,mode,x,y,width,height) 0 Overview: Draw string with border. 0 Arguments: str - string size - character size, px unit (different from current font size) mode - draw mode "" - fill and border "stroke" - only border "fill" - only fill x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_brush $gp_set_font $gp_set_string_format $gp_set_smoothing_mode 0 Examples: $gp_set_font(Tahoma,9,b) $gp_set_pen(ff1500ff,2,,round) $gp_set_brush(ffddeeff) $gp_set_string_format(center,center) $gp_set_smoothing_mode(1) $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)
$gp_calc_string_path(str,size,mode) $gp_calc_string_path(str,size,mode,width,height) 0 Overview Calculate size of str with border when drawn
$draw_image(x,y,width,height,path) $draw_image(x,y,width,height,path,alpha) $draw_image(x,y,width,height,path,alpha,option) $draw_image(x,y,width,height,path,alpha,option,rotate_flip) 0 Overview: Draw image 0 Arguments: x - starting point x coordinate y - starting point y coordinate width - width height - height path - absolute path to image, wild cards are accepted. alpha - degree of opacity[255] option - other options[""] "nokeepaspect" - don't keep picture aspect ratio "top" - draw at the top "topright" - draw on the top right "right" - draw from the right "bottomright" - draw on the bottom right "bottom" - draw at the bottom "bottomleft" - draw on the bottom left "left" - draw from the left "topleft" - draw on the top left rotate_flip - Rotation and flip [0] 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally 2 - Rotate right 180 degrees = Flip vertically then horizontally 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally 4 - Flip horizontally = Rotate right 180 degrees, flip vertically 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically 6 - Rotate right 180 degrees, flip horizontally = Flip vertically 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically 0 Reference After executing this function, you can use %gb_calc_*% to obtain the real dimensions used.
$set_size(width,height) 0 Overview Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. %gb_width%,%gb_height% values are changed accordingly. When width or height is 0 or less, popup won't be drawn. 0 Arguments: width - width height - height
$set_org(x,y) 0 Overview Starting point setting 0 Arguments: x - starting point x coordinate y - starting point y coordinate
$set_clip_rect() $set_clip_rect(x,y,width,height) 0 Overview Only draw GDI, GDI+, and pictures inside the designated area. Cancel this function effect by calling it with no argument.
$sum(tf) 0 Overview Calculate sum of values designated by TitleFormat. 0 Arguments: tf - TitleFormat 0 Example: Total number played $sum('%play_count%')
$eval(expression) Evaluate the expression and calculate expression - expression E.g.: $eval(5+3) E.g.: $eval({%gp_width%-10}/2) ? Divide by zero expression returns 0. Can be used with sort