THIS IS NOT MY RELEASEDOWNLOAD: http://www.tv2ch.info/fb2k (http://www.tv2ch.info/fb2k)
Readme translated by thuan (rev014):
Graphical Browser
● What this component does:
Album cover browser for the active playlist.
● Caution
Settings are per panel so if you delete a panel, the settings for that panel
also disappear.
● Sort
Blank → Whatever works.
* → Sorted by grouped strings.
If you want to arrange in the same order as the playlist → $num(%gb_playlist_number%,10)
● Popup
Transparent mode
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.
Per track
Draw order:
Popup → Per track(0) → Per track(1) → ...
Rendering settings (e.g.: pen, brush, font, ...) can't be set again midway.
● Image cache methods
Old
rev011 and older way. Cache images of all items.
Image cache is purged when switching playlist.
Default
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.
● Variables
%gb_group%
[Item], [Popup], [Per track(Popup)]
Return the group string. E.g.: If you used $if2(%album%,@skip) to group,
it will return %album%.
%gb_width%
[Item]
Item width
[Popup], [Per track(Popup)]
Popup width
%gb_height%
[Item]
Item height
[Popup], [Per track(Popup)]
Popup height
%gb_focused%
[Item], [Popup], [Per track(Popup)]
Check whether focus is on the item or not
%gb_mouse_over%
[Item]
Check whether mouse cursor is on the item or not
[Popup], [Per track(Popup)]
Probably always true
%gb_item_index%
[Item], [Popup], [Per track(Popup)]
Return item index
%gb_item_count%
[Item], [Popup], [Per track(Popup)]
Return item count
%gb_track_count%
[Sort], [Item], [Popup], [Per track(Popup)]
Return number of songs in an item
%gb_playlist_number%
[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
%gb_col%
[Item], [Popup], [Per track(Popup)]
Return item column number
%gb_row%
[Item], [Popup], [Per track(Popup)]
Return item row number
%gb_col_count%
[Item], [Popup], [Per track(Popup)]
Return number of columns
%gb_row_count%
[Item], [Popup], [Per track(Popup)]
Return number of rows
%gb_isplaying%
[Item], [Popup]
Return true if a song in the item is playing
[Per track (Popup)]
Return true if it is playing
%gb_track_index%
[Per track (Popup)]
Position of track in item (O based)
%gb_length%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length of item/track
%gb_length_seconds%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length in seconds of item/track
%gb_calc_x%
%gb_calc_y%
%gb_calc_width%
%gb_calc_height%
[Item], [Popup], [Per track(Popup)]
Dimension calculations
Values change with functions below
$calc_text
$gp_calc_string
$gp_calc_string_path
$draw_image
● About functions:
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.
● GDI function
$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 [url=http://msdn2.microsoft.com/en-us/library/ms533909.aspx]http://msdn2.microsoft.com/en-us/library/ms533909.aspx[/url]
$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 [url=http://msdn2.microsoft.com/en-us/library/ms535467(VS.85).aspx]http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx[/url]
$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)
○ Overview:
Pen settings
○ 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)
○ Overview:
Monocolor brush setting
○ Arguments:
argb - color
$gp_set_brush(style,argb1,argb2)
○ Overview:
Hatch brush settings
○ 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)
○ Overview:
Set brush with linear gradual effect
○ 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...)
○ Overview:
Font settings
○ 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])
○ Overview:
Text drawing method settings
○ 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)
○ Overview:
Shape anti-alias setting
○ Arguments:
antialias - anti-alias
0 - disable
1 - enable
$gp_set_text_rendering_hint(mode)
○ Overview:
Text rendering method setting
○ 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)
○ Overview:
Draw arc using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_ellipse(x,y,width,height)
○ Overview:
Draw ellipse using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_line(x1,y1,x2,y2)
○ Overview:
Draw line using pen
○ Arguments:
x1 - start point x coordinate
y1 - start point y coordinate
x2 - end point x coordinate
y2 - end point y coordinate
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Draw pie (fan shape) using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_rectangle(x,y,width,height)
○ Overview:
Draw rectangle using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_string(str,x,y)
$gp_draw_string(str,x,y,width,height)
○ Overview:
Draw string using brush
○ Arguments:
str - string
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview
Calculate size of str when drawn
$gp_fill_ellipse(x,y,width,height)
○ Overview:
Fill ellipse using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Fill pie using brush
○ 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)
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_rectangle(x,y,width,height)
○ Overview:
Fill rectangle using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview:
Draw string with border.
○ 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
○ Settings:
$gp_set_pen
$gp_set_brush
$gp_set_font
$gp_set_string_format
$gp_set_smoothing_mode
○ 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)
○ Overview
Calculate size of str with border when drawn
● Draw image function
$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)
○ Overview:
Draw image
○ 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
○ Reference
After executing this function, you can use
%gb_calc_*% to obtain the real dimensions used.
● Other functions
$set_size(width,height)
○ 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.
○ Arguments:
width - width
height - height
$set_org(x,y)
○ Overview
Starting point setting
○ Arguments:
x - starting point x coordinate
y - starting point y coordinate
$sum(tf)
○ Overview
Calculate sum of values designated by TitleFormat.
○ Arguments:
tf - TitleFormat
○ 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
● Change logs:
2008/03/16 rev014
Added - $set_size function
Added - %gb_calc_x% variable
Added - %gb_calc_y% variable
Added - %gb_calc_width% variable
Added - %gb_calc_height% variable
Added - $calc_text function
Added - $gp_calc_string function
Added - $gp_calc_string_path function
Fixed - $draw_image function
Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before,
just forgot to write here…
Fixed - Several bugs fixed
2008/03/12 rev013
Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item
Fixed - When drawing in GDI mode, fixed a drawing background bug
2008/03/11 rev012
Fixed - Fatal resource leak
Added - Image cache options
2008/03/10 rev011
Added - Ability to move focus to an item when pressing the first character of %gb_group%
using keyboard
Added - Ability to add to specified playlist instead of replacing it
Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)
(TL's note: not sure about the last one, the meaning is a little vague and I don't have
Windows 2000 to test)
2008/03/09 rev010
Fixed - For some reason, I changed the variable name %gb_subitem_count% to %gb_track_count%
(the one before can still be used)
Added - Function $gp_set_brush(style,argb1,argb2)
Added - Function $set_org(x,y)
Added - Popup display transparent mode
Added - Popup delay setting
Added - Function $sum(tf)
Added - Variable %gb_isplaying%
Added - Variable %gb_track_index%
Added - Variable %gb_length%
Added - Variable %gb_length_seconds%
2008/03/02 rev009
Fixed - Fixed the bug that causes rotateflip does nothing
Fixed - Fixed behavior when there's no scroll bar
Added - Added mouse over popup.
2008/03/02 rev008
Fixed - Fixed bug that prevent the use of wild cards in $draw_image function
2008/03/02 rev007
Added - Ability to [always show|if necessary show|hide] scroll bar
Fixed - $set_font function (style)
Fixed - $draw_image function (rotate_flip)
Added - Middle mouse button action
Added - Ability to send to specified playlist
Older change logs omitted.
● Copyright
TitleFormatting Editor
Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> All Rights Reserved
[url=http://scintilla.sourceforge.net/]http://scintilla.sourceforge.net/[/url]
Thanks!
Trying right now!
Can't figure out how to show images!
EDIT: I did it! But the component doesn't support my Panels UI globals variables.
EDIT: I did it! But the component doesn't support my Panels UI globals variables.
How to do this?
I don't have no idea with this GREAT and fancy plugin...
Here is basically what I have to show the cover of each of my albums, and when selected has a diagonal selection rectangle overtop of the image:
$draw_image(0,0,%_width%,%_height%,
$if($cwb_fileexists(PATH_TO_MY_ALBUM_ART),PATH_TO_MY_ALBUM_ART,PATH_TO_MY_NO_ART_IMAGE))
$if(%_focused%,
$set_pen(808080,1)
$set_brush(128-192-255,fdiagonal)
$round_rect(0,0,%_width%,%_height%,5,5)
,)
Wow. Nice plugin. Shame my music collection is mostly coverless at this point in time.
But for those with more commercial music tastes and thus have albums with covers, this would be great!
cool,
thanks
ill try it
it works nice but need some improvement and a good english translation
Thanks a lot
Perhaps it will allow us to make the same interface as the zune software which is prettu cool i think
The one thing I wish it had was the ability for the rectangles to be alpha transparent.
I'm glad people are enjoying this plugin tho. Many cool things can be found on the japanese wiki .
That's a very nice plugin. Any easy way to implement it for foobar newbies?
Where is this getting its list of tracks from?
I can get it to display an image for the current track (i.e the first track in the active playlist)- but not anything else.
That's a very nice plugin. Any easy way to implement it for foobar newbies?
we're all new to this component.
Where is this getting its list of tracks from?
I can get it to display an image for the current track (i.e the first track in the active playlist)- but not anything else.
Some progress:
top box is where you specify grouping criteria (e.g. %album%)
drop down on lhs seems to be display "rows by columns" or "columns by rows".
nicee component
w: 120 h:150
sort: $num(%gb_playlist_number%,10)
$set_font(Tahoma,8)
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(51-153-255)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
$set_font_color(ffffff)
,
$set_font_color(000000)
)
$if(%gb_mouse_over%,
$set_pen(303030,1)
//$set_brush(191-223-255)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
,)
$draw_image(1,1,$eval(%gb_width%-2),$eval(%gb_width%-2),$replace(%path%,%filename_ext%,)folder.jpg,255,nokeepaspect)
$draw_image(1,1,$eval(%gb_width%-2),$eval(%gb_width%-2),$replace(%path%,%filename_ext%,)cover.jpg,255,nokeepaspect)
$draw_text(%album artist%,5,%gb_width%,$eval(%gb_width%-5),%gb_width%,center,end_ellipsis)
$draw_text(%album%,5,$eval(%gb_width%+14),$eval(%gb_width%-5),%gb_width%,center,end_ellipsis)
Works pretty well (not too power hungry).
If anyone figures out if/how you can control what clicking on a cover does, please post.
Thanks.l
my script:
display vertical rectangle with cover , artist date and album text
colours match green xp theme
group ( first edit box) :
$if(%album%,$upper(%album artist%) $if($meta(album artist),,%date%)%album%,@skip)
width 180 height 220
code:
$if(%_focused%,
$set_pen(808080,1)
$set_brush(147-160-112)
$round_rect(0,0,%_width%,%_height%,5,5)
$set_font(Tahoma,9)
$set_font_color(255-255-255)
$draw_text(%album artist% - ['('%date%') ']%album%,2,$add(%_width%,5),$sub(%_width%,6),$sub($sub(%_height%,%_width%),10),center,wordbreak)
,
$set_font(Tahoma,9)
$set_font_color(0-0-0)
$draw_text(%album artist% - ['('%date%') ']%album%,2,$add(%_width%,5),$sub(%_width%,6),$sub($sub(%_height%,%_width%),10),center,wordbreak)
)
$draw_image(2,2,$sub(%_width%,4),$sub(%_width%,4),
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,C:\Program Files\foobar2000\default.jpg)))
After ages only managing to show a default picture - I worked out I needed foo_cwb_hooks - thanks for the code
Hi !!
newbie, sorry.......
the component is in place, but............................nothing. I don't see anything with this name : graphical_browser, in the "preferences" or the "menu"
Please, where can I find something to make it work ?
thanks a lot.
Hi !!
newbie, sorry.......
the component is in place, but............................nothing. I don't see anything with this name : graphical_browser, in the "preferences" or the "menu"
Please, where can I find something to make it work ?
thanks a lot.
Open it as a panel under panels ui then right click on it - up comes a "settings" option.
Thank you Melomane!!!!:
Now, how i change the background?? It stills in white colour....
and the fonts colour??
Can add some other things in text like genre, artist, format (flac, mp3,...)???
Thanks.
Thank you Melomane!!!!:
Now, how i change the background?? It stills in white colour....
and the fonts colour??
Can add some other things in text like genre, artist, format (flac, mp3,...)???
Thanks.
Check out the first post, I posted a screen shot of the dialog window. The background color can be changed with the bottom left button (its in japanese and pops up a color picker).
Font color is explained in the readme.
To add things like genre, artist, etc just use the tags for the corresponding tag you want to show (genre = %genre% etc). I am pretty sure that this component uses the basic titleformatting language of foobar itself:
http://wiki.hydrogenaudio.org/index.php?ti...ormat_Reference (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference)
my script:
display vertical rectangle with cover , artist date and album text
colours match green xp theme
group ( first edit box) :
$if(%album%,$upper(%album artist%) $if($meta(album artist),,%date%)%album%,@skip)
width 180 height 220
What does @skip do? - I don't think I've seen this used in Foobar before.
What does @skip do? - I don't think I've seen this used in Foobar before.
I am almost positive that it will skip any track with no %album% tag. Try it yourself; remove the album tag and nothing will show up for that song. Thats what it seems to do for me anyways.
Thank you Melomane!!!!:
Now, how i change the background?? It stills in white colour....
and the fonts colour??
Can add some other things in text like genre, artist, format (flac, mp3,...)???
Thanks.
To change background colour -
put this at the start of the settings, change the 192-192-192 to the code of the colour you want
$set_pen(192-192-192,1)
$set_brush(192-192-192)
$fill_draw_rect(0,0,%_width%,%_height%)
To change font colour use:
$set_font_color(0-0-0)
(the bottom left hand button opens a colour picker)
with the bottom left hand button you can put color for the global background
@skip : not display item
for exemple:
$if(%album%,$upper(%album artist%) $if($meta(album artist),,%date%)%album%,@skip)
if album when sort by $upper(album artist) [ workaround for sorting bug ] when bydate if not value in album artist when album else not display item
Check out the first post, I posted a screen shot of the dialog window.
Thank you very much!!!!.
To change font colour use:
$set_font_color(0-0-0)
(0-0-0) means RGB??
How change the fonts shadows colour and size and the fonts size??
How change the fonts shadows colour and size and the fonts size??
This component comes with a .txt file - Why don't you give it a read???
New version is up, check out my first post for a link .
doesn't quite call on the correct "actions"
Edit other>Send to Specified Playlist (should call on available playlists, but it doesn't grab the actual playlists)
i.e Send to playlist\new tracks
Once they get that sorted out I may have a replacement for Album Art Browser.
pic: http://www.halfbakedschemes.com/test/graphic.jpg (http://www.halfbakedschemes.com/test/graphic.jpg)
A new version has just been released again, maybe this one might fix your problems nightfishing?
Check the first post again .
Interesting plugin. The funny thing is that I was thinking of a special mode like this plugin for bubble cover flow a few weeks ago (no promise though).
This brings me in a great dilemma... I really love the Facets plugin, but with this album browser, ColumnsUI is more appealing
This brings me in a great dilemma... I really love the Facets plugin, but with this album browser, ColumnsUI is more appealing
I run it in a dockable panel with DUI.
I must be insanely dumb... Can't get it to show ANYTHING. I'm down to basics now:
$draw_image(0,0,%gb_width%,%gb_height%,$replace(%path%,%filename_ext%,front.jpg))
Edit: %_width% were renamed to %gb_width% etc... I followed my own previously good example to read the manual
new script
use mouseover to display album -artist
220*220
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(49-106-199)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
,)
$draw_image(8,8,$eval(%gb_width%-16),$eval(%gb_width%-16),$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,C:\Program Files\foobar2000\default.jpg)),255,nokeepaspect)
$if(%gb_mouse_over%,
$set_pen(808080,1)
$set_brush(235-235-235)
$round_rect($eval(%gb_width%/12),$eval(%gb_height%/6*5-8),$eval(%gb_width%/6*5),$eval(%gb_height%/6+8),20,20)
$gp_set_font(Tahoma,9)
$gp_set_string_format(center,center)
$gp_set_brush(ff000000)
$gp_draw_string(%artist% - %album%,$eval(%gb_width%/12+5),$eval(%gb_height%/6*5-8),$eval(%gb_width%/6*5-10),$eval(%gb_height%/6+8))
,)
Well, this is the first component that makes me go against my KISS principle. Here's my code:
$puts(imagePath,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)front.jpg),
$replace(%path%,%filename_ext%,)front.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),
$replace(%path%,%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),
$replace(%path%,%filename_ext%,)folder.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)front.png),
$replace(%path%,%filename_ext%,)front.png,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.png),
$replace(%path%,%filename_ext%,)cover.png,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.png),
$replace(%path%,%filename_ext%,)folder.png,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)front.jpg),
$replace(%path%,%directory%\%filename_ext%,)front.jpg,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)cover.jpg),
$replace(%path%,%directory%\%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)folder.jpg),
$replace(%path%,%directory%\%filename_ext%,)folder.jpg,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)front.png),
$replace(%path%,%directory%\%filename_ext%,)front.png,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)cover.png),
$replace(%path%,%directory%\%filename_ext%,)cover.png,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)folder.png),
$replace(%path%,%directory%\%filename_ext%,)folder.png,
'.\components\default.png'
)
)
)
)
)
)
)
)
)
)
)
)
)
$draw_image(0,0,%gb_height%,%gb_height%,
$get(imagePath),
$if(%gb_focused%,255,128)
)
$if(%gb_mouse_over%,
$gp_set_pen(669800ff,4)
$gp_draw_rectangle(0,0,%gb_width%,%gb_height%)
,)
$if(%gb_focused%,
$set_pen(000000,4)
$draw_rect(0,0,%gb_width%,%gb_height%)
,
$gp_set_font(Tahoma,9)
$gp_set_text_rendering_hint(ct)
$gp_set_string_format(center,center)
$gp_set_brush(66000000)
$gp_draw_string(%gb_group%,3,3,$eval(%gb_width%-6),$eval(%gb_height%-6))
$gp_set_brush(ff000000)
$gp_draw_string(%gb_group%,2,2,$eval(%gb_width%-6),$eval(%gb_height%-6))
)
This code display inactive albums with half transparent covers and album names. Active one is shown normally and without caption.
It is possible display album covers in order as songs placed in playlist?
Just use the same sort string for your playlist and this panel sort string in its settings. Still, the way foobar sort characters is a little weird so you may encounter inconsistency with certain characters.
Great plugin!
My script:
GROUP:
$if(%totaltracks%,%album artist% %album%,@skip)
SORT:
%album artist%$if($meta(album artist),,%date%)%album%
ITEM SIZE: 58x58
DRAW:
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(206-56-40)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
$puts(tra,210)
,
$puts(tra,255)
)
$gp_set_font(Tahoma,8)
$gp_set_brush(33000000)
$gp_set_string_format(center,center)
$gp_draw_string(%gb_group%,3,3,$eval(%gb_width%-6),$eval(%gb_height%-6))
$gp_set_brush(ff6b2b21)
$gp_draw_string(%gb_group%,2,2,$eval(%gb_width%-6),$eval(%gb_height%-6))
$if(%gb_mouse_over%,
$gp_set_pen(66ce3828,4)
$gp_draw_rectangle(0,0,%gb_width%,%gb_height%)
,)
$draw_image(2,2,$eval(%gb_width%-4),$eval(%gb_width%-4),
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)front.jpg),$replace(%path%,%filename_ext%,)front.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,
))),$get(tra),nokeepaspect)
(http://images33.fotosik.pl/155/2eccd7fe8b7e5d40m.jpg) (http://www.fotosik.pl/showFullSize.php?id=2eccd7fe8b7e5d40)
To work you need:
- "foo_cwb_hooks.dll" plugin instaled,
- metafield %totaltracks% enteried,
Great plugin !!!
here is what i'm working on for this components to implement it on my next PUI config :
(http://xs124.xs.to/xs124/08080/gb01736.jpg)
Is there any English documentation out there, or is the included text file (which I didn't find *terribly* helpful) and this thread pretty much it?
not sure if the dev's troll 'round here, but...
1) It would be more useful (to me) if there was an option to view the entire library (and the view wouldn't follow the active playlist.) Currently if you select a cover and send it's contents to a playlist, the view then consists of only covers on that playlist. (view follows playback). As a browsing tool, this behavior makes it pretty much unuasble (for me)
2) bug: problem with context menu entries (see pic). Edit other does not access the actual playlists.
http://www.halfbakedschemes.com/test/test.html (http://www.halfbakedschemes.com/test/test.html)
Hoping to see this continue....
New version is out, see the first post for a download link .
Here is a list of changes translated from the readme:
Changes:
- Correcting the specification where exception comes out due to panel size
- Setting scroll interval (seems to be by pixels)
not sure if the dev's troll 'round here, but...
1) It would be more useful (to me) if there was an option to view the entire library (and the view wouldn't follow the active playlist.) Currently if you select a cover and send it's contents to a playlist, the view then consists of only covers on that playlist. (view follows playback). As a browsing tool, this behavior makes it pretty much unuasble (for me)
2) bug: problem with context menu entries (see pic). Edit other does not access the actual playlists.
http://www.halfbakedschemes.com/test/test.html (http://www.halfbakedschemes.com/test/test.html)
Hoping to see this continue....
"the view wouldn't follow the active playlist", yep it's a real problem, so sort order is not hte same that the one of the SCPL ...
not sure if the dev's troll 'round here, but...
1) It would be more useful (to me) if there was an option to view the entire library (and the view wouldn't follow the active playlist.) Currently if you select a cover and send it's contents to a playlist, the view then consists of only covers on that playlist. (view follows playback). As a browsing tool, this behavior makes it pretty much unuasble (for me)
I completely agree. I have sent the link to this thread to the develper, but I don't know if they have taken a look yet (or if they will). They told me they don't understand english very well, so I doubt they are focusing on this thread. I did tell them that this place is great for finding bugs and being beta testers however, so hopefully they've taken a peek here .
I and my friend are currently translating the readme. It'll be out when it's done. And I will ask Keikonium to put it in the first post.
I and my friend are currently translating the readme. It'll be out when it's done. And I will ask Keikonium to put it in the first post.
Sounds great! I had tried translating it with babelfish, but the japanese -> english got more and more... oddly worded. So I gave up lol. Just PM me when you're done it
not sure if the dev's troll 'round here, but...
1) It would be more useful (to me) if there was an option to view the entire library (and the view wouldn't follow the active playlist.) Currently if you select a cover and send it's contents to a playlist, the view then consists of only covers on that playlist. (view follows playback). As a browsing tool, this behavior makes it pretty much unuasble (for me)
2) bug: problem with context menu entries (see pic). Edit other does not access the actual playlists.
http://www.halfbakedschemes.com/test/test.html (http://www.halfbakedschemes.com/test/test.html)
Hoping to see this continue....
"the view wouldn't follow the active playlist", yep it's a real problem, so sort order is not hte same that the one of the SCPL ...
An answer from the author that i've just received and that i share with you :
"
Hello.
If you want to sort these items like activeplaylist,
please use like this to the Sort setting.
$num(%gb_playlist_number%,10)
...
"
not tested yet, i goto work for now
Well, from our translation:
%gb_subitem_count%
subitem count (can be used with sort)
%gb_playlist_number%
playlist number(can be used with sort)
So yes, you can use them in sort strings. I should have read my own work, before answering lol.
EDIT: I plan to include more detail for each variables and functions, too. As what the original author uses for each of them are a little vague.
Finally!! Works Fine!!
Many, many Thanks!!
(http://img352.imageshack.us/img352/1233/screenhunter006ln4.jpg)
^
Wow, that looks really cool! Could you share your code and image/s?
I have one sugestion.
It is possible display GB in separate window, as it is released in foo_bubble_coverflow.dl?
I use DUI and I must display GB in dockable panel, but when I collapse Foobar to tray GB panel also collapsed.
I want see GB window not collapsed, when I use collapsed Foobar to tray, as it made in bubble_coverflow window mode.
Hello, I've got quick question. If it's possible to hide srollbar without using other panel?
I have one sugestion.
It is possible display GB in separate window, as it is released in foo_bubble_coverflow.dl?
I use DUI and I must display GB in dockable panel, but when I collapse Foobar to tray GB panel also collapsed.
I want see GB window not collapsed, when I use collapsed Foobar to tray, as it made in bubble_coverflow window mode.
see in the option of dockable panel
New version is out!
Check the first post for a link .
Changes in this build (used babelfish to translate, and worded it with better meaning, so might be slightly off):
* Added - loading images with wildcards
* Added - $gp_draw_string_path function added
* Fixed - Increased scroll size (used to cap off at 200, now it's 1000)
* Fixed - Most functions now accept negative values
* Fixed - $gp_set_pen function fixed
* Fixed - $gp_set_brush function fixed
^
Wow, that looks really cool! Could you share your code and image/s?
The Code is the same posted by "melomane"... I only add overlays.
It's great but I need one more thing - transparent background...
It's great but I need one more thing - transparent background...
agreed. I wish this were possible too >.<. Maybe in a future release
@joaotavela: Well, I haven't figured out that overlay part. Can you share that part?
@Keikonium: Please put up the version for the readme file. In case, there's a time lag between his release and my translation so it won't cause any confusion.
@joaotavela: Well, I haven't figured out that overlay part. Can you share that part?
@Keikonium: Please put up the version for the readme file. In case, there's a time lag between his release and my translation so it won't cause any confusion.
will do .
@joaotavela: Well, I haven't figured out that overlay part. Can you share that part?
@Keikonium: Please put up the version for the readme file. In case, there's a time lag between his release and my translation so it won't cause any confusion.
code and image links
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(147-160-112)
$round_rect(4,4,$eval(%gb_width%-14),$eval(%gb_width%-36),5,5)
$gp_set_font(Tahoma,9)
$gp_set_string_format(center,near)
$gp_set_brush(ffffffff)
$gp_draw_string(%gb_group%,2,%gb_width%,$eval(%gb_width%-6),$eval(%gb_height%-6))
,
$gp_set_font(Tahoma,9)
$gp_set_string_format(center,near)
$gp_set_brush(ff000000)
$gp_draw_string(%gb_group%,2,%gb_width%,$eval(%gb_width%-6),$eval(%gb_height%-6))
)
$if(%gb_mouse_over%,
$gp_set_pen(669800ff,4)
$gp_draw_rectangle(0,0,$eval(%gb_width%-2),$eval(%gb_width%-26))
,)
$draw_image(18,3,$eval(%gb_width%-25),$eval(%gb_width%-32),$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,C:\Program Files\foobar2000\default.jpg)),255,nokeepaspect)
$draw_image(0,0,$eval(%gb_width%-2),$eval(%gb_width%-26),C:\Your Foobar Images Directory/cdcaseck3.png,255,NOKEEPASPECT )
$draw_image(18,3,$eval(%gb_width%-2),$eval(%gb_width%-26),C:\Your Foobar Images Directory/glareyo0.png,50,NOKEEPASPECT)
CD Case Image (http://img267.imageshack.us/img267/8325/cdcaseck3.png)
Glare image (http://img171.imageshack.us/img171/5822/glareyo0.png)
Thank you, with your pictures, now I can make it work.
Here's how my config currently looks like
(http://img176.imageshack.us/img176/1145/final1sq2.th.png) (http://img176.imageshack.us/my.php?image=final1sq2.png)
and when mouse over is on an album (in this case, TAM no Fukubukuro)
(http://img168.imageshack.us/img168/9559/final2xp0.th.png) (http://img168.imageshack.us/my.php?image=final2xp0.png)
Group:
$if2(%album%,@skip)
Sort:
$num(%gb_playlist_number%,10)
Type: Vertical Scroll
Size: 120x114
$puts(imagePath,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),
$replace(%path%,%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%directory%\%filename_ext%,)cover.jpg),
$replace(%path%,%directory%\%filename_ext%,)cover.jpg,
'.\components\default.png'
)
)
)
$draw_image(3,4,$eval(%gb_width%-2),$eval(%gb_height%-8),
'.\components\cdcaseck3.png',
255,
nokeepaspect
)
$draw_image(16,6,$eval(%gb_width%-18),$eval(%gb_height%-12),
$get(imagePath),
$if(%gb_mouse_over%,150,255),
nokeepaspect
)
$draw_image(16,6,$eval(%gb_width%-18),$eval(%gb_height%-12),
'.\components\glareyo0.png',
50,
nokeepaspect
)
$if(%gb_focused%,
,
$gp_set_font(Tahoma,9,b)
$gp_set_text_rendering_hint(ct)
$gp_set_smoothing_mode(1)
$gp_set_string_format(center,center)
$if(%gb_mouse_over%,
$gp_set_pen(255-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0),
$gp_set_pen(255-0-0-0,3,,bevel)
$gp_set_brush(255-255-255-255)
)
$gp_draw_string_path(%gb_group%,12,,4,4,$eval(%gb_width%-6),$eval(%gb_height%-6))
)
EDIT: Forget to mention that you need the CD case image and glare image in joaotavela's post above.
Hi all.
I installed graphical browser in a dockable panel since I am using DefaultUI.
I tried all codes posted here but I get plain colour squares instead of art everytime I scroll the mouse. I thought of my video card drivers but this cannot be the issue since the cover flow component works fine in a dockable panel on my computer.
Any help would be much appreciated. Thanks.
You probably need to change the filenames of the art files in those codes.
For example, modify this:
$replace(%path%,%filename_ext%,)cover.jpg)
To this:
$replace(%path%,%filename_ext%,)folder.jpg)
Or, you may need the foo_cwb_hooks component...
anyone figure out the new features in rev 007?
It appears to have added the option of specifying the playlist the items get sent to, but I can't get it to do anything.
Would like to know the translation for the new check box, also ;-)
anyone figure out the new features in rev 007?
It appears to have added the option of specifying the playlist the items get sent to, but I can't get it to do anything.
Would like to know the translation for the new check box, also ;-)
Got it working:
choose the "(send to playlist)" action from the top of the list.
The new checkbox label means:
"The feed function to the play list which it appoints"
It seems to control whether the graphical brower refreshes itself with the contents of the new playlist or remains as it was before the selection action.
To the developer: many thanks for a fantastic plug-in!
Got it working:
choose the "(send to playlist)" action from the top of the list.
DOH!
I feel dumb, now :-(
Thank you!
And Thanks to the developers!!
"(Send to Playlist AND PLAY)" would be great!
Can "item size" be changed with image size?
Im trying to enlarge the image using mouse over with out having a huge gap in between
the image's
right now my item size is 300x300 and im useing
$draw_image(0,0,176,176,
$get(imagePath),
$if(%gb_focused%,255,128)
)
$if(%gb_mouse_over%,
$draw_image(0,0,300,300,
$get(imagePath)))
from thuan's (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=549065) code
Another new version, check first post again .
Changes:
- Fixed a bug that didn't allow draw image to use wildcards.
Just in case, the developer(s) are watching:
It would be more useful (to me) if the view wouldn't follow the active playlist but stayed fixed based a particular, specified, playlist.
I'm finding that the current behavior is making it very difficult for me to use as a browser.
Kiteroa,
If you use the new "send to playlist" function, it will stay on the originsl view you chose after sending the selected items to the playlist.
I agree that being able to "lock" it to a specific playlist would be great (like Album Art browser works), but this new behavior does make it much more usable.
The devs ARE listening (and are working quite quickly :-)
@Bum: AFAIK, no as of now.
@Keikonium: I've sent you the new readme.
EDIT: OT: new version of uie_lyrics_art was released with certain implementation that will make my translation cleaner. I will officially release it when it's done as I have his permission now.
It's a great plugin!
I intended to display some "playing" icon on the cover for the current playing album.
But, it did not work:
$if(%isplaying%,
$draw_image($eval({%gb_width%/2}-25),$eval({%gb_height%/2}-25),50,50,
D:\Imagens\Capas de Discos\play.png,
200,)
)
Does
%isplaying% really work here or I'm doing something wrong?
Wow! the new version with the popup thingy is great!
Check it out ASAP!
007 started causing playback issues for me, so I had to remove it.
After using it for an hour or two, I would start getting some serious hiccups in playback at the start of tracks. Closing/reopening foobar would "fix" the issue.
Not sure what the connection would be, but I do not have the issue with the component removed.
I can confirm this component works well in wine:
(http://img147.imageshack.us/img147/8199/gbptd4.th.png) (http://img147.imageshack.us/my.php?image=gbptd4.png)
Also I noticed that the $draw_image() function appears to return true/false based on if it is successful so you can get away with doing something like this instead of using cwb_fileexists (which doesnt appear to support wildcards):
$puts(cover,$replace(%path%,%filename_ext%,%album artist% - %title%.*))
$puts(nocover,images\nocover.png)
$if2(
$draw_image(0,0,%gb_width%,%gb_height%,$get(cover))
,
$draw_image(0,0,%gb_width%,%gb_height%,$get(nocover))
)
@Yotsuya: That's a nice find.
I update my code found in my previous post (http://www.hydrogenaudio.org/forums/index.php?showtopic=61412&st=60#) to this
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
$puts(nocover,components\default.png)
$puts(ox,$eval(%gb_width%-4))
$puts(oy,$eval(%gb_height%-10))
$puts(ix,$eval(%gb_width%-20))
$puts(iy,$eval(%gb_height%-14))
$draw_image(3,4,$get(ox),$get(oy),'.\components\cdcaseck3.png',255,nokeepaspect)
$if3(
$draw_image(16,6,$get(ix),$get(iy),$get(cpath1),$if(%gb_mouse_over%,150,255),nokeepaspect),
$draw_image(16,6,$get(ix),$get(iy),$get(cpath2),$if(%gb_mouse_over%,150,255),nokeepaspect),
$draw_image(16,6,$get(ix),$get(iy),$get(nocover),$if(%gb_mouse_over%,150,255),nokeepaspect)
)
$draw_image(16,6,$get(ix),$get(iy),'.\components\glareyo0.png',50,nokeepaspect)
$if(%gb_focused%,
,
$gp_set_font(Tahoma,9,b)
$gp_set_text_rendering_hint(ct)
$gp_set_smoothing_mode(1)
$gp_set_string_format(center,center)
$if(%gb_mouse_over%,
$gp_set_pen(255-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0),
$gp_set_pen(255-0-0-0,3,,bevel)
$gp_set_brush(255-255-255-255)
)
$gp_draw_string_path(%gb_group%,12,,3,4,$get(ox),$get(oy))
)
Remember to change image source vars to suit your configuration. Other settings and requirements are the same as my previous post.
BTW, somehow I feel that the popup function is a little inelegant so I don't use it.
This just keeps gettting better - well done!
@Yotsuya: That's a nice find.
I update my code found in my previous post (http://www.hydrogenaudio.org/forums/index.php?showtopic=61412&st=60#) to this
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
$puts(nocover,components\default.png)
$puts(ox,$eval(%gb_width%-4))
$puts(oy,$eval(%gb_height%-10))
$puts(ix,$eval(%gb_width%-20))
$puts(iy,$eval(%gb_height%-14))
$draw_image(3,4,$get(ox),$get(oy),'.\components\cdcaseck3.png',255,nokeepaspect)
$if3(
$draw_image(16,6,$get(ix),$get(iy),$get(cpath1),$if(%gb_mouse_over%,150,255),nokeepaspect),
$draw_image(16,6,$get(ix),$get(iy),$get(cpath2),$if(%gb_mouse_over%,150,255),nokeepaspect),
$draw_image(16,6,$get(ix),$get(iy),$get(nocover),$if(%gb_mouse_over%,150,255),nokeepaspect)
)
$draw_image(16,6,$get(ix),$get(iy),'.\components\glareyo0.png',50,nokeepaspect)
$if(%gb_focused%,
,
$gp_set_font(Tahoma,9,b)
$gp_set_text_rendering_hint(ct)
$gp_set_smoothing_mode(1)
$gp_set_string_format(center,center)
$if(%gb_mouse_over%,
$gp_set_pen(255-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0),
$gp_set_pen(255-0-0-0,3,,bevel)
$gp_set_brush(255-255-255-255)
)
$gp_draw_string_path(%gb_group%,12,,3,4,$get(ox),$get(oy))
)
Remember to change image source vars to suit your configuration. Other settings and requirements are the same as my previous post.
BTW, somehow I feel that the popup function is a little inelegant so I don't use it.
If you put them in this order you don't even need the $if3
$draw_image(16,6,$get(ix),$get(iy),$get(nocover),$if(%gb_mouse_over%,150,255),nokeepaspect)
$draw_image(16,6,$get(ix),$get(iy),$get(cpath2),$if(%gb_mouse_over%,150,255),nokeepaspect)
$draw_image(16,6,$get(ix),$get(iy),$get(cpath1),$if(%gb_mouse_over%,150,255),nokeepaspect)
as the later images are drawn over any earlier one(s).
I love the new popup function. And I'd love to be able to show the tracks from an album in the popup!
Using %track% %title% etc. in the popup or in the main window gives info from the 1st track - any chance of looping through the tracks in the popup window at least?
Ah yeah, but when using mouse over, it will look funny. Thanks for the suggestion, though.
If you put them in this order you don't even need the $if3
That's mean.. instead of draw just 1 image if cover was found, you have to draw 2 or more. (1 for nocover, 1 or more for cover) And it's slow thing down unnecessary.
Bad idea Oh well, people's computer are so fast these days. (Sadly, not for me)
This just keeps gettting better - well done!
I love the new popup function. And I'd love to be able to show the tracks from an album in the popup!
Using %track% %title% etc. in the popup or in the main window gives info from the 1st track - any chance of looping through the tracks in the popup window at least?
For me, it will be nice if the pop up can show whether mouse over album is playing and the playing track.
If you put them in this order you don't even need the $if3
That's mean.. instead of draw just 1 image if cover was found, you have to draw 2 or more. (1 for nocover, 1 or more for cover) And it's slow thing down unnecessary.
Bad idea Oh well, people's computer are so fast these days. (Sadly, not for me)
Sorry, we didn't notice .
I've been using
$num(%gb_playlist_number%,10)
to try to keep the graphical_browser display in the same order as the active playlist.
This works well except where I have the same album in the active playlist in 2 different places. In those cases graphical-browser just displays the album once in the first location! (Using file info on the graphical-browser display shows that each track appears twice under that display!)
Strange....
(http://img339.imageshack.us/img339/9972/111ch1.th.jpg) (http://img339.imageshack.us/my.php?image=111ch1.jpg)
Applied the latest rev009!!
I was surprised really ! Like really so much
thank you! keikonium
It's a great plugin!
I intended to display some "playing" icon on the cover for the current playing album.
But, it did not work:
$if(%isplaying%,
$draw_image($eval({%gb_width%/2}-25),$eval({%gb_height%/2}-25),50,50,
D:\Imagens\Capas de Discos\play.png,
200,)
)
Does %isplaying% really work here or I'm doing something wrong?
It does not work, as it only works per track and in certain views of foobar.
To check whether an item is playing use this
$if($and($greater($add(%gb_playlist_number%,%gb_subitem_count%,1),%cwb_playing_index%),
$greater(%cwb_playing_index%,%gb_playlist_number%)),playing,not playing)
Unfortunately, it's not perfect, the updating that is. I hope the developer of graphical browser implement this http://www.bazquux.com/wiki/Foobar2000:Hoo...per_Information (http://www.bazquux.com/wiki/Foobar2000:Hooks#Developer_Information). If so it will be perfect.
Also here's a sneak peek at what I'm working on:
(http://img213.imageshack.us/img213/3465/foopk7.th.png) (http://img213.imageshack.us/my.php?image=foopk7.png)
I want the popup to set its size automatically depends on the string size, too.
EDIT: that was my way to check %isplaying% for items, it's still not perfect so anyone knows a better way?
is it possible to get the foobar path somehow or a relative path to the foobar directory?
very nice plugin btw. i've always been looking for something like that.
Here's my new one:
(http://img148.imageshack.us/img148/1447/foojy0.th.png) (http://img148.imageshack.us/my.php?image=foojy0.png)
Images:
Play icon (http://i170.photobucket.com/albums/u248/nagayanobu/Play-icon256-by-nagaya.png)
Glare image (http://img171.imageshack.us/img171/5822/glareyo0.png)
Put them to into your foobar2000\components folder or any folder you like but remember to change the correspondent paths.
Group:
$if2(%album%,@skip)
Sort:
$num(%gb_playlist_number%,10)
Type: Vertical Scroll
Popup size: for artist display, size is your choice. Opacity: your choice.
Item size: your choice, but horizontal size should be bigger than vertical size. (preferred about double, I use 210x110)
Item code:
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover,components\default.png)
//other image sources
$puts(glareImage,components\glareyo0.png)
$puts(playIcon,components\Play-icon256-by-nagaya.png)
//dimensions and positions of objects
$puts(itemW,$eval(%gb_width%-1))
$puts(itemH,$eval(%gb_height%-1))
$puts(frameD,$eval(%gb_height%-8))
$puts(frameCu,$eval(%gb_height%/30))
$puts(coverD,$eval($get(frameD)-4))
$puts(textX,$eval($get(frameD)+7))
$puts(textW,$eval(%gb_width%-$get(textX)-4))
$puts(textH,$eval(%gb_height%-20))
$puts(subitem_countY,$eval($get(textH)+6))
//check whether item is playing
$puts(isplaying,$if($and($strcmp(%cwb_activelist%,%cwb_playinglist%),
$greater($add(%gb_playlist_number%,%gb_subitem_count%,1),%cwb_playing_index%),
$greater(%cwb_playing_index%,%gb_playlist_number%)),
1,))
///////////////////////////////////
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$if(%gb_focused%,
$set_pen(0-0-0)
$draw_rect(0,0,$get(itemW),$get(itemH))
)
$set_pen(0-0-0)
$set_brush(0-0-0)
$round_rect(5,4,$get(frameD),$get(frameD),$get(frameCu),$get(frameCu))
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover),255,nokeepaspect)
)
$draw_image(7,6,$get(coverD),$get(coverD),$get(glareImage),50,nokeepaspect)
$if($get(isplaying),
$draw_image(7,6,$get(coverD),$get(coverD),$get(playIcon),128)
)
$set_font(Tahoma,9)
$draw_text(%gb_group%,$get(textX),6,$get(textW),$get(textH),right,wordbreak,word_ellipsis)
$set_font(Segoe UI,9,i)
$draw_text(%gb_subitem_count%
$ifgreater(%gb_subitem_count%,1, tracks, track),
$get(textX),$get(subitem_countY),$get(textW),12,right,singleline,bottom)
$if(%gb_mouse_over%,
$gp_set_brush(128-255-255-255,0,0,0-255-255-255,%gb_width%,%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
Popup code:
$gp_set_brush(255-128-128-128)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_pen(255-0-0-0,1)
$gp_draw_rectangle(0,0,$eval(%gb_width%-1),$eval(%gb_height%-1))
$gp_set_font(Segoe Print,9)
$gp_set_brush(255-218-218-218)
$gp_set_text_rendering_hint(ct)
$gp_set_string_format(center,center)
$if(%album artist%,
$gp_draw_string(by %album artist%,0,0,%gb_width%,%gb_height%),
Unknown Artist
)
Tip: you may set scroll size to your item vertical size, check "Scroll by a multiple of scroll size" and resize your foobar so items fit in nicely like mine. That way items won't get cut off when scrolling.
EDIT: @radecke: I use relative paths a bunch of times in my code, please take a look.
EDIT2: work around (dirty lol) for a rare case where wordbreak does not work right.
EDIT3: fixed another bug in detecting playing item logic.
I'm trying to copy the dark blue layout in default UI - with grey text below the album cover which then turns white on focus:
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(49-68-81)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
$set_font(Tahoma,7)
$set_font_color(255-255-255)
$draw_text(%gb_group%,6,%gb_width%,$eval(%gb_width%-10),$eval(%gb_height%-%gb_width%-2),center,wordbreak)
$puts(tra,255)
,
$puts(tra,255)
)
$set_font(Tahoma,7)
$set_font_color(176-175-157)
$draw_text(%gb_group%,6,%gb_width%,$eval(%gb_width%-10),$eval(%gb_height%-%gb_width%-2),center,wordbreak)
,)
Thanks for your help
Use this code:
$puts(tra,255)
$set_font(Tahoma,7)
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(49-68-81)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
$set_font_color(255-255-255)
,
$set_font_color(176-175-157)
)
$draw_text(%gb_group%,6,%gb_width%,$eval(%gb_width%-10),$eval(%gb_height%-%gb_width%-2),center,wordbreak)
A tip: Put general part outside of $if function.
Use this code:
A tip: Put general part outside of $if function.
Thanks - Thats Great
EDIT: @radecke: I use relative paths a bunch of times in my code, please take a look.
thanks. now i know why it didn't work for me. i thought the foobar directory was the source path but actually it's the components directory. that explains a lot
now i love this component even more
No, the foobar is the source path. That's why I have to use "components\image.png" to access image.png in foobar components folder. If components is the source path as you said, then you only need image.png. IOW, that relative path can also be written as ".\components\image.png" which "." is the current directory which is foobar2000 path. The only component AFAIK that uses components as the source path is foo_uie_albumart. Hope that clears it up.
Hello thuan, thank you for the great config
a question, may i know which font you're using for the playlist in your SS?
thanks
No, the foobar is the source path. That's why I have to use "components\image.png" to access image.png in foobar components folder. If components is the source path as you said, then you only need image.png. IOW, that relative path can also be written as ".\components\image.png" which "." is the current directory which is foobar2000 path. The only component AFAIK that uses components as the source path is foo_uie_albumart. Hope that clears it up.
"..\PanelsUI\smooth\images\artoverlay3.png" is the only thing that works for me. i get no image if i write the path like ".\PanelsUI\smooth\images\artoverlay3.png" or "PanelsUI\smooth\images\artoverlay3.png"
however the important thing is that it works
For PanelUI, relative paths start from where the PUI is.
So, In your case just use "images\artoverlay3.png" and it should work.
@DiGiCharat: I use Segoe UI. This font comes with Vista or Office 2007 and maybe .NET 3.0 and 3.5 too AFAIK.
Well here's the updated version of my Graphical Browser config:
.
Popup now has album art in it.
Item code:
(http://img125.imageshack.us/my.php?image=fooyq0.png)
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover,components\default.png)
//other image sources
$puts(glareImage,components\glareyo0.png)
$puts(playIcon,components\Play-icon256-by-nagaya.png)
//font settings
$puts(fontName,Segoe UI)
$puts(fontSize,9)
//dimensions and positions of objects
$puts(itemW,$eval(%gb_width%-1))
$puts(itemH,$eval(%gb_height%-1))
$puts(frameD,$eval(%gb_height%-8))
$puts(frameCu,$eval(%gb_height%/30))
$puts(coverD,$eval($get(frameD)-4))
$puts(textX,$eval($get(frameD)+7))
$puts(textW,$eval(%gb_width%-$get(textX)-4))
$puts(textH,$eval(%gb_height%-20))
$puts(subitem_countY,$eval($get(textH)+6))
//check whether item is playing
$puts(isplaying,$if($and($strcmp(%cwb_activelist%,%cwb_playinglist%),
$greater($add(%gb_playlist_number%,%gb_subitem_count%,1),%cwb_playing_index%),
$greater(%cwb_playing_index%,%gb_playlist_number%)),
1,))
///////////////////////////////////
$if(%gb_focused%,
$set_pen(44-98-139)
$draw_rect(0,0,$get(itemW),$get(itemH))
$gp_set_brush(255-109-182-221,0,%gb_height%,0-255-255-255,0,0)
$gp_fill_rectangle(1,1,$eval(%gb_width%-2),$eval(%gb_height%-2)),
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
$set_pen(0-0-0)
$set_brush(0-0-0)
$round_rect(5,4,$get(frameD),$get(frameD),$get(frameCu),$get(frameCu))
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover),255,nokeepaspect)
)
$draw_image(7,6,$get(coverD),$get(coverD),$get(glareImage),50,nokeepaspect)
$if($get(isplaying),
$draw_image(7,6,$get(coverD),$get(coverD),$get(playIcon),128)
)
$set_font($get(fontName),$get(fontSize))
$draw_text($get(font) %gb_group% $get(font),$get(textX),6,$get(textW),$get(textH),right,wordbreak,word_ellipsis)
$set_font($get(fontName),$get(fontSize),i)
$draw_text(%gb_item_index%/%gb_item_count% %gb_subitem_count%
$ifgreater(%gb_subitem_count%,1, tracks, track),
$get(textX),$get(subitem_countY),$get(textW),12,right,singleline,bottom)
$if(%gb_mouse_over%,
$gp_set_brush(128-255-255-255,0,0,0-255-255-255,%gb_width%,%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
Popup code:
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover,components\default.png)
//Dimensions
$puts(coverD,$eval(%gb_width%-8))
$puts(textY,$eval($get(coverD)+6))
$puts(textH,$eval(%gb_height%-$get(textY)-2))
//Font setting for artist display
$gp_set_font(Segoe Print,9)
//////////////////////////////////////
$gp_set_brush(255-128-128-128)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_pen(255-0-0-0,1)
$gp_draw_rectangle(0,0,$eval(%gb_width%-1),$eval(%gb_height%-1))
//add more cover sources here
$if3(
$draw_image(4,4,$get(coverD),$get(coverD),$get(cpath1),255),
$draw_image(4,4,$get(coverD),$get(coverD),$get(cpath2),255),
$draw_image(4,4,$get(coverD),$get(coverD),$get(nocover),255)
)
$gp_set_brush(255-218-218-218)
$gp_set_text_rendering_hint(ct)
$gp_set_string_format(center,center)
$if(%album artist%,
$gp_draw_string(by %album artist%,0,$get(textY),%gb_width%,$get(textH)),
Unknown Artist
)
Popup size: height should be bigger than width. I use 200x240.
Other settings and requirements are the same as [a href=\"http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=551336\" target=\"_blank\"]my previous post[/url].
EDIT: Small change: make it easier to change font for item display.
For PanelUI, relative paths start from where the PUI is.
So, In your case just use "images\artoverlay3.png" and it should work.
thank you. so it was just a coincidence that it worked
Terrific component.
I guess the only thing I'm missing is the ability to quickly navigate to a certain album by typing a few letters of its grouping string from keyboard.
And big thanks to thuan for his config.
I recently found the time to check out that awesome component and did a screenshot of the covers of all my albums. They load amazingly fast with 2gb of ram.
Check this out:
[a href="http://img187.imageshack.us/my.php?image=allalbumsmg4.jpg" target="_blank"]
For PanelUI, relative paths start from where the PUI is.
So, In your case just use "images\artoverlay3.png" and it should work.
Yep, works fine, so no more need
hey
i have many albums, that contains 2 ore more subfolders inside(like cd1, cd2). The covers are stored not in cd1, cd2, cdx subfolders but in the "main" folder. This string
$replace(%path%,%filename_ext%,)cover.jpg
show the cover that are stored in the same folder were the music files are stored. I want to show the covers that are stored one level higer in the directory structure. How i can di this? thx.
Maybe this would work:
$replace(%path%,%filename_ext%,)../cover.jpg
or use $directory(x,n) somehow - extracts directory name from the file path x; goes up by n levels.
maybe
$directory(%path%,1)/cover.jpg
Kiteroathx,
$replace(%path%,%filename_ext%,)../cover.jpg
works fine
hmmm.... im using $rand(10) to display no cover art pics..
i noticed that when i mouse over the pic it changes.. not a problem
my problem is im on a pos computer and its using alot of memory.
so i was thinking is there a way to load images according to First Letter of album or something similar?
exp: $if(%artist%, First Letter T, NoCover2.jpeg,First Letter M, NoCover5.jpeg)
Edit: I Figgered a work around... I have the $rand() Looking inside the code instead of looking tho my computer.
$puts(nocover0,C:\Program Files\Foobar\images\NoCover2\nocover0.jpeg)
$puts(nocover1,C:\Program Files\Foobar\images\NoCover2\nocover1.jpeg)
$puts(nocover2,C:\Program Files\Foobar\images\NoCover2\nocover2.jpeg)
$puts(nocover3,C:\Program Files\Foobar\images\NoCover2\nocover3.jpeg)
$puts(nocover4,C:\Program Files\Foobar\images\NoCover2\nocover4.jpeg)
$puts(nocover5,C:\Program Files\Foobar\images\NoCover2\nocover5.jpeg)
$puts(nocover6,C:\Program Files\Foobar\images\NoCover2\nocover6.jpeg)
$puts(nocover7,C:\Program Files\Foobar\images\NoCover2\nocover7.jpeg)
$puts(nocover8,C:\Program Files\Foobar\images\NoCover2\nocover8.jpeg)
$puts(nocover9,C:\Program Files\Foobar\images\NoCover2\nocover9.jpeg)
$puts(nocover10,C:\Program Files\Foobar\images\NoCover2\nocover10.jpeg)
$puts(nocover11,C:\Program Files\Foobar\images\NoCover2\nocover11.jpeg)
$puts(nocover12,C:\Program Files\Foobar\images\NoCover2\nocover12.jpeg)
$draw_image(0,0,$eval(%gb_width%),$eval(%gb_width%),
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpeg),
$replace(%path%,%filename_ext%,)folder.jpeg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),
$replace(%path%,%filename_ext%,)folder.jpg,
$get(nocover$rand(12))
)),
255,nokeepaspect)
If any1 has a better way plz let me know but with my basic skillz thats what i got
Whenever I need "sufficiently random" numbers, I use a combination of the mod/length functions, as in
$mod($len(%album artist%%album%),###)
I know others have used the $crc32 function to similar effect.
ok Ty i havnt played with the $mod or $len yet and never heard of $crc32, ill tinker around and see what i can get
@BuM: in your code, you should use $select instead of using a bunch of custom variables. It's faster and has less overhead. The mod len combi is a little faster but the variation is worse than crc32. I don't know how $rand is implemented in foobar but anyway crc32 calculation time is proportion to length of strings so more often than not I think $rand is faster especially in case the pool is small like yours.
New version (http://www.tv2ch.info/fb2k/) is out.
From the change log, there's %gb_isplaying% command (among others) which may make some of you really happy.
Yeah, me included, but this new version has so much more to be happy with. It's just getting better and better.
@Keikonium: I've sent you the new readme.
Thanks for a great update - I love the per-track pop-up and am using it already!
Updated config:
(http://img120.imageshack.us/img120/8564/fooiu9.th.png) (http://img120.imageshack.us/my.php?image=fooiu9.png)
Require graphical browser rev010
Images required:
Play icon (http://i170.photobucket.com/albums/u248/nagayanobu/Play-icon256-by-nagaya.png)
Glare image (http://img171.imageshack.us/img171/5822/glareyo0.png)
Put those images into foobar components folder, or any other places you like. In this case, you need to change the path for these images.
Prominent changes: all are in popup rendering:
* Half transparent popup background frame.
* Display currently playing song in popup of the currently playing item.
* Total length of item and total played times.
*
[!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--]Arithmetic mean album rating.[/size][!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--] Later, I might be able to do weighted mean album rating [/size][!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--](using play_count statistic)[/size][!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--] with future version of this component.
[/size]Settings:
(http://img120.imageshack.us/img120/4053/settingsue4.th.png) (http://img120.imageshack.us/my.php?image=settingsue4.png)
As before, you have some freedom with item size and popup size. For item size, horizontal size is about double of vertical size. And for popup size, vertical size is bigger (about 40 pixels is best) than horizontal size. Remember that, if you set those sizes too small, everything will be out of order. But with suitable size, my code will automatically set itself in fine.
Item code:
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover,components\default.png)
//other image sources
$puts(glareImage,components\glareyo0.png)
$puts(playIcon,components\Play-icon256-by-nagaya.png)
//font settings
$puts(fontName,Segoe UI)
$puts(fontSize,9)
$puts(fontStyle1,)
$puts(fontStyle2,i)
//dimensions and positions of objects
$puts(itemW,$eval(%gb_width%-1))
$puts(itemH,$eval(%gb_height%-1))
$puts(frameD,$eval(%gb_height%-8))
$puts(frameCu,$eval(%gb_height%/30))
$puts(coverD,$eval($get(frameD)-4))
$puts(textX,$eval($get(frameD)+7))
$puts(textW,$eval(%gb_width%-$get(textX)-4))
$puts(textH,$eval(%gb_height%-20))
$puts(subitem_countY,$eval($get(textH)+6))
///////////////////////////////////
$if(%gb_focused%,
$set_pen(44-98-139)
$draw_rect(0,0,$get(itemW),$get(itemH))
$gp_set_brush(255-109-182-221,0,%gb_height%,0-255-255-255,0,0)
$gp_fill_rectangle(1,1,$eval(%gb_width%-2),$eval(%gb_height%-2)),
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
$set_pen(0-0-0)
$set_brush(0-0-0)
$round_rect(5,4,$get(frameD),$get(frameD),$get(frameCu),$get(frameCu))
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover),255,nokeepaspect)
)
$draw_image(7,6,$get(coverD),$get(coverD),$get(glareImage),50,nokeepaspect)
$if(%gb_isplaying%,
$draw_image(7,6,$get(coverD),$get(coverD),$get(playIcon),128)
)
$set_font($get(fontName),$get(fontSize),$get(fontStyle1))
$draw_text(%gb_group%,$get(textX),6,$get(textW),$get(textH),right,wordbreak,end_ellipsis)
$set_font($get(fontName),$get(fontSize),$get(fontStyle2))
$draw_text($add(%gb_item_index%,1)/%gb_item_count% %gb_track_count%
$ifgreater(%gb_track_count%,1, tracks, track),
$get(textX),$get(subitem_countY),$get(textW),12,right,singleline,bottom)
$if(%gb_mouse_over%,
$gp_set_brush(128-255-255-255,0,0,0-255-255-255,%gb_width%,%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
Popup code:
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover,components\default.png)
//Font settings for artist display
$puts(aFontName,Segoe Print)
$puts(aFontSize,9)
$puts(aFontStyle,)
//Font settings for item info
$puts(iFontName,Arial)
$puts(iFontSize,9)
$puts(iFontStyle,)
//Dimensions
$puts(coverD,$eval(%gb_width%-8))
$puts(textY,$eval($get(coverD)+6))
$puts(textH,$eval(%gb_height%-$get(textY)-2))
$puts(textW,$eval(%gb_width%-4))
$puts(infoY,$eval(%gb_width%-24))
//Album rating calculation
$puts(temp,$muldiv($sum('%rating%'),100,%gb_track_count%))
$puts(aRating,
$ifgreater($get(temp),449,5,
$ifgreater($get(temp),349,4,
$ifgreater($get(temp),249,3,
$ifgreater($get(temp),149,2,
$ifgreater($get(temp),49,1,
0
)
)
)
)
)
)
//////////////////////////////////////
$gp_set_brush(128-128-128-128)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_pen(255-0-0-0,1)
$gp_draw_rectangle(0,0,$eval(%gb_width%-1),$eval(%gb_height%-1))
//add more cover sources here
$if3(
$draw_image(4,4,$get(coverD),$get(coverD),$get(cpath1),255),
$draw_image(4,4,$get(coverD),$get(coverD),$get(cpath2),255),
$draw_image(4,4,$get(coverD),$get(coverD),$get(nocover),255)
)
$gp_set_font($get(aFontName),$get(aFontSize),$get(aFontStyle))
$gp_set_pen(255-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0)
$gp_set_string_format(center,center,ellipsis_word)
$gp_set_smoothing_mode(1)
$gp_draw_string_path($if(%album artist%,by %album artist%,Unknown Artist),12,,0,$get(textY),$get(textW),$get(textH)),
$gp_set_font($get(iFontName),$get(iFontSize),$get(iFontStyle))
$gp_set_string_format(far,center)
$gp_draw_string_path(%gb_length% #$sum('%play_count%'),12,,4,$get(infoY),$get(coverD),20)
$gp_set_string_format(near,center)
$gp_draw_string_path(
$repeat(★,$get(aRating))
$repeat(☆,$sub(5,$get(aRating)))
,12,,4,$get(infoY),$get(coverD),20)
If you're using WinXP, you need to have East Asian languages support. Those rating star characters need it.
(http://img507.imageshack.us/img507/5721/expg4.th.png) (http://img507.imageshack.us/my.php?image=expg4.png)
Per track (Popup) code:
//Font settings for playing track
$gp_set_font(Tahoma,9,b)
$gp_set_pen(128-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0)
$gp_set_smoothing_mode(1)
$gp_set_string_format(center,near)
//////////////////////////////////////
$if(%gb_isplaying%,
$set_org(6,6)
$gp_draw_string_path([%tracknumber%. ]%title%,12,,0,0,$eval(%gb_width%-12),$eval(%gb_width%-32))
)
Lastly, I want to thank the developer of this component again. All of this wouldn't have been possible, if he hadn't started it.
EDIT: Add one to %gb_item_index%.
EDIT2: Fix some mistakes and add rounded rating.
Looking Good thuan, Thank you and every1 else for posting ur configs.
for ppl that learn from seeing(like me) it really helps
Hi,
with the last version, 0.10, it's not possible to desactivate the graphical browser scroll bar.
It was desactivable with the 0.9 version :
right click > settings > bottom right :
- show scroll bar
- scroll by a multiple of scroll size
- scroll size
no more choice ?
Those settings are in the Others Tab beside Draw Tab. Look at the 2nd picture in my previous post.
Those settings are in the Others Tab beside Draw Tab. Look at the 2nd picture in my previous post.
oh yeah !!!!
I'm stupid !!! or, may be, becoming too old.......
Thanks, thuan.
Thanks for this great component!
But what is the function of the "transparent mode" checkmark in the options dialog?
Does anyone know how to get the track list of an album to display in the popup? I can get the currently playing track, but I want them all... Kinda like in this image: http://foobar2000.xrea.jp/up/files/up808.jpg (http://foobar2000.xrea.jp/up/files/up808.jpg)
Also, rev011 is out if anyone hasn't updated yet . http://www.tv2ch.info/fb2k/ (http://www.tv2ch.info/fb2k/)
Does anyone know how to get the track list of an album to display in the popup? I can get the currently playing track, but I want them all... Kinda like in this image: http://foobar2000.xrea.jp/up/files/up808.jpg (http://foobar2000.xrea.jp/up/files/up808.jpg)
This works for me:
$set_org(0,$mul(12,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-0-255-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,near,ellipsis_word)
$gp_draw_string(%gb_playlist_number% $add(%gb_track_index%,1). %title%,0,0,%gb_width%,15)
Make sure you have "maximum tracks processed by "Per Track" set suitably high on the Others tab.
To the developer - thanks again!
I'm still getting a problem with albums with the same name where all the tracks appear under the first listing for the album - even though the tracks are in different parts of the playlist. Could you fix it so that the tracks for an album group only show only under that album?
Also, I'd love to be able to fix the display to a particular named playlist - not just the active playlist which I keep changing all the time!
Ah! My problem was that I had the tracks processed by // PerTrack was set to 0 lol. Thanks Kiteroa .
Also, I don't know if anyone else noticed this, but when you type a $ and wait a couple seconds, a box will pop up with the possible variables you can use... REALLY awesome.
But what is the function of the "transparent mode" checkmark in the options dialog?
Read the readme I translated in the first post. Basically, with it, you can set different transparent levels for each object you draw using GDI+. My config uses that, too.
Does anyone know how to get the track list of an album to display in the popup? I can get the currently playing track, but I want them all... Kinda like in this image: http://foobar2000.xrea.jp/up/files/up808.jpg (http://foobar2000.xrea.jp/up/files/up808.jpg)
This works for me:
$set_org(0,$mul(12,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-0-255-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,near,ellipsis_word)
$gp_draw_string(%gb_playlist_number% $add(%gb_track_index%,1). %title%,0,0,%gb_width%,15)
Make sure you have "maximum tracks processed by "Per Track" set suitably high on the Others tab.
And here is a code snippet to draw dynamically height popup:
$puts(recH,$add($mul(%gb_track_count%,18),46)) //46 is the static part and 18 is verticle size of each line.
//then draw a rec or whatever using the appropriate function
$draw_rect(0,0,$eval(%gb_width%-1),$get(recH))
I have tried to mimic that up808 popup config, it's pretty easy to write. The problem is with it, you have to set a very high value for vertical popup size (to accommodate long item). This pose a problem, with my vertical scroll config (unlike his is a horizontal one and drawn at upper of the screen), that is sometimes with lower item that has little tracks in it, the popup appears at the upper of the screen and not beside the mouse which looks really weird . I have also think of a dynamic horizontal size popup with multiple tracklist columns on it. It's feasible, will do that later when I have the time.
I'm still getting a problem with albums with the same name where all the tracks appear under the first listing for the album - even though the tracks are in different parts of the playlist. Could you fix it so that the tracks for an album group only show only under that album?
This is actually hard to fix consider how this component works (grouping item by group titleformat which return group strings). You should do something with your group titleformat yourself or the tag of particular items to return different group strings. It can be fixed with some workaround on his side but oh well, I think this is more of a problem of your group string titleformat. Why not group items which return the same group string together?
Also, I'd love to be able to fix the display to a particular named playlist - not just the active playlist which I keep changing all the time!
I have mailed the developer about this, he said that this will likely be implimented when he has the time, please be patient.
This works for me:
$set_org(0,$mul(12,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-0-255-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,near,ellipsis_word)
$gp_draw_string(%gb_playlist_number% $add(%gb_track_index%,1). %title%,0,0,%gb_width%,15)
I cannot seem to change the font color of the tracklist. Can I get a little help? Either it can't be done, or I am just overlooking something..whatever I do the font color stays constant.
TIA
Change the $gp_set_brush parameter to change the color of text drawn by $gp_draw_string function. In this code the first one is color for playing song and the 2nd is for other songs.
Wow, revision 11 introduces keyboard letter navigation.
Not quite what I expected (different from Album list and Filter), but still great. Thanks to the developer.
Rev 12 now out.
Changelog:
2008/03/11 rev012
Fixed - Resource fatal leak.
Added - Image cache options.
The new image cache option (default) does not purges the cache when you change playlists and it has an upper limit compares to the old way.
rev013 is now out. Looks like it fixed some selection, and GDI Bugs.
rev013 is now out. Looks like it fixed some selection, and GDI Bugs.
Some display bugs when playing with the option 'Image Cache' (vertical shift of picture of 1 or 2 pixels)
but ok with Old cache mode
So, here is just a try inspired by Delicious Library style :
(http://xs125.xs.to/xs125/08112/untitled90579.jpg.xs.jpg) (http://xs.to/xs.php?h=xs125&d=08112&f=untitled90579.jpg)
what about this gb layout ?
That looks aweeeesome!! Good job .
Feature request: could it be possible to activate the popup with middle click and not have it popup on mouse over?
Great project, the adjustable image cache is a nice addition.
That looks aweeeesome!! Good job .
thanks, i'll make a complete config with this (i've to complete the actual one i'm working on)
I have an idea, that I haven't mailed him, yet. It's kinda complicated to implement but if it is indeed implemented, you won't need a playlist to compliment this component anymore. That is, a left click on item will bring up a drop down popup (kinda like the drop down auto complete in the code section of this component) that lists tracks in that item and you can click on any track in the popup to play. What do you guys (and gals) think?
@BTW: Falstaff, could you upload your images used in your latest config somewhere, some of my friends are bugging me to create something similar. I'm good at imitating but not good with creating pictures (more like I haven't done anything much into image manipulation). Thanks in advance, your config looks cool.
I have an idea, that I haven't mailed him, yet. It's kinda complicated to implement but if it is indeed implemented, you won't need a playlist to compliment this component anymore. That is, a left click on item will bring up a drop down popup (kinda like the drop down auto complete in the code section of this component) that lists tracks in that item and you can click on any track in the popup to play. What do you guys (and gals) think?
@BTW: Falstaff, could you upload your images used in your latest config somewhere, some of my friends are bugging me to create something similar. I'm good at imitating but not good with creating pictures (more like I haven't done anything much into image manipulation). Thanks in advance, your config looks cool.
I emailed him on the third of march with the exact same idea. I didn't receieve any response back. I think he may have misunderstood my request because he seemed to add the // PerTrack stuff after my email, but then again I didn't really explain myself very well. But I think it would be amazing if it were added to this component.
This was my email:
It would be awesome to right click on an entry, and have the tracks from that playlist be shown in a little popup window. Just like the current popup window, but interactive.
???????????????????????????????????????????????????????????????????????????????????????
I have an idea, that I haven't mailed him, yet. It's kinda complicated to implement but if it is indeed implemented, you won't need a playlist to compliment this component anymore. That is, a left click on item will bring up a drop down popup (kinda like the drop down auto complete in the code section of this component) that lists tracks in that item and you can click on any track in the popup to play. What do you guys (and gals) think?
@BTW: Falstaff, could you upload your images used in your latest config somewhere, some of my friends are bugging me to create something similar. I'm good at imitating but not good with creating pictures (more like I haven't done anything much into image manipulation). Thanks in advance, your config looks cool.
I emailed him on the third of march with the exact same idea. I didn't receieve any response back. I think he may have misunderstood my request because he seemed to add the // PerTrack stuff after my email, but then again I didn't really explain myself very well. But I think it would be amazing if it were added to this component.
This was my email:
It would be awesome to right click on an entry, and have the tracks from that playlist be shown in a little popup window. Just like the current popup window, but interactive.
???????????????????????????????????????????????????????????????????????????????????????
Great idea. Rather than hardcode in a play option, hopefully it would be just as easy to code to allow the actions to be chosen on the preferences menu. That way different people could get the click(s) on the track to do different things (e.g. send to queue, play, send to playlist etc.).
I'm sure I am not the only one doing something similar to this, but, I have it set up to popup back covers on hover.
Nice organic way to pull track listings ;-)
I have the popup delay set quite high and would prefer to be able to do this with a middle/single click instead of thru hovering.
WoWzEr.... Leave for a day and 4 new versions come out l0l just downloaded v13 and it has colors!!!
@Keikonium hope ur telling them how much every1 is loving this component in thos emails
HI!!...someone help me!!!
..my config use the per-track popup and show all the tracks of a disc on mouse hover...but i'll be very happy if the popup shows the tracks lenghts too (mm:ss) like this: http://foobar2000.xrea.jp/up/files/up808.jpg (http://foobar2000.xrea.jp/up/files/up808.jpg)
...and with automatic vertical resize too pleaseeeee..
this is my per track conf:
$set_org(4,$mul(14,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,ellipsis_word)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,44,%gb_width%,15)
Somebody modify this to me please.., cause' i don't know to much about code...
Thank you!!.
Great Plugin!Thanks!
I'd tried it out :
(http://i136.photobucket.com/albums/q161/oscarshih/foobar2k/th_fb2kx06.png) (http://i136.photobucket.com/albums/q161/oscarshih/foobar2k/fb2kx06.png)
I am really interest to add the track of the album in my Pop up config.
How do you do this please ?
Edit I have found...
How can I make that the pop up adapt itself to the number of song? and that the tex which is too long was cut because i try this but it doesn't work
//Dimensions
$puts(textY,$eval(%gb_height%/2))
$puts(textH,$eval(%gb_height%-$get(textY)-2))
$puts(textYY,$eval(%gb_height%/2-50))
//Font setting for artist display
$gp_set_font(Segoe Print,12)
$gp_set_brush(255-255-255-255)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_pen(255-0-0-0,1)
$gp_draw_rectangle(0,0,$eval(%gb_width%-1),$eval(%gb_height%-1))
$gp_set_brush(255-18-18-18)
$gp_set_text_rendering_hint(ct)
$gp_set_string_format(center,end_ellipsis)
$if(%album%,
$gp_draw_string(%album%,0,0,%gb_width%,$get(textH)),
Unknown Album
)
$gp_set_font(Segoe Print,9)
$if(%album artist%,
$gp_draw_string(by %album artist%,0,20,%gb_width%,$get(textH)),
Unknown Artist
)
Thanks by advance
Hi all,
Please forgive my silly question but I am a newbie to this plugin and I just cannot make it work. I am using the default code supplied with the latest version of graphical browser. I get small blue squares displayed, with album's name in the middle, but no picture at all in each square. All album arts in my collection are folder.jpg files that I stored in each album folder.
Did I miss something ?
What should I do to make it work ?
Thank you for your help.
You have to draw them yourself.
Try this basic one. Place it on first line.
$draw_image(0,0,%gb_width%,%gb_height%,$replace(%path%,%filename_ext%,folder.jpg),255,nokeepaspect)
I suggest if you don't know how to config them, Just copy someone else config. thuan config (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=551897) is pretty nice.
@krondor
Per track popup code with length
$set_org(4,$mul(15,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,near)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,44,$eval(%gb_width%-40),15)
$gp_draw_string(%length%,$eval(%gb_width%-38),44,36,15)
You didn't give your popup code, so I can't really help you with dynamic vertical size popup.
@bowen_tk
//Dimensions (46 is the static part for album and artist size, change 15 to your desired track height size)
$puts(popupH,$eval(15*%gb_track_count%+46))
////////////////////////////////////
$gp_set_font(Segoe Print,12)
$gp_set_brush(255-255-255-255)
$gp_fill_rectangle(0,0,%gb_width%,$get(popupH))
$gp_set_pen(255-0-0-0,1)
$gp_draw_rectangle(0,0,$eval(%gb_width%-1),$eval($get(popupH)-1))
$gp_set_brush(255-18-18-18)
$gp_set_text_rendering_hint(aa)
$gp_set_string_format(center,near,ellipsis_word)
$gp_draw_string($if2(%album%,Unknown Album),0,0,%gb_width%,22)
$gp_set_font(Segoe Print,9)
$gp_draw_string($if(%album artist%,by %album artist%,Unknown Artist),0,24,%gb_width%,20)
You need to select transparent mode check box in Others Tab of this panel settings. When in this mode, you have to use $gp_set_text_rendering_hint(aa) if you draw string using $gp_draw_string and $gp_set_smoothing_mode(1) if you draw string using $gp_draw_string_path to have acceptable string rendering.
Edit: I added some small changes to my config (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=551897).
this is what i did with this plugin:
[a href="http://img141.imageshack.us/img141/6139/browsersb3.jpg" target="_blank"]
one request would be to define the height of the popup in dependency of the number of tracks and to make the tracks in the popup clickable.
Thank you so much THUAN !!!!!!!.
This is my Popup code (to do autosize): 380x330 (now static size)
$gp_set_brush(255-247-255-223,$div(%gb_width%,2),0,255-211-241-255,$div(%gb_width%,2),%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_pen(255-0-80-255,2)
$gp_draw_rectangle(0,0,%gb_width%,%gb_height%)
$gp_set_text_rendering_hint(aa)
$set_font(Tahoma,10,b)
$draw_text(%gb_group%,0,0,%gb_width%,%gb_height%,wordbreak)
Now i put the transparency enabled.., how can i do less transparent??...cause' some whited-light backgrounds 'cover' the popup letters and the words disappear...
Thanks in advance..!!
@krondor:
Popup code:
//Dimensions
$puts(itemH,$eval(15*%gb_track_count%+46))
//////////////////////////////
$gp_set_brush(255-247-255-223,$div(%gb_width%,2),0,255-211-241-255,$div(%gb_width%,2),$get(itemH))
$gp_fill_rectangle(0,0,%gb_width%,$get(itemH))
$gp_set_pen(255-0-80-255,2)
$gp_draw_rectangle(1,1,$eval(%gb_width%-2),$eval($get(itemH)-2))
$gp_set_brush(255-0-0-0)
$gp_set_font(Tahoma,10,b)
$gp_set_string_format(near,near,ellipsis_word)
$gp_set_text_rendering_hint(aa)
$gp_draw_string(%gb_group%,4,4,%gb_width%,36)
Per track popup code:
$set_org(4,$mul(15,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_string_format(near,near)
$gp_set_text_rendering_hint(aa)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,42,$eval(%gb_width%-38),15)
$gp_draw_string(%length%,$eval(%gb_width%-38),42,36,15)
Popup transparency should be 255 and Transparent mode need to be enabled. Set the vertical size of popup to a suitable height to accommodate long album (this has its downfall if set too long as I have said in one of my previous posts).
thanks thuan.
I need a bit more help
$set_org(4,$mul(14,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_text_rendering_hint(aa)
$gp_set_string_format(near,ellipsis_word)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,50,%gb_width%,40)
Here is my popup per track code?
How can I make that if the title is too long it cut it and not put it on two lines
Thanks in advance
Here is my popup per track code?
How can I make that if the title is too long it cut it and not put it on two lines
Thanks in advance
$gp_draw_string($add(%gb_track_index%,1). $cut(%title%,15),0,50,%gb_width%,40)
adjust the "15" to fit your display
Thuan:
@bowen_tk
$set_org(4,$mul(14,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-0-0-0))
$gp_set_font(Tahoma,9)
$gp_set_text_rendering_hint(aa)
$gp_set_string_format(near,near,ellipsis_word)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,50,%gb_width%,14)
You should have read the readme I translated on the first post.
EDIT: A little too slow, but my code should be better behave than nightfishing's IMHO.
EDIT2: @radecke: I and my friend have come up with a very detail use case of your 2nd request (interactive popup) and sent it to the developer. He said he will consider it. As for your other request I think a better way to realize it is to detect the area which you have drawn then draw the popup accordingly. Your idea is a little hard to implement both for us and him, I think.
So many thanks for your fast answer and your help
I will better read the readme
EDIT2: @radecke: I and my friend have come up with a very detail use case of your 2nd request (interactive popup) and sent it to the developer. He said he will consider it. As for your other request I think a better way to realize it is to detect the area which you have drawn then draw the popup accordingly. Your idea is a little hard to implement both for us and him, I think.
sounds good
You have to draw them yourself.
Try this basic one. Place it on first line.
$draw_image(0,0,%gb_width%,%gb_height%,$replace(%path%,%filename_ext%,folder.jpg),255,nokeepaspect)
I suggest if you don't know how to config them, Just copy someone else config. thuan config (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=551897) is pretty nice.
Thanks Buktore, your code line is working fine.
One more question please : Everytime I doubleclick an album cover to play the album, picture disapppears and I get a blue square in its place. What's up ?! Thanks.
new version out. readme is below.
@Keikonium: put this at the front page please.
Graphical Browser
● What this component does:
Album cover browser for the active playlist.
● Caution
Settings are per panel so if you delete a panel, the settings for that panel
also disappear.
● Sort
Blank → Whatever works.
* → Sorted by grouped strings.
If you want to arrange in the same order as the playlist → $num(%gb_playlist_number%,10)
● Popup
Transparent mode
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.
Per track
Draw order:
Popup → Per track(0) → Per track(1) → ...
Rendering settings (e.g.: pen, brush, font, ...) can't be set again midway.
● Image cache methods
Old
rev011 and older way. Cache images of all items.
Image cache is purged when switching playlist.
Default
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.
● Variables
%gb_group%
[Item], [Popup], [Per track(Popup)]
Return the group string. E.g.: If you used $if2(%album%,@skip) to group,
it will return %album%.
%gb_width%
[Item]
Item width
[Popup], [Per track(Popup)]
Popup width
%gb_height%
[Item]
Item height
[Popup], [Per track(Popup)]
Popup height
%gb_focused%
[Item], [Popup], [Per track(Popup)]
Check whether focus is on the item or not
%gb_mouse_over%
[Item]
Check whether mouse cursor is on the item or not
[Popup], [Per track(Popup)]
Probably always true
%gb_item_index%
[Item], [Popup], [Per track(Popup)]
Return item index
%gb_item_count%
[Item], [Popup], [Per track(Popup)]
Return item count
%gb_track_count%
[Sort], [Item], [Popup], [Per track(Popup)]
Return number of songs in an item
%gb_playlist_number%
[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
%gb_col%
[Item], [Popup], [Per track(Popup)]
Return item column number
%gb_row%
[Item], [Popup], [Per track(Popup)]
Return item row number
%gb_col_count%
[Item], [Popup], [Per track(Popup)]
Return number of columns
%gb_row_count%
[Item], [Popup], [Per track(Popup)]
Return number of rows
%gb_isplaying%
[Item], [Popup]
Return true if a song in the item is playing
[Per track (Popup)]
Return true if it is playing
%gb_track_index%
[Per track (Popup)]
Position of track in item (O based)
%gb_length%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length of item/track
%gb_length_seconds%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length in seconds of item/track
%gb_calc_x%
%gb_calc_y%
%gb_calc_width%
%gb_calc_height%
[Item], [Popup], [Per track(Popup)]
Dimension calculations
Values change with functions below
$calc_text
$gp_calc_string
$gp_calc_string_path
$draw_image
● About functions:
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.
● GDI function
$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 [url=http://msdn2.microsoft.com/en-us/library/ms533909.aspx]http://msdn2.microsoft.com/en-us/library/ms533909.aspx[/url]
$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 [url=http://msdn2.microsoft.com/en-us/library/ms535467(VS.85).aspx]http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx[/url]
$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)
○ Overview:
Pen settings
○ 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)
○ Overview:
Monocolor brush setting
○ Arguments:
argb - color
$gp_set_brush(style,argb1,argb2)
○ Overview:
Hatch brush settings
○ 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)
○ Overview:
Set brush with linear gradual effect
○ 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...)
○ Overview:
Font settings
○ 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])
○ Overview:
Text drawing method settings
○ 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)
○ Overview:
Shape anti-alias setting
○ Arguments:
antialias - anti-alias
0 - disable
1 - enable
$gp_set_text_rendering_hint(mode)
○ Overview:
Text rendering method setting
○ 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)
○ Overview:
Draw arc using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_ellipse(x,y,width,height)
○ Overview:
Draw ellipse using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_line(x1,y1,x2,y2)
○ Overview:
Draw line using pen
○ Arguments:
x1 - start point x coordinate
y1 - start point y coordinate
x2 - end point x coordinate
y2 - end point y coordinate
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Draw pie (fan shape) using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_rectangle(x,y,width,height)
○ Overview:
Draw rectangle using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_string(str,x,y)
$gp_draw_string(str,x,y,width,height)
○ Overview:
Draw string using brush
○ Arguments:
str - string
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview
Calculate size of str when drawn
$gp_fill_ellipse(x,y,width,height)
○ Overview:
Fill ellipse using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Fill pie using brush
○ 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)
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_rectangle(x,y,width,height)
○ Overview:
Fill rectangle using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview:
Draw string with border.
○ 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
○ Settings:
$gp_set_pen
$gp_set_brush
$gp_set_font
$gp_set_string_format
$gp_set_smoothing_mode
○ 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)
○ Overview
Calculate size of str with border when drawn
● Draw image function
$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)
○ Overview:
Draw image
○ 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
○ Reference
After executing this function, you can use
%gb_calc_*% to obtain the real dimensions used.
● Other functions
$set_size(width,height)
○ 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.
○ Arguments:
width - width
height - height
$set_org(x,y)
○ Overview
Starting point setting
○ Arguments:
x - starting point x coordinate
y - starting point y coordinate
$sum(tf)
○ Overview
Calculate sum of values designated by TitleFormat.
○ Arguments:
tf - TitleFormat
○ 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
● Change logs:
2008/03/16 rev014
Added - $set_size function
Added - %gb_calc_x% variable
Added - %gb_calc_y% variable
Added - %gb_calc_width% variable
Added - %gb_calc_height% variable
Added - $calc_text function
Added - $gp_calc_string function
Added - $gp_calc_string_path function
Fixed - $draw_image function
Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before,
just forgot to write here…
Fixed - Several bugs fixed
2008/03/12 rev013
Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item
Fixed - When drawing in GDI mode, fixed a drawing background bug
2008/03/11 rev012
Fixed - Fatal resource leak
Added - Image cache options
2008/03/10 rev011
Added - Ability to move focus to an item when pressing the first character of %gb_group%
using keyboard
Added - Ability to add to specified playlist instead of replacing it
Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)
(TL's note: not sure about the last one, the meaning is a little vague and I don't have
Windows 2000 to test)
2008/03/09 rev010
Fixed - For some reason, I changed the variable name %gb_subitem_count% to %gb_track_count%
(the one before can still be used)
Added - Function $gp_set_brush(style,argb1,argb2)
Added - Function $set_org(x,y)
Added - Popup display transparent mode
Added - Popup delay setting
Added - Function $sum(tf)
Added - Variable %gb_isplaying%
Added - Variable %gb_track_index%
Added - Variable %gb_length%
Added - Variable %gb_length_seconds%
2008/03/02 rev009
Fixed - Fixed the bug that causes rotateflip does nothing
Fixed - Fixed behavior when there's no scroll bar
Added - Added mouse over popup.
2008/03/02 rev008
Fixed - Fixed bug that prevent the use of wild cards in $draw_image function
2008/03/02 rev007
Added - Ability to [always show|if necessary show|hide] scroll bar
Fixed - $set_font function (style)
Fixed - $draw_image function (rotate_flip)
Added - Middle mouse button action
Added - Ability to send to specified playlist
Older change logs omitted.
● Copyright
TitleFormatting Editor
Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> All Rights Reserved
[url=http://scintilla.sourceforge.net/]http://scintilla.sourceforge.net/[/url]
Some new functions??
Some new functions??
I can be nice to help you. But my kindness can't really be extended to the point of helping you reading the readme that I have translated in my previous post, can I?
@Varluche
Delete top 4 line (except the image code I give you) which look like this.
$if(%gb_focused%,
$set_pen(808080,1)
$set_brush(128-192-255)
$round_rect(0,0,%gb_width%,%gb_height%,5,5)
,)
If you hate to see the text, delete the next paragraph of code. the last paragraph of code draw the "box" around your cover when you hover your mouse over them. Delete them if you also hate that.
EDIT: THX thuan for translation, I'm start to getting confuse now with more thing added & using google to translated the readme..
I started to do it long ago, but until now I only PM Keikonium to post it on the first post.
@Varluche
Delete top 4 line (except the image code I give you)
Thanks Buktore, working now.
can anyone advise on how you would get artist art to display as well as cd covers... now that foo_discogs works the way I want for artist art locating the image will be very easy...
any suggestions?
can anyone advise on how you would get artist art to display as well as cd covers... now that foo_discogs works the way I want for artist art locating the image will be very easy...
any suggestions?
No problem but it all depends where you stored your artist images. Mine are in each artist's folders and are named folder.jpg or folder.gif (which makes XP show them as the folder icons/thumbnail).
Thus:
$draw_image(3,3,%gb_width%,%gb_width%,D:\Documents\My Music\%artist%\Folder.*,255,nokeepaspect)
My updated config:
).
Download [a href="http://www.mediafire.com/?jfbjv110kld" target="_blank"]this file (http://img231.imageshack.us/my.php?image=foodp2.png)[/b] and import it.
Requirements:
* Graphical browser rev014.
* Play icon (http://i170.photobucket.com/albums/u248/nagayanobu/Play-icon256-by-nagaya.png) and glare (http://img171.imageshack.us/img171/5822/glareyo0.png) images. Put them info foobar components folder, if not tweak my config to accommodate your new paths.
* Item size requirement: horizontal size is about twice of vertical size. If you see cut off album names then tweak the setting I point to in item code.
* Popup size requirement: vertical size is 54 pixels bigger than horizontal size and minimum horizontal size is 150.
* If you're using WinXP, you need to have East Asian languages support. Those rating star characters need it.
(http://img507.imageshack.us/img507/5721/expg4.th.png) (http://img507.imageshack.us/my.php?image=expg4.png)
Remember to set scroll size to your item vertical size if you change my settings so that your item isn't cut off when you scroll.
I was thinking about some of the things you could do with this component for a while and I was wondering if it was possible to bind different instances to each other?
My idea was a sort of graphical facets. In one panel you have a picture of the artists. Clicking on the picture would focus that artists albums in another instance of a graphical browser and give a list of tracks in another.
This is a sort of mock up of what I was thinking of.
(http://img141.imageshack.us/img141/8019/foobared4.th.jpg) (http://img141.imageshack.us/my.php?image=foobared4.jpg)
Currently If you have more than one artist in the left graphical browser panel the middle panel shows all the albums from all the artists. It would be nice if it would only display the albums of the artist that was selected.
I'm hoping to build a graphical facets type interface, too.
I don't think it will be possible until you can feed an instance of graphical browser from a named playlist (rather than from the active playlist as at present). Then its pretty easy to do by using a couple of intermediate playlists.
I raised this as a feature request which is being considered/developed.
That's cool.
The main reason I was thinking of it was because I'd love to use it as an interface for a touch screen.
is there a way to use this with the library instead of the playlist?
is there a way to use this with the library instead of the playlist?
Not at present. It works only from the active playlist.
Hi,
i hope developper read will read these lines ...
1 - sometimes, text lose its anti-aliasing and looks ugly indeed, it looks to be a bug, could you fix it please ?
2 - to do list request : is it possible to add a default backgroud picture for the whole panel in order to fill the blank space left when there are only a few albums and that they don't fill the whole panel (only see the background color for now) ?
--> (http://xs226.xs.to/xs226/08146/untitled5290.jpg)
thanx by advance
Development of this component has stopped.
Development of this component has stopped.
what a shame !
BTW, where is the place you say that text loses its anti-aliasing? Is it in the popup?
BTW, where is the place you say that text loses its anti-aliasing? Is it in the popup?
No, in the Draw Item Section, it happens sometimes, i haven't yet determine when exactely
@Falstaff: There're three functions that can draw string/text. You may want to try a different function than what you're using now.
with the latest foobar beta the cd case image and gloss effect I use over the album art no longer display.. I have not changed anything and its as well?
never mind it works now.. weird
Some times, this component just fails to display images if you use relative path for them, restart foobar should fix it. I think this is your problem.
Development of this component has stopped.
what a shame !
I guess this is one of the components that will break in future foobar2000, because it uses titleformatting instead of a proper language for graphical display.
What a shame that devs does take this into account, when it's widely proclaimed that this is REALLY deprecated! (especially when nice concept components like this shows up)
Likely, it won't break is what he told me after some exchanges in emails (he said that this component does not use metadb_display_hook). The reason that the development of this component was stopped is to honor the decision of foobar developers. He might come up with a component similar to this one in the future which doesn't use title formatting. No need to make a fuss. And I think that other developers that are currently developing components like this one should consider the same action.
New version rev015 anyway, so new readme translation.
Graphical Browser
● What this component does:
Album cover browser for the active playlist.
● Caution
Settings are per panel so if you delete a panel, the settings for that panel
also disappear.
● Sort
Blank → Whatever works.
* → Sorted by grouped strings.
If you want to arrange in the same order as the playlist → $num(%gb_playlist_number%,10)
● Popup
Transparent mode
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.
Per track
Draw order:
Popup → Per track(0) → Per track(1) → ...
Rendering settings (e.g.: pen, brush, font, ...) can't be set again midway.
● Image cache methods
Old
rev011 and older way. Cache images of all items.
Image cache is purged when switching playlist.
Default
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.
● Variables
%gb_group%
[Item], [Popup], [Per track(Popup)]
Return the group string. E.g.: If you used $if2(%album%,@skip) to group,
it will return %album%.
%gb_width%
[Item]
Item width
[Popup], [Per track(Popup)]
Popup width
%gb_height%
[Item]
Item height
[Popup], [Per track(Popup)]
Popup height
%gb_focused%
[Item], [Popup], [Per track(Popup)]
Check whether focus is on the item or not
%gb_mouse_over%
[Item]
Check whether mouse cursor is on the item or not
[Popup], [Per track(Popup)]
Probably always true
%gb_item_index%
[Item], [Popup], [Per track(Popup)]
Return item index
%gb_item_count%
[Item], [Popup], [Per track(Popup)]
Return item count
%gb_track_count%
[Sort], [Item], [Popup], [Per track(Popup)]
Return number of songs in an item
%gb_playlist_number%
[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
%gb_col%
[Item], [Popup], [Per track(Popup)]
Return item column number
%gb_row%
[Item], [Popup], [Per track(Popup)]
Return item row number
%gb_col_count%
[Item], [Popup], [Per track(Popup)]
Return number of columns
%gb_row_count%
[Item], [Popup], [Per track(Popup)]
Return number of rows
%gb_isplaying%
[Item], [Popup]
Return true if a song in the item is playing
[Per track (Popup)]
Return true if it is playing
%gb_track_index%
[Per track (Popup)]
Position of track in item (O based)
%gb_length%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length of item/track
%gb_length_seconds%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length in seconds of item/track
%gb_calc_x%
%gb_calc_y%
%gb_calc_width%
%gb_calc_height%
[Item], [Popup], [Per track(Popup)]
Dimension calculations
Values change with functions below
$calc_text
$gp_calc_string
$gp_calc_string_path
$draw_image
● About functions:
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.
● GDI function
$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 [url=http://msdn2.microsoft.com/en-us/library/ms533909.aspx]http://msdn2.microsoft.com/en-us/library/ms533909.aspx[/url]
$draw_text_blur(str,x,y,strength,[deep])
$draw_text_blur(str,x,y,width,height,strength,[deep],[option1],[option2],...)
○ Overview
Draw blurred text.
○ 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 [url=http://msdn2.microsoft.com/en-us/library/ms535467(VS.85).aspx]http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx[/url]
$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)
○ Overview:
Pen settings
○ 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)
○ Overview:
Monocolor brush setting
○ Arguments:
argb - color
$gp_set_brush(style,argb1,argb2)
○ Overview:
Hatch brush settings
○ 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)
○ Overview:
Set brush with linear gradual effect
○ 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...)
○ Overview:
Font settings
○ 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])
○ Overview:
Text drawing method settings
○ 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)
○ Overview:
Shape anti-alias setting
○ Arguments:
antialias - anti-alias
0 - disable
1 - enable
$gp_set_text_rendering_hint(mode)
○ Overview:
Text rendering method setting
○ 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)
○ Overview:
Draw arc using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_ellipse(x,y,width,height)
○ Overview:
Draw ellipse using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_line(x1,y1,x2,y2)
○ Overview:
Draw line using pen
○ Arguments:
x1 - start point x coordinate
y1 - start point y coordinate
x2 - end point x coordinate
y2 - end point y coordinate
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Draw pie (fan shape) using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_rectangle(x,y,width,height)
○ Overview:
Draw rectangle using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_string(str,x,y)
$gp_draw_string(str,x,y,width,height)
○ Overview:
Draw string using brush
○ Arguments:
str - string
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview
Calculate size of str when drawn
$gp_fill_ellipse(x,y,width,height)
○ Overview:
Fill ellipse using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Fill pie using brush
○ 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)
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_rectangle(x,y,width,height)
○ Overview:
Fill rectangle using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview:
Draw string with border.
○ 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
○ Settings:
$gp_set_pen
$gp_set_brush
$gp_set_font
$gp_set_string_format
$gp_set_smoothing_mode
○ 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)
○ Overview
Calculate size of str with border when drawn
● Draw image function
$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)
○ Overview:
Draw image
○ 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
○ Reference
After executing this function, you can use
%gb_calc_*% to obtain the real dimensions used.
● Other functions
$set_size(width,height)
○ 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.
○ Arguments:
width - width
height - height
$set_org(x,y)
○ Overview
Starting point setting
○ Arguments:
x - starting point x coordinate
y - starting point y coordinate
$set_clip_rect()
$set_clip_rect(x,y,width,height)
○ Overview
Only draw GDI, GDI+, and pictures inside the designated area.
Cancel this function effect by calling it with no argument.
$sum(tf)
○ Overview
Calculate sum of values designated by TitleFormat.
○ Arguments:
tf - TitleFormat
○ 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
● Change logs:
2008/04/20 rev015
Added - $draw_text_blur function
Added - $set_clip_rect function
Added - "(show track menu)" action
2008/03/16 rev014
Added - $set_size function
Added - %gb_calc_x% variable
Added - %gb_calc_y% variable
Added - %gb_calc_width% variable
Added - %gb_calc_height% variable
Added - $calc_text function
Added - $gp_calc_string function
Added - $gp_calc_string_path function
Fixed - $draw_image function
Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before,
just forgot to write here…
Fixed - Several bugs fixed
2008/03/12 rev013
Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item
Fixed - When drawing in GDI mode, fixed a drawing background bug
2008/03/11 rev012
Fixed - Fatal resource leak
Added - Image cache options
2008/03/10 rev011
Added - Ability to move focus to an item when pressing the first character of %gb_group%
using keyboard
Added - Ability to add to specified playlist instead of replacing it
Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)
(TL's note: not sure about the last one, the meaning is a little vague and I don't have
Windows 2000 to test)
2008/03/09 rev010
Fixed - For some reason, I changed the variable name %gb_subitem_count% to %gb_track_count%
(the one before can still be used)
Added - Function $gp_set_brush(style,argb1,argb2)
Added - Function $set_org(x,y)
Added - Popup display transparent mode
Added - Popup delay setting
Added - Function $sum(tf)
Added - Variable %gb_isplaying%
Added - Variable %gb_track_index%
Added - Variable %gb_length%
Added - Variable %gb_length_seconds%
2008/03/02 rev009
Fixed - Fixed the bug that causes rotateflip does nothing
Fixed - Fixed behavior when there's no scroll bar
Added - Added mouse over popup.
2008/03/02 rev008
Fixed - Fixed bug that prevent the use of wild cards in $draw_image function
2008/03/02 rev007
Added - Ability to [always show|if necessary show|hide] scroll bar
Fixed - $set_font function (style)
Fixed - $draw_image function (rotate_flip)
Added - Middle mouse button action
Added - Ability to send to specified playlist
Older change logs omitted.
● Copyright
TitleFormatting Editor
Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> All Rights Reserved
[url=http://scintilla.sourceforge.net/]http://scintilla.sourceforge.net/[/url]
Can any offer some advice? I want to do random "no cover art" images, but this doesn't seem to work:
$puts(nocover,images\noalbumart$rand(10).png)
New version rev015 anyway, so new readme translation.
Graphical Browser
● What this component does:
Album cover browser for the active playlist.
● Caution
Settings are per panel so if you delete a panel, the settings for that panel
also disappear.
● Sort
Blank → Whatever works.
* → Sorted by grouped strings.
If you want to arrange in the same order as the playlist → $num(%gb_playlist_number%,10)
● Popup
Transparent mode
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.
Per track
Draw order:
Popup → Per track(0) → Per track(1) → ...
Rendering settings (e.g.: pen, brush, font, ...) can't be set again midway.
● Image cache methods
Old
rev011 and older way. Cache images of all items.
Image cache is purged when switching playlist.
Default
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.
● Variables
%gb_group%
[Item], [Popup], [Per track(Popup)]
Return the group string. E.g.: If you used $if2(%album%,@skip) to group,
it will return %album%.
%gb_width%
[Item]
Item width
[Popup], [Per track(Popup)]
Popup width
%gb_height%
[Item]
Item height
[Popup], [Per track(Popup)]
Popup height
%gb_focused%
[Item], [Popup], [Per track(Popup)]
Check whether focus is on the item or not
%gb_mouse_over%
[Item]
Check whether mouse cursor is on the item or not
[Popup], [Per track(Popup)]
Probably always true
%gb_item_index%
[Item], [Popup], [Per track(Popup)]
Return item index
%gb_item_count%
[Item], [Popup], [Per track(Popup)]
Return item count
%gb_track_count%
[Sort], [Item], [Popup], [Per track(Popup)]
Return number of songs in an item
%gb_playlist_number%
[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
%gb_col%
[Item], [Popup], [Per track(Popup)]
Return item column number
%gb_row%
[Item], [Popup], [Per track(Popup)]
Return item row number
%gb_col_count%
[Item], [Popup], [Per track(Popup)]
Return number of columns
%gb_row_count%
[Item], [Popup], [Per track(Popup)]
Return number of rows
%gb_isplaying%
[Item], [Popup]
Return true if a song in the item is playing
[Per track (Popup)]
Return true if it is playing
%gb_track_index%
[Per track (Popup)]
Position of track in item (O based)
%gb_length%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length of item/track
%gb_length_seconds%
[Sort], [Item], [Popup], [Per track(Popup)]
Total length in seconds of item/track
%gb_calc_x%
%gb_calc_y%
%gb_calc_width%
%gb_calc_height%
[Item], [Popup], [Per track(Popup)]
Dimension calculations
Values change with functions below
$calc_text
$gp_calc_string
$gp_calc_string_path
$draw_image
● About functions:
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.
● GDI function
$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 [url=http://msdn2.microsoft.com/en-us/library/ms533909.aspx]http://msdn2.microsoft.com/en-us/library/ms533909.aspx[/url]
$draw_text_blur(str,x,y,strength,[deep])
$draw_text_blur(str,x,y,width,height,strength,[deep],[option1],[option2],...)
○ Overview
Draw blurred text.
○ 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 [url=http://msdn2.microsoft.com/en-us/library/ms535467(VS.85).aspx]http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx[/url]
$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)
○ Overview:
Pen settings
○ 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)
○ Overview:
Monocolor brush setting
○ Arguments:
argb - color
$gp_set_brush(style,argb1,argb2)
○ Overview:
Hatch brush settings
○ 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)
○ Overview:
Set brush with linear gradual effect
○ 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...)
○ Overview:
Font settings
○ 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])
○ Overview:
Text drawing method settings
○ 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)
○ Overview:
Shape anti-alias setting
○ Arguments:
antialias - anti-alias
0 - disable
1 - enable
$gp_set_text_rendering_hint(mode)
○ Overview:
Text rendering method setting
○ 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)
○ Overview:
Draw arc using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_ellipse(x,y,width,height)
○ Overview:
Draw ellipse using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_line(x1,y1,x2,y2)
○ Overview:
Draw line using pen
○ Arguments:
x1 - start point x coordinate
y1 - start point y coordinate
x2 - end point x coordinate
y2 - end point y coordinate
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Draw pie (fan shape) using pen
○ 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)
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_rectangle(x,y,width,height)
○ Overview:
Draw rectangle using pen
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_pen
$gp_set_smoothing_mode
$gp_draw_string(str,x,y)
$gp_draw_string(str,x,y,width,height)
○ Overview:
Draw string using brush
○ Arguments:
str - string
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview
Calculate size of str when drawn
$gp_fill_ellipse(x,y,width,height)
○ Overview:
Fill ellipse using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_pie(x,y,width,height,start_angle,sweep_angle)
○ Overview:
Fill pie using brush
○ 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)
○ Settings:
$gp_set_brush
$gp_set_smoothing_mode
$gp_fill_rectangle(x,y,width,height)
○ Overview:
Fill rectangle using brush
○ Arguments:
x - top left x coordinate
y - top left y coordinate
width - width
height - height
○ 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)
○ Overview:
Draw string with border.
○ 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
○ Settings:
$gp_set_pen
$gp_set_brush
$gp_set_font
$gp_set_string_format
$gp_set_smoothing_mode
○ 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)
○ Overview
Calculate size of str with border when drawn
● Draw image function
$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)
○ Overview:
Draw image
○ 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
○ Reference
After executing this function, you can use
%gb_calc_*% to obtain the real dimensions used.
● Other functions
$set_size(width,height)
○ 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.
○ Arguments:
width - width
height - height
$set_org(x,y)
○ Overview
Starting point setting
○ Arguments:
x - starting point x coordinate
y - starting point y coordinate
$set_clip_rect()
$set_clip_rect(x,y,width,height)
○ Overview
Only draw GDI, GDI+, and pictures inside the designated area.
Cancel this function effect by calling it with no argument.
$sum(tf)
○ Overview
Calculate sum of values designated by TitleFormat.
○ Arguments:
tf - TitleFormat
○ 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
● Change logs:
2008/04/20 rev015
Added - $draw_text_blur function
Added - $set_clip_rect function
Added - "(show track menu)" action
2008/03/16 rev014
Added - $set_size function
Added - %gb_calc_x% variable
Added - %gb_calc_y% variable
Added - %gb_calc_width% variable
Added - %gb_calc_height% variable
Added - $calc_text function
Added - $gp_calc_string function
Added - $gp_calc_string_path function
Fixed - $draw_image function
Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before,
just forgot to write here…
Fixed - Several bugs fixed
2008/03/12 rev013
Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item
Fixed - When drawing in GDI mode, fixed a drawing background bug
2008/03/11 rev012
Fixed - Fatal resource leak
Added - Image cache options
2008/03/10 rev011
Added - Ability to move focus to an item when pressing the first character of %gb_group%
using keyboard
Added - Ability to add to specified playlist instead of replacing it
Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)
(TL's note: not sure about the last one, the meaning is a little vague and I don't have
Windows 2000 to test)
2008/03/09 rev010
Fixed - For some reason, I changed the variable name %gb_subitem_count% to %gb_track_count%
(the one before can still be used)
Added - Function $gp_set_brush(style,argb1,argb2)
Added - Function $set_org(x,y)
Added - Popup display transparent mode
Added - Popup delay setting
Added - Function $sum(tf)
Added - Variable %gb_isplaying%
Added - Variable %gb_track_index%
Added - Variable %gb_length%
Added - Variable %gb_length_seconds%
2008/03/02 rev009
Fixed - Fixed the bug that causes rotateflip does nothing
Fixed - Fixed behavior when there's no scroll bar
Added - Added mouse over popup.
2008/03/02 rev008
Fixed - Fixed bug that prevent the use of wild cards in $draw_image function
2008/03/02 rev007
Added - Ability to [always show|if necessary show|hide] scroll bar
Fixed - $set_font function (style)
Fixed - $draw_image function (rotate_flip)
Added - Middle mouse button action
Added - Ability to send to specified playlist
Older change logs omitted.
● Copyright
TitleFormatting Editor
Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> All Rights Reserved
[url=http://scintilla.sourceforge.net/]http://scintilla.sourceforge.net/[/url]
very good news
Can any offer some advice? I want to do random "no cover art" images, but this doesn't seem to work:
$puts(nocover,images\noalbumart$rand(10).png)
I have never used $rand function much, so I don't really know but it seems $rand function does not work on latest foobar. Guess that's it?
thuan
$rand function does not work on latest foobar, you must use next one: $cwb_rand()
thuan
$rand function does not work on latest foobar, you must use next one: $cwb_rand()
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,*))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
//no cover source, remember to change this if needed
$puts(nocover1,images\noalbumart$cwb_rand(16).png)
//other image sources
$puts(glareImage,images\glare.png)
$puts(playIcon,images\av_play.png)
//dimensions and positions of objects
$puts(itemW,$eval(%gb_width%-1))
$puts(itemH,$eval(%gb_height%-1))
$puts(frameD,$eval(%gb_height%-8))
$puts(frameCu,$eval(%gb_height%/30))
$puts(coverD,$eval($get(frameD)-4))
$puts(textX,$eval($get(frameD)+7))
$puts(textW,$eval(%gb_width%-$get(textX)-4))
$puts(textH,$eval(%gb_height%-20))
$puts(subitem_countY,$eval($get(textH)+6))
//check whether item is playing
$puts(isplaying,$if($and($strcmp(%cwb_activelist%,%cwb_playinglist%),
$greater($add(%gb_playlist_number%,%gb_subitem_count%,1),%cwb_playing_index%),
$greater(%cwb_playing_index%,%gb_playlist_number%)),
1,))
///////////////////////////////////
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
$if(%gb_focused%,
$set_pen(0-0-0)
$draw_rect(0,0,$get(itemW),$get(itemH))
)
$set_pen(0-0-0)
$set_brush(0-0-0)
$round_rect(5,4,$get(frameD),$get(frameD),$get(frameCu),$get(frameCu))
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover1),255,nokeepaspect)
)
$draw_image(7,6,$get(coverD),$get(coverD),$get(glareImage),50,nokeepaspect)
$if($get(isplaying),
$draw_image(50,50,40,40,$get(playIcon),196)
)
$set_font(Calibri,8)
$draw_text(%gb_group%,$get(textX),6,$get(textW),$get(textH),right,wordbreak,word_ellipsis)
$set_font(Calibri,8,bi)
$draw_text(%gb_subitem_count%
$ifgreater(%gb_subitem_count%,1, tracks, track),
$get(textX),$get(subitem_countY),$get(textW),12,right,singleline,bottom)
$if(%gb_mouse_over%,
$gp_set_brush(128-255-255-255,0,0,0-255-255-255,%gb_width%,%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
I have about 16 "no cover" album arts that I want to use (see 5th line of code). Pretty sure this code that you wrote. But I'm not having any luck.
Have you got foo_cwb_hooks installed? It's provided by that component.
Yeah I got it.
That's ambiguous lol. Did you get it to work, or you have the component but it's still doesn't work? Which is it?
My bad, yeah I have cwb_foo_hooks. I've tried $cwb_rand() but have gotten nothing. I've also tried $mod($cwb_rand(),16) same (visual) results.
Well, it has nothing to do with my code as mine should work fine without random number generation. With it, it does work over here using $mod($cwb_rand(),X) with X is the number of nocover image, but with a weird though plausible glitch. That is every time an item is refreshed, the random number is changed, too, this makes it look weird. If this is what you said by visual result, then I can't help you.
If what you said is it displays nothing at all, then AFAIK, there's only another reason. That is you're using the wrong extensions for your images. Try replacing the fifth line with this
$puts(nocover1,images\noalbumart$mod($cwb_rand(),16).*)
EDIT: I have an idea, instead of using random number, you can use $crc32, something like this $mod($crc32(%gb_group%),16)
My updated config:
).
Download [a href="http://www.mediafire.com/?jfbjv110kld" target="_blank"]this file (http://img231.imageshack.us/my.php?image=foodp2.png)[/b] and import it.
Requirements:
* Graphical browser rev014.
* Play icon (http://i170.photobucket.com/albums/u248/nagayanobu/Play-icon256-by-nagaya.png) and glare (http://img171.imageshack.us/img171/5822/glareyo0.png) images. Put them info foobar components folder, if not tweak my config to accommodate your new paths.
* Item size requirement: horizontal size is about twice of vertical size. If you see cut off album names then tweak the setting I point to in item code.
* Popup size requirement: vertical size is 54 pixels bigger than horizontal size and minimum horizontal size is 150.
* If you're using WinXP, you need to have East Asian languages support. Those rating star characters need it.
(http://img507.imageshack.us/img507/5721/expg4.th.png) (http://img507.imageshack.us/my.php?image=expg4.png)
Remember to set scroll size to your item vertical size if you change my settings so that your item isn't cut off when you scroll.
I'm currently using 'thuan' script and it is really good!
I'm just wondering how can I change the cover image source to a certain name, namely cover_front.jpg instead of it uses the first image file it can locate in the music folder (as in the script uses, [cpath1]
Example:
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(
cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(
cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover),255,nokeepaspect)
)
Change the asterisk (*) in the first part of my code, the one under
//cover sources, if you add more sources please add more $draw_image functions below
to
$puts(cpath1,$replace(%path%,%filename_ext%,cover_front.jpg))
I see. Thanks for the fast reply and solution. Never thought of such good plugin and the script you had contributed though! Nice work!!
Well, it has nothing to do with my code as mine should work fine without random number generation. With it, it does work over here using $mod($cwb_rand(),X) with X is the number of nocover image, but with a weird though plausible glitch. That is every time an item is refreshed, the random number is changed, too, this makes it look weird. If this is what you said by visual result, then I can't help you.
If what you said is it displays nothing at all, then AFAIK, there's only another reason. That is you're using the wrong extensions for your images. Try replacing the fifth line with this
$puts(nocover1,images\noalbumart$mod($cwb_rand(),16).*)
EDIT: I have an idea, instead of using random number, you can use $crc32, something like this $mod($crc32(%gb_group%),16)
Oh, I never said it had anything to do with your code. The code works excellently. As a matter of fact this [/i]
$mod($crc32(%gb_group%),16) helped fix my problem. Thanks a million.
Hi guys, just a short question: has anyone emailed the author with the idea to config this plugin to display the Library instead of a playlist? Then upon double click it would send / add the album in question to a playlist as it does currently.
The above would basically give us a graphical browser for the libary, instead of a tree we have for now. It may also be that I'm missing something obvious, do let me know if it is possible with this / other plugins!
It has been mailed before, but I don't know there'll be another version as this component has been removed from his site (the front page that is) and before that it had a message saying development of this component has ceased.
In case ppl are wondering, this component does work with foobar 0.9.5.3 beta 1.
I'm currently using this script:
//cover sources, if you add more sources please add more $draw_image functions below
$puts(cpath1,$replace(%path%,%filename_ext%,folder.jpg))
$puts(cpath2,$replace(%path%,%directory%\%filename_ext%,*))
$puts(cpath3,$replace(%path%,%filename_ext%,cover_front.jpg))
//no cover source, remember to change this if needed
$puts(nocover,D:\Program Files\foobar2000\components\default.png)
//other image sources
$puts(glareImage,D:\Program Files\foobar2000\components\glareyo0.png)
$puts(playIcon,D:\Program Files\foobar2000\components\Play-icon256-by-nagaya.png)
$puts(casing,D:\Program Files\foobar2000\components\cdcaseck3.png)
//font settings
$puts(fontName,Segoe UI)
$puts(fontSize,9)
$puts(fontStyle1,)
$puts(fontStyle2,i)
//dimensions and positions of objects
$puts(itemW,$eval(%gb_width%-1))
$puts(itemH,$eval(%gb_height%-1))
$puts(frameD,$eval(%gb_height%-8))
$puts(frameCu,$eval(%gb_height%/30))
$puts(coverD,$eval($get(frameD)-4))
$puts(textX,$eval($get(frameD)+7))
$puts(textW,$eval(%gb_width%-$get(textX)-4))
$puts(textH,$eval(%gb_height%-20))
$puts(subitem_countY,$eval($get(textH)+6))
///////////////////////////////////
$if(%gb_focused%,
$set_pen(44-98-139)
$draw_rect(0,0,$get(itemW),$get(itemH))
$gp_set_brush(255-109-182-221,0,%gb_height%,0-255-255-255,0,0)
$gp_fill_rectangle(1,1,$eval(%gb_width%-2),$eval(%gb_height%-2)),
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
$set_pen(0-0-0)
$set_brush(0-0-0)
$round_rect(5,4,$get(frameD),$get(frameD),$get(frameCu),$get(frameCu))
//add more cover sources here
$if3(
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath1),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath2),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(cpath3),255,nokeepaspect),
$draw_image(7,6,$get(coverD),$get(coverD),$get(nocover),255,nokeepaspect)
)
$draw_image(7,6,$get(coverD),$get(coverD),$get(glareImage),50,nokeepaspect)
$draw_image(7,6,$get(coverD),$get(coverD),$get(casing),175,nokeepaspect)
$if(%gb_isplaying%,
$draw_image(7,6,$get(coverD),$get(coverD),$get(playIcon),128)
)
$set_font($get(fontName),$get(fontSize),$get(fontStyle1))
$draw_text(%gb_group%,$get(textX),6,$get(textW),$get(textH),right,wordbreak,end_ellipsis)
$set_font($get(fontName),$get(fontSize),$get(fontStyle2))
$draw_text($add(%gb_item_index%,1)/%gb_item_count% %gb_track_count%
$ifgreater(%gb_track_count%,1, tracks, track),
$get(textX),$get(subitem_countY),$get(textW),12,right,singleline,bottom)
$if(%gb_mouse_over%,
$gp_set_brush(128-255-255-255,0,0,0-255-255-255,%gb_width%,%gb_height%)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
And I have deleted the line as below because I want it to show the album title only when no cover art is available for the particular album. Any idea on how to change the script? Thanks for your help~ The script code below shows album title for all album regardless if they got cover art or not. So if a particular album already has a cover art, it would be quite annoyed for the title to show again as I identify each album according to their cover art.
$if(%gb_focused%,
,
$gp_set_font(Tahoma,9,b)
$gp_set_text_rendering_hint(ct)
$gp_set_smoothing_mode(1)
$gp_set_string_format(center,center)
$if(%gb_mouse_over%,
$gp_set_pen(255-255-255-255,3,,bevel)
$gp_set_brush(255-0-0-0),
$gp_set_pen(255-0-0-0,3,,bevel)
$gp_set_brush(255-255-255-255)
)
$gp_draw_string_path(%gb_group%,12,,4,4,$eval(%gb_width%-6),$eval(%gb_height%-6))
)
Another question, what option should I set if I want it to display the track list of a particular album only in album list panel when I single click the album.
Now whenever I click on the album, what it does is it highlight the tracks of the album in my entire album library.
(http://i179.photobucket.com/albums/w306/DeoxySynchro89/th_ScreenHunter_01May152144.gif) (http://i179.photobucket.com/albums/w306/DeoxySynchro89/ScreenHunter_01May152144.gif)
Moderation: Please do not inline images larger than roughly 800x600 and 80KB. Please use thumbnails and/or links for large pictures instead.
Can I save the cache for the graphical browser? Coz' now everytime I restart my computer or restart foobar2k, when I scroll the cover art it seems laggy. But after a while it become smooth again.
So I assume that it delete all cache after I closing foobar2k?
Your last two posts can't be done, as this component developer had decided to stop developing this component. As for your question about GB code, can you point me to the post you got the code. That code is not complete for me to work on.
It's your post here:
http://www.hydrogenaudio.org/forums/index....st&p=553118 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61412&view=findpost&p=553118)
@D.Sync: Erh, to be honest, I can't find the code you said you had removed anywhere inside the post you linked to. I made a new one using my latest code for GB.
(http://img364.imageshack.us/img364/7854/fookz2.th.jpg) (http://img364.imageshack.us/my.php?image=fookz2.jpg)
Import this file (http://www.mediafire.com/?jjbrl10gz3y).
Requirements:
Previously required pictures and latest GB.
Thanks for the upload~ btw how to change the color of the font when no cover art is available? It's yellow now, plan to change to white~
Another question is do you know how to BOLD the album title in NG Playlist to differentiate easily between tracks & album title.
Thanks thuan you had been a great help to me~
Near the end of Item code pane, search for this section:
$if($get(isNoCover),
$gp_set_font(Tahoma,9,b)
$gp_set_pen(255-0-0-0,2,,round)
$gp_set_brush(255-255-255-0)
$gp_set_string_format(center,center)
$gp_set_smoothing_mode(1)
$gp_draw_string_path(%gb_group%,14,,6,6,$get(coverD),$get(coverD))
)
$gp_set_pen changes the text border color, thickness, style, and line joint (same order as parameters).
$gp_set_brush changes the text stroke color which is what you wanna change and the correct value is 255-255-255-255 (alpha-red-green-blue).
For more information, read the readme I translated.
As for NG_Playlist group format question, you can't make it bold or change its font but you can color it. If you need more info post it in Columns UI thread or PM me as this is OT.
I see thanks a lot~
Hello,
I have a question about the pop-up
When the title of a song is too long then the display is all mess up
I mean the rest of the title is under but messed with the next line
I tried to expand the pop-up to enlarge the space between lines without
results. The pop-up is bigger but the lines stay still
(http://img371.imageshack.us/img371/3640/image0018gi2.th.png) (http://img371.imageshack.us/my.php?image=image0018gi2.png)
So,where in the code I can change this ?
thank you
Hello,
I have a question about the pop-up
When the title of a song is too long then the display is all mess up
I mean the rest of the title is under but messed with the next line
I tried to expand the pop-up to enlarge the space between lines without
results. The pop-up is bigger but the lines stay still
(http://img371.imageshack.us/img371/3640/image0018gi2.th.png) (http://img371.imageshack.us/my.php?image=image0018gi2.png)
So,where in the code I can change this ?
thank you
Why don't you ask me?
You must modify "Per track (Popup)" code:
this is the first line:
$set_org(10,$add($mul(15,%gb_track_index%),68)) --> space between lines (try 30 or more)And this is the last line:
$gp_draw_string($add(%gb_track_index%,1) $upper(%title%),0,0,%gb_width%,18) --> text height (put 30 or more for 2 lines)
Thank you Cépi
I am also on your thread of course,but I am waiting for answers there too
So I don't want to exagerate and trying not bother you every minute
anyway a big thanks !!!
EDIT : 22 was the best with a pop-up at 240 and the "MORE" at 225
and it shows 7 titles
Btw I made the pop-up also in left panel
hi, i would like my pop up tracks to be the same as the album name, check out the pic:
(http://img153.imagevenue.com/loc841/th_45922_carp_122_841lo.jpg) (http://img153.imagevenue.com/img.php?image=45922_carp_122_841lo.jpg)
my popup track code is like this:
$set_org(4,$mul(15,%gb_track_index%))
$if(%gb_isplaying%,$gp_set_brush(255-255-0-0),$gp_set_brush(255-255-255-255))
$gp_set_font(Calibri,9,b)
$gp_set_pen(255-255-255-255,3,5,round)
$gp_set_brush(255-255-255-0)
$gp_set_string_format(center,center)
$gp_set_text_rendering_hint(aa)
$gp_draw_string($add(%gb_track_index%,1). %title%,0,42,$eval(%gb_width%-38),15)
$gp_draw_string(%length%,$eval(%gb_width%-38),42,36,15)
how do i get the tracklisting to have a different bordercolour? I read somewhere it could be done with the gp_set_brush, or pen, but i've been trying and i dont get it to work...
Could anyone please repost the latest version of Thuan? The link to his version for rev14 is not working anymore. Thanks alot!!!
http://www.mediafire.com/?sharekey=39939ce...2db6fb9a8902bda (http://www.mediafire.com/?sharekey=39939ce53425b5b5d2db6fb9a8902bda)
Here, it's the readme and the code I backed up a long time ago, haven't used it in a long time.
http://www.mediafire.com/?sharekey=39939ce...2db6fb9a8902bda (http://www.mediafire.com/?sharekey=39939ce53425b5b5d2db6fb9a8902bda)
Here, it's the readme and the code I backed up a long time ago, haven't used it in a long time.
Perfect - big thanks! I love that plugin and your scripts are a super duper start for that.
Just to be clear -- this component only works with PanelsUI?
I'm looking for something that treats album art graphics as clickable objects, but I'm using 0.9.5 so PanelsUI is *right out*.
Clarification: This component is a Columns UI extension, has nothing to do with PanelsUI but can also be used with it.
Excellent news, thanks.
Addendum: OK , so I go tit up and running, sort of, in ColumnsUI , but instead of showing the album art in the new panel, it's just showing the album names, as placeholders. So Im close but not there yet. Looks like I'll have to read this thread more intensively. (FWIW, my art is distributed with the corresponding music as 'folder.jpg' files, i.e the path is F:/Master_music_folder/Artist/Album/folder.jpg)
anyone have contact with the author to see if he will release the source code so this plugin can continue development or ask him to reconsider releasing new updates for it?
Excellent news, thanks.
Addendum: OK , so I go tit up and running, sort of, in ColumnsUI , but instead of showing the album art in the new panel, it's just showing the album names, as placeholders. So Im close but not there yet. Looks like I'll have to read this thread more intensively. (FWIW, my art is distributed with the corresponding music as 'folder.jpg' files, i.e the path is F:/Master_music_folder/Artist/Album/folder.jpg)
Just define it like that:
$puts(cover.path,$replace(%path%,%filename_ext%,folder.jpg))
hey folks, bit stumped here! been tryna get the browser to display images with wildcards..
in the main graphical browser i have this code
$draw_image(12,4,$eval(%gb_width%-18),$eval(%gb_width%-20),$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpeg),$replace(%path%,%filename_ext%,)folder.jpeg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpeg),$replace(%path%,%filename_ext%,)cover.jpeg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)*.jpg),$replace(%path%,%filename_ext%,)*.jpg,.\images\fooAVA\nocoverb234.png))))),255, nokeepaspect)
that seems to work okay for everything
except the wildcard entry (have also tried *.* and *)
the problem is pretty much the same with mouse over..
$puts(Cover,$if($cwb_fileexists($replace(%path%,%filename_ext%,)cover.jpg),$replace(%path%,%filename_ext%,)cover.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)folder.jpg),$replace(%path%,%filename_ext%,)folder.jpg,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)*),$replace(%path%,%filename_ext%,)*,
$if($cwb_fileexists($replace(%path%,%filename_ext%,)*.*),$replace(%path%,%filename_ext%,)*.*,.\ima\fooAVA\nocover.jpg)))))
my head hurts, please help!!
ps the scripts above are in one line.. just put them under each other so the browser wouldnt scroll a mile wide
I've made GB iTunes rip (nothing original but I wanted to share), so if anybody likes it just download it:
http://www.mediafire.com/file/yjl2zzzrhtg/gb.rar (http://www.mediafire.com/file/yjl2zzzrhtg/gb.rar)
[a href="http://yfrog.com/5falbumsp" target="_blank"]
That's brilliant 2E7AH, thanks. Its a great component, shame its not updated any longer.
I've made GB iTunes rip (nothing original but I wanted to share), so if anybody likes it just download it:
http://www.mediafire.com/file/yjl2zzzrhtg/gb.rar (http://www.mediafire.com/file/yjl2zzzrhtg/gb.rar)
Nice GB config!
Thanks for sharing.
I guess it's time to play again with Columns UI!
Just a suggestion: use
$swapprefix(%album artist%) instead of
%album artist% for better alphabetical sorting of albums/artists...
iv been having a play with this (after being inspired by 2E7AH config, thanks btw) & was just curious whether it is possible to change the format of the "show track menu"?
i would just like to change it to "%tracknumber% %artist% - %title" which is a minor variation of what it is now but handy for compilations.
any help appreciated
Here is WMP rip:
http://www.mediafire.com/file/khjqzj0mjjy/GB_WMP.zip (http://www.mediafire.com/file/khjqzj0mjjy/GB_WMP.zip)
[a href="http://yfrog.com/59albumsiconsp" target="_blank"]
@ mystNZ: It's a shame really, I have many requests now, like multiple selections, update on tag change, where are some foobar context menu commands, drag & drop, info about item subitems based on title formatting and more
@ _oao: Good point, I corrected that, also I somehow forgot "grey" edge style in GB albums so I changed that to "none" and reduced by 2px toolbar buttons height
@ Jack Schmaltz: If you a refering to item subtitles just change %album artist% or %album% in $drawtext() under the "// item subtitles" comment
[edit] reuploaded due to mistake
It's really nice but can you make juste a simple fcl config like that everything is make and you don't have to prepare your own config every time.
Which version of graphical browser do you use.??
thanks for sharing this work
Every two times?
Maybe you are right, if you mean to test it in portable install, than OK, otherwise it will rewrite your config:
http://www.mediafire.com/file/zwnwr3xfyny/GB_WMP_fcl.zip (http://www.mediafire.com/file/zwnwr3xfyny/GB_WMP_fcl.zip)
components needed:
CUI, graphical browser (rev15) and panel stack splitter (images included in archive)
[edit] Please untick everything in PSS (behaviour tab)
there is an IMPORT/EXPORT feature in Graphical Browser, it generate .gbs files, why don't using it ?
btw good work 2E7AH, thanx for sharing
Well, that was the reason why I edited my first post, but I probably pasted wrong link again. Thanks for poining this.
http://www.mediafire.com/file/d0yn5yyymfz/GB_WMP.zip (http://www.mediafire.com/file/d0yn5yyymfz/GB_WMP.zip)
Now it all looks like a big mess, hm...
@ Jack Schmaltz: If you a refering to item subtitles just change %album artist% or %album% in $drawtext() under the "// item subtitles" comment
im referring to the click options menu, i have it set to "(show track menu)" on double click & im just wondering if i can change the format of what is shown when i do double click.
at the moment the format appears to be "%tracknumber% - %title%", & i wouldnt mind being able to change that but cant figure out whether it is possible or not.
is this actually possible?
thanx for your time
I have a question:
I have several sources for image:
folder.*
%FOOBAR_PATH%lastfm\artist\%artist%.*
%FOOBAR_PATH%lastfm\album\%album artist%-%album%.*
<nocover image> if all else fails.
Right now I draw all the images in order from lowest to highest preference. But that makes scrolling a little slow b/c potentially I could draw 4 cover images for every item (plus an ovelay image). I'd rather just stop drawing as soon as I successfully find one. But $draw_image doesn't appear to return TRUE if successful. Is there a way around this?
thanks
PS: actually, if there's a way to use artreader (to take advantage of foo_covers), that'll solve my problem too.
The graphical browser is so F'IN slow (for me at least)! So everytime, I have to browse through it for all covers to be cached, and then I could enjoy it at full speed. Is there anyway I could make the cache remain always there even when I quit and restart foobar?
That would be great.
The graphical browser is so F'IN slow (for me at least)! So everytime, I have to browse through it for all covers to be cached, and then I could enjoy it at full speed. Is there anyway I could make the cache remain always there even when I quit and restart foobar?
That would be great.
I agree, the initial load time is my only gripe with this component. To bad it's not maintained any longer..
i only recently discovered this and it's sweet. it's the first 3rd party eye candy component that i have actually found useful. i can't really see the point in most of the others....
i now use this as the main interface for browsing my collection using the option to have the track list appear on a single click. it's a shame that can't be set with custom title formatting though. other than that this component is perfect for me.
Link isn't working, and I can't find anywhere else to download this from. Help?
I can't find anywhere else to download this from. Help?
After some googling:
1) http://foobar2000.xrea.jp/index.php?User%2...erface#l8a1a420 (http://foobar2000.xrea.jp/index.php?User%20interface#l8a1a420)
2) http://www.fohguild.org/forums/millies-mus...tml#post1042504 (http://www.fohguild.org/forums/millies-music-house/33941-foobar-layouts.html#post1042504)
3) IIRC, Curaçao skin (http://br3tt.online.fr/html/C/index.htm) also has this component.
When I try to assign a custom mouse click action, I'd like to choose one of my defined "Run" commands, however they don't show up. It only displays "Run service" which doesn't make much sense. It's available when I create buttons in toolbars, so why not here???
Am I the only one having problems using keyboard shortcuts on this plugin?
So, i've racked my brain but i cant think of anything:
Is there any way to force this to always retrieve from your entire library, and not just your active playlist? Its a bit useless to browse through music you already have in your playlist...no?
would like to be able to do something like this in this component or something completely different: while i'm listening to my current playlist (of say, 1-2 albums), i could scroll through all my album art and go "oooh i fancy that" and add it to the playlist.
I think the complete opposite .
The reason I dumped Chronflow is because it doesn't provide a "Playlist mode" like GB, which I find much more useful and intuitive. If I want to browse my library, I'll click my "Library" playlist.
To each his own I guess.
Edit: Technically speaking, there should be 2 modes for every "browsing" component: a library mode to browse the library and create playlists (a la Album List, Filter Panels, Chronflow...), and a playlist mode to browse through the active playlist and play(GB). The only component I'm aware of that supports both modes are Quicksearch Toolbar. Maybe its usefulness doesn't justify its complexity, so developers just choose the one mode they prefer .
compatible with foobar2000 1.0 ?
works fine, no messages on startup. it's still blacklisted if you visit the online troubleshooter page but it's never caused me any problems.
here's a little piece of code to avoid the "nokeepaspect" and however hide the "no cover" picture
$draw_image(3,3,$eval(%gb_width%-6),$eval(%gb_height%-6),pictures\nocover.png)
$draw_image(3,3,$eval(%gb_width%-6),$eval(%gb_height%-6),$replace(%path%,%filename_ext%,folder.*))
$puts(rect-height,$div($sub($eval(%gb_height%-3),%gb_calc_height%),2))
$puts(rect-width,$div($sub($eval(%gb_width%-3),%gb_calc_width%),2))
$gp_set_brush(255-22-32-41) // set it to your background color
$if($greater($get(rect-height),0),
$gp_fill_rectangle(3,3,$eval(%gb_width%-6),$get(rect-height))
$gp_fill_rectangle(3,$sub($eval(%gb_width%-3),$get(rect-height)),$eval(%gb_width%-6),$get(rect-height))
)
$if($greater($get(rect-width),0),
$gp_fill_rectangle(3,3,$get(rect-width),$eval(%gb_height%-6))
$gp_fill_rectangle($sub($eval(%gb_height%-3),$get(rect-width)),3,$get(rect-width),$eval(%gb_height%-6))
)
I have just discovered this component and I'm sad that it's no more developed... The graveyard of foobar2000's great components is already full, I hope this one will still be compatible until his resurrection or that a good replacement come
I've been dying for something like this for the default UI.... anyone?
not likely. it hasn't been updated on CUI for nearly 2 years now.
how to use this component ?
I put in fb component but I didn't find any configuration page .
you have to add a panel on the CUI layout editing page in the preferences.
you have to add a panel on the CUI layout editing page in the preferences.
I added a panel to put uie_graphical_browser, but album covers art images cannot be shown
(http://i36.photobucket.com/albums/e28/adrianmak2/Capture-4.jpg)
it doesn't use the foobar artreader or read embedded album art. you have to configure each pattern you want to use manually. this is what i use...
$gp_set_pen(FFAFAFAF,1)
$gp_draw_rectangle(3,3,$sub(%gb_width%,4),$sub(%gb_height%,4))
$draw_image(4,4,$sub(%gb_width%,5),$sub(%gb_height%,5),$directory_path(%path%)\cover.jpg)
you'll have to adjust the title formatting at the end of line 3 to match wherever your art is. (the first 2 lines of code put a border around each cover)
I've been dying for something like this for the default UI.... anyone?
maybe my reply to your comment was a little hasty. there is a brand new playlist component being developed which works in DUI and replicates how GB looks. see here....
http://www.hydrogenaudio.org/forums/index....st&p=687341 (http://www.hydrogenaudio.org/forums/index.php?showtopic=62133&view=findpost&p=687341)
(ignore the first part of the post. that was a reply to an unrelated question above.)
where should I paste these few lines of code?
right click panel>settings.
For album with multiple CDs
I put cover.jpg in the root folder instead of independent CD folder
ie
Artist name - album\CD1
Artist name - album\CD2
Artist name - album\CD3
Artist name - album\cover.jpg
I added
$draw_image(4,4,$sub(%gb_width%,5),$sub(%gb_height%,5), ..\cover.jpg)
however cover didn't show up
What is the latest version of this component?
Is it possible to send an album to a playlist and start playback on double click?
What is the latest version of this component?
Is it possible to send an album to a playlist and start playback on double click?
the latest version is rev015.....
maybe you can refer to the settings about the mouse behaviors, and it was a view of the existed albums in you current playlist.
(my poor english.....
I want to send the selected album a specific playlist and start playback. I entered the playlist name in the settings, but it is not the active playlist. I will try to explain what I mean: Graphical Browser shows playlist A. Now I want to send an album to playlist B and start playback. Perhaps there is a component to add an custom context menu entry for that?
I want to send the selected album a specific playlist and start playback. I entered the playlist name in the settings, but it is not the active playlist. I will try to explain what I mean: Graphical Browser shows playlist A. Now I want to send an album to playlist B and start playback. Perhaps there is a component to add an custom context menu entry for that?
got your idea~
impossible......is my whole answer......at least in my opinion......but i think it might be a function of EsPlaylist?i'm not sure....sorry...
I found a component called "Playlist Tools" (foo_utils (http://foosion.foobar2000.org/components/?id=utils&version=0.6.2+beta+6)) and now I can choose a double click action "Send to new playlist and play". With a WSH Panel Mod I set the active playlist and now I can use "Graphical Browser" as a library viewer
Though the component sadly seems to be dead I updated it's wikipage (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_%28foo_uie_graphical_browser%29#.24round_rect.28x.2Cy.2Cwidth.2Cheight.2Cellipse_width.2Cellipse_height.29).
Everyone is welcomed to extend information there. It would be also useful if someone could provide a regular download link (not RS).
Download link (https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&hl=en) for latest version with translation. I threw in the code I used with it before abandoning this component in my foobar config.
@thuan:
Just out of curiosity: Did you use another component as a replacement?
From the day, I got ngplaylist in CUI and now I use es_playlist in DUI which provides the same features I use in ng and more.
Generally speaking, I like this component but there's one little thing that's slowly driving me insane! I have one or two albums which I've compiled into my own personal "Best Of" for a particular artist and sometimes this browser shows the compilation exactly as I intended but sometimes it doesn't. I cannot figure out why. I made the compilations in exactly the same manner, employing the same forms of tagging for all the sound files yet one album will appear in the list while another is completely ignored. If you look at the screen-shot you'll see I'm highlighting one compilation from Embrace, titled My Collection and using a custom made "Folder.jpg" image for album art. Now, also residing in my library at this point is another such compilation for Godley & Creme also titled My Collection and using a custom made "Folder.jpg" image for album art but it refuses to display. Does anyone have similar experience of this or have any idea what could be causing it? If I can't sort it my only option will be to split up these collections into their individual albums which seems a bit dumb considering I've only taken one track from an album in many cases!
Thanks for any help you can give with this.
(http://img822.imageshack.us/img822/4148/clipboard1y.jpg) (http://img822.imageshack.us/i/clipboard1y.jpg/)
Hello.
I am a beginner at foobar2000. I really like this plugin but, I can't make it display album covers
All of my music are MP3 files with embedded album art. In other words the album art is coded into each song. I have absolutely no idea what file name the album art has inside the ID3 tag's though...
Can anyone please help me?
Thanks so much
i'll make it really easy for you. it doesn't support embedded album art.
Thanks for letting me know at least
Do you know any other plugin that might do the same thing only with embedded album art then?
Would really love a viable DUI alternative to this.... Seriously, dying for it
you can achieve something similar with EsPlaylist (works with DUI and CUI) in "browse library" mode with "side info" turned off.
(http://dl.dropbox.com/u/22801321/esp_gb.png)
Sorry don't bother to read I managed to do what I wanted
Nice to see this plugin is still valuable to some...Been using it for over 3 years without any failure. Thought I'd share the screenshots making this plugin a major reason I use Foobar. I've incorporated it into Columns UI as a side scroller for my entire collection along with Lyric Show Panel and Quick Search toolbar. All images appear with a CD case image overlay and reflection overlay.
(http://img510.imageshack.us/img510/8971/foobargraphicalbrowser1.jpg)
Hovering over each CD cover pops up the rear CD cover:
(http://img822.imageshack.us/img822/636/foobargraphicalbrowser2.jpg)
Doubling clicking on any CD cover brings up the selectable album track list:
(http://img411.imageshack.us/img411/6720/foobargraphicalbrowser3.jpg)
...An awesome Foobar component deserving of greater attention and further development (need to cache cover images!)
can share you config?
I lOVE CD cover View Too!!
Nice to see this plugin is still valuable to some...Been using it for over 3 years without any failure. Thought I'd share the screenshots making this plugin a major reason I use Foobar. I've incorporated it into Columns UI as a side scroller for my entire collection along with Lyric Show Panel and Quick Search toolbar. All images appear with a CD case image overlay and reflection overlay.
(http://img510.imageshack.us/img510/8971/foobargraphicalbrowser1.jpg)
Hovering over each CD cover pops up the rear CD cover:
(http://img822.imageshack.us/img822/636/foobargraphicalbrowser2.jpg)
Doubling clicking on any CD cover brings up the selectable album track list:
(http://img411.imageshack.us/img411/6720/foobargraphicalbrowser3.jpg)
...An awesome Foobar component deserving of greater attention and further development (need to cache cover images!)
Added new links to Graphical Browser, because all the previous ones are gone. Also updated download link in the wiki page.
http://www26.zippyshare.com/v/75280797/file.html (http://www26.zippyshare.com/v/75280797/file.html)
https://dl.dropboxusercontent.com/u/9000763...cal_browser.dll (https://dl.dropboxusercontent.com/u/90007630/foo_uie_graphical_browser.dll)
Guys, can anyone give a hand? I have GB in my config (well not mine but the one I'm using, one of Br3tt's) and it has been working fine for 7 years but recently I've noticed I can't use it jump navigate my library autoplaylist. Only this one, it works in all other playlists and autoplaylists, that's quite strange.
Is this (http://i.imgur.com/ExM9nfZ.png) Artist filter (alphabetic) thing is made is made of using graphical browser popups??
Can someone please let me how to do it??
is it possible to make border flashing with two different colours,
when album is in focus?
(http://i61.tinypic.com/1zyuclt.jpg)
I've found this variable %gb_length_seconds%, but hadn't any chance to get it run
that's the code now:
$if(%gb_focused%,
$set_pen(44-98-139)
$draw_rect(0,0,$get(itemW),$get(itemH))
//$gp_set_brush(255-109-182-221,0,%gb_height%,0-255-255-255,0,0)
$gp_set_brush(255-255-255-0,0,%gb_height%,255-0-255-255,0,0)
$gp_fill_rectangle(1,1,$eval(%gb_width%-2),$eval(%gb_height%-2)),
$set_brush(240-240-240,cross)
$fill_rect(0,0,%gb_width%,%gb_height%)
//background
$select($add($mod(%gb_item_index%,2),1),
$gp_set_brush(100-200-200-200),
$gp_set_brush(100-240-240-240)
)
$gp_fill_rectangle(0,0,%gb_width%,%gb_height%)
)
thanks
Guys, can anyone give a hand? I have GB in my config (well not mine but the one I'm using, one of Br3tt's) and it has been working fine for 7 years but recently I've noticed I can't use it jump navigate my library autoplaylist. Only this one, it works in all other playlists and autoplaylists, that's quite strange.
could you tell me the name of this skin???please
Is this (http://i.imgur.com/ExM9nfZ.png) Artist filter (alphabetic) thing is made is made of using graphical browser popups??
Can someone please let me how to do it??
could you tell me the name of this skin???please
Is it possible to 'group' only currently playing album? Even though the main playlist is now populated with everything from particular artist...?
Can anyone help me identify the problem with the script I have? With the help of customdb tag %play_count_cd%, I'm trying to get GB to display play counts by albums.
(http://i.imgur.com/mb1TD12.png)
But for some reason, I do not get correct counts -- in this case on half the albums, usually on those with more plays.
Real counts...
32 Iron Maiden (-16)
23 Killers (-7)
11 Piece of Mind (-7)
16 Powerslave (0)
12 Live After Death (-2)
15 Seventh Son (+7)
8 Number of the Beast (0)
10 Somehwere in Time (+2)
9 Sanctuary (+1)
6 Aces High (0)
3 Wasted Years (0)
2 Running Free (0)
1 Maiden England '88 (0)
1 Run to the Hills (0)
I guess GB probably is not the best element to do this (JScript panel better?), but if it actually can, would greatly appreciate the help.
Thanks.
It seems this component has for some reason a maximum item with size of 500px. Whatever I do, it doesn't seem to want to go beyond 500px. Can anyone confirm this? For example item width is set at 600, I draw a rectangle with the same size but it cuts off at 500px, same goes for text and images. Everything just gets cut off. Yes I know this is an old component and hasn't been updated in a while but it still works great except for this minor issue.