This is a modified foo_uie_trackinfo which uses a differet display function, which allows for different fonts / alignment.
Example screenshot:
(http://img189.imageshack.us/img189/5489/tidu9.png) (http://imageshack.us)
and the code from the example:
$if(%_trackinfo_notrack%,
Stopped,
$align(left,top)
$font(forte,15,shadow,255-255-255)%title%$char(10)
$font(,12,,64-0-0)%album% ['['%date%']']$char(10)
$rgb(0,64,0)%artist%$char(10)
$rgb(64,0,0)%composer%test$char(10)
$align(right,bottom)
$font(Verdana,10,,0-0-0)%__codec%@%__bitrate%$char(10)
[%playback_time% / ]%length%
$align(left,bottom)
$font(Wingdings 2,13,,)
$if(%rating%,
$select(%rating%,
$rgb(155,0,0)ê,
êê,
êêê,
êêêê,
$rgb(0,155,0)êêêêê),
$rgb(155,155,155)ê)
)
This is very much still a beta, so please beware of bugs.
Download here (http://users.bowie-cass.com/singa/foobar).
For documentation, please refer to the wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_(foo_uie_trackinfo_mod)). (thanks to FofR, Sw!ng, and the other contributors).
Requires:MS Visual C++ 2005 Runtime Library (http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en)
GDI+ - only needed for Windows 2000 (http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en)
Is it possible to use the scrolling feature only on a certain portion of the trackinfo?
With the standard trackinfo, no way.
hey guys...
I have modified trackinfo a little bit to support mixing of different fonts/styles.
Sounds interesting. Will try and report ASAP.
I had to remove some stuff (scrolling, alignment support), but otherwise this is the same as the original. This is my first plugin in for foobar, so beware
Happily, I don't need these, so if your plugin works, it fits my needs perfectly.
I assume the 0-0-0 is R-G-B values?
You PM creator of trackinfo and coordinate your development. Or if that is not possible, change the name so that people will not confuse your trackinfo and the 'standard' trackinfo.
Would it be possible for you to change your font code to me more consistent with TAGZ? IE:
'#FONT,tahoma,14,BOLD,0-0-0#'
would become
$font(tahoma,14,bold,$rgb(0,0,0))
Just a suggestion.
made a couple of bug fixes, and other changes:
example screenshot:
[a href="http://imageshack.us" target="_blank"]
First off I'd like to thank you for continuing the development of this popular plugin. There are, however, a few issues I'd like to point out.
1)
No Default Font. Absolutely no text will appear unless a $font() is defined. So if you have code such as:
%album artist% - $font(tahoma,14,,0-0-0)%title%
You will see the title but not the artist. Perhaps you could reimplement the old font settings in the configuration, and use that as the default font. Also, the font appears to reset on every line of code. So unless you define a font at the beginning of every line text will disappear.
2)
Inconsistent Font Size. If I use the function $font(tahoma,8,,0-0-0), text appears significantly smaller than when I choose Tahoma 8pt in other components.
3)
Broken $rgb(). Both colors in the format of $rgb(0,0,0) and 000000 no longer appear and are displayed as normal text. The color can be redefined with a $font() command but this requires everyone to rewrite their existing code. Also, a simple $font(,,,0-0-0) does not work as apparently the $font() function requires an actual font to be specified.
4)
Broken $tab(). The use of $tab() appears to simply bump the text to the next tabstop instead of the allignment behavior found in other foobar components. I am unable to figure out a way to right-allign text using this version of trackinfo.
On the other hand, I was pleasantly surprised to see that despite being a component of a different name and chosing not to save the settings for the old component, your component successfully inherited all my existing settings and code from the old component. Also, thank you for changing your font code format to be more consistent with TAGZ :)
Using multiple fonts in the same panel is definitely an improvement for this component, however I think some more development is in order for myself (and I would assume many others) to make the switch. Keep up the good work!
Thanks for your comments
1) No Default Font. Absolutely no text will appear unless a $font() is defined. So if you have code such as:
%album artist% - $font(tahoma,14,,0-0-0)%title%
Yes, there needs to be a $font in the beginning and after every $align. I will bring back the font dialog and use that as the default.
2) Inconsistent Font Size. If I use the function $font(tahoma,8,,0-0-0), text appears significantly smaller than when I choose Tahoma 8pt in other components.
I am using the font size in pixels, whereas others are using point sizes... I think I can convert to make it more consistant.
3) Broken $rgb(). Both colors in the format of $rgb(0,0,0) and 000000 no longer appear and are displayed as normal text. The color can be redefined with a $font() command but this requires everyone to rewrite their existing code. Also, a simple $font(,,,0-0-0) does not work as apparently the $font() function requires an actual font to be specified.
can be fixed also
4) Broken $tab(). The use of $tab() appears to simply bump the text to the next tabstop instead of the allignment behavior found in other foobar components. I am unable to figure out a way to right-allign text using this version of trackinfo.
unfortunately, this will not be easy to change, since this display system is completly different from the regular one. However, you should be able to achieve the same effect (with even more flexability) by using something like this:
$align(left,top)
$font(tahoma,11,,0-0-0)
This text will appear at the top left
$align(right,bottom)
$font(tahoma,11,,0-0-0)
This text will appear at the bottom right
2 suggestions:
1.
Please provide a readme.txt too to describe the difference with the old trackinfo, including new commands, how to align, change font, etc. Then put the readme.txt in a zip alongside the new .dll, and presto.
2.
Saving of not only trackinfo text, but also default font, default (background) color, etc. So just in case I screwed up my trackinfo, I only need to reload a .titagz file (or whatever extension) to restore. No need to fiddle manually the background color, fontsize, scroll speed, etc. like the older trackinfo.
terrestrial - amazing work, thank you so much for working on this plugin. few questions though:
is it possible to change fonts / sizes even on one line, or is it one style per line only?- [done: still $font with different arity and specialized style functions could be handy] i would like to be able to change only for example font, size or style, not everything ... does $font(,11,,) work like this? maybe you could add support for multiple $font functions with different arity, like $font(fontname), $font(fontname, style), $font(fontname, style, size). also $size and functions for quick bold / italics / underline would be great - maybe as $b() - or $b(text to be bold).
could you support custom info (foo_custominfo)?- [done] ability to disable / enable antialiasing or cleartype. some fonts work well only without it. this could be set in the configuration dialog
- [done] when i change tracks
(or during normal playback), when foobar is moving onto new song, there's registrable period of time when trackinfo thinks (probably properly), that there's no song playing - so it reacts to this (redraws itself) with the formatting having no song info available (which in my case means mostly that i do not output anything). this is distracting me *a lot*. could you find some workaround for this, please? - extra feature would be to be able to 'measure' text's width (in pixels or % of available space), would that be possible? something like $fontwidth(fontname,style,size,text to measure) or $fontwidth(text to measure using current style).
thoughts, anyone ...
[edit] i tried your version and stroked out things that already work ...
download (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod.dll)
Please just one uie_trackinfo project!
This guy has fixed some annoying bugs and introduced an additional wrapping mode. Just to let you know.
http://www.hydrogenaudio.org/forums/index....st&p=415116 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=46704&view=findpost&p=415116)
Bug
In the latest foobar beta multiple trackinfo fields no longer work.
- i would like to be able to change only for example font, size or style, not everything ... does $font(,11,,) work like this? maybe you could add support for multiple $font functions with different arity, like $font(fontname), $font(fontname, style), $font(fontname, style, size). also $size and functions for quick bold / italics / underline would be great - maybe as $b() - or $b(text to be bold).
added. stuff like $font(,,bold,) should work now.
- ability to disable / enable antialiasing or cleartype. some fonts work well only without it. this could be set in the configuration dialog
added (although I haven't tested it). add nocleartype to the option to disable cleartype.
- when i change tracks
(or during normal playback), when foobar is moving onto new song, there's registrable period of time when trackinfo thinks (probably properly), that there's no song playing - so it reacts to this (redraws itself) with the formatting having no song info available (which in my case means mostly that i do not output anything). this is distracting me *a lot*. could you find some workaround for this, please?
fixed.
- extra feature would be to be able to 'measure' text's width (in pixels or % of available space), would that be possible? something like $fontwidth(fontname,style,size,text to measure) or $fontwidth(text to measure using current style).
I do this internally, but why would you need the values exposed?
i would like to be able to change only for example font, size or style, not everything ... does $font(,11,,) work like this? maybe you could add support for multiple $font functions with different arity, like $font(fontname), $font(fontname, style), $font(fontname, style, size). also $size and functions for quick bold / italics / underline would be great - maybe as $b() - or $b(text to be bold).
added. stuff like $font(,,bold,) should work now.
ability to disable / enable antialiasing or cleartype. some fonts work well only without it. this could be set in the configuration dialog
added (although I haven't tested it). add nocleartype to the option to disable cleartype.
when i change tracks (or during normal playback), when foobar is moving onto new song, there's registrable period of time when trackinfo thinks (probably properly), that there's no song playing - so it reacts to this (redraws itself) with the formatting having no song info available (which in my case means mostly that i do not output anything). this is distracting me *a lot*. could you find some workaround for this, please?
fixed.
extra feature would be to be able to 'measure' text's width (in pixels or % of available space), would that be possible? something like $fontwidth(fontname,style,size,text to measure) or $fontwidth(text to measure using current style).
I do this internally, but why would you need the values exposed?
New version can be found here (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod.zip)
Thanks for fixing the multiple fields bug so quickly
EDIT: Your new feature $font(,,bold,) doesn't work though. Makes the text disappear.
Wow thanks for the quick update and thank you for correcting most of the issues I previously mentioned. I installed your latest update and after a few minor code edits I have made the switch. Still still remains a few issues I'd like to mention.
1) With other components, we can use $rgb() with no parameters or double color escape code to reset the text color to the default. It was easy enough for me to change my $rgb() to $rgb(0,0,0) but otherwise existing code will not work. Would you perhaps consider re-implementing the configuration for the default text color and allow $rgb() or double color escape to reset the text to that color?
2) Bold and Italic on the default font is ignored. Also, $rgb(,,bold,) and $rgb(,,italic,) does not work as expected, instead it changes the text to some totally different font setting (is it filling in the blanks with something?)
3) $align() appears to be buggy, or I am not using it properly. If I use $align(right,) at the beginning of every line like this:
$align(right,)Text line one.$char(10)
$align(right,)Text line two.$char(10)
instead of seeing two lines right alligned, the lines are overlapped on top of each other. This can be corrected with $align(right,top) $align(right,center) $align(right,bottom) but that only fixes up to three lines of aligned text. After playing around a bit I discovered that the $align() is inherited from one line to another so I can replace the code with:
$align(right,)
Text line one.$char(10)
Text line two.$char(10)
which IMO is actually more efficient code, however with people migrating from the old $tab() system you may want to implement some code to allow for the first example.
There also appears to be something wrong with $align(center,). When using this on multi-line text like this:
Text line one.$char(10)
$align(center,)Text line two.$char(10)
the second line is indeed centered, however the text appears overlapped onto the first line instead of appearing on the second line as expected. I corrected this by using $align(center,bottom) but as stated before this approach will only help with up to three lines of aligned text.
You have corrected most of the major obsticals and I think that if you could atleast correct the first issue most legacy trackinfo code should migrate, requiring the end user to only to change their $tab() alignments o $align(). Again, keep up the good work!
Is this version of trackinfo a branch or just a update in features?
Any links to it? Any requirements?
Yotsuya1) the way $align works right now is, as you found out, like this:
text flows from top-left corner; when new $align is encountered, the reference point / alignment is changed according to it. with this system, you can't
truly make lines with both left and right aligned text. you can, though put some text on the left (even on multiple lines) and then put different text on the right. these two texts do not interact though, so they can overlap etc (which may be handy in some cases and not in others).
i think that the logical extension to $align would be to allow
inherit-vertical-position mode, when for example $align(right,) would put text to the right border, but stay on the same vertical position as the last text rendered. another would be to allow pixel adjustments to the point's position like this: $align(center-1,top) or $align(+10,20) etc. +/- sign would mean relative adjustment; you could also specify those keywords like center etc. with this system. it would be possible to do quite a few effects including any-size line spacing, pseudo text shadows etc. i think that the way this track info mod works, it opens possibility to even more things in the future, like placement of images
with the current implementation you could do some interesting stuff though, like this:
1) could you please read what i posted in response to Yotsuya? there are still some things broken with the $font when omitting some parameters. plus only 'bold' works for me.
2) that size measuring - i would use it to detect if i can fit some text into the panel (for example when i show some, possibly long, text in one line only). if not, i could skip some parts or show it with smaller font (which is possible with your mod )
3) as it is now, when text doesn't fit, it flows (wraps) to the next line. there are cases though, when there won't be space on the next line either - like when the word is wider than the width of the panel. i would like to be able to sometime somehow disable wrapping / clipping and show what fits.
4) somehow related to 3) and also to that $align +/- stuff mentioned in the response to Yotsuya. some fonts especially at bigger sizes have quite some space (vertically) around glyphs and it doesn't
look right with regards to panel's borders. i would like to compensate for this by using for example $align(left,-3), but that would have to make sure the text as whole wouldn't get rejected as it's not starting inside the panel's boundaries (or is taller than panel's height).
5) this is much off the current scope of track info panel and you (or others) may disagree to go this way (which is fine by me), but it could be interesting to add settings for left / right / double click actions (so one could set it to different commands, not only to switch between playing / focused mode.
advanced possibility would be to define 'regions' in the formatting, either by $region(x,y,width,height,action) like $region(0,0,10,10,playback\cursor follows playback) or $region(text,action) like $region($ifgreater(%rating%,0,+,-),custom info\rate 1)$region($ifgreater(%rating%,1,+,-),custom info\rate 2) ... the latter example could make rating by simply clicking on corresponding symbol.
note: i somehow like that $font takes size parameter in pixels, as it allows much more accurate size setting for some 'pixel' ttf fonts.
Is this version of trackinfo a branch or just a update in features?
Any links to it? Any requirements?
i would say it's more of a branch, as it takes different approach to text positioning and other major issues. link has been posted by terrestrial, the author. it's here (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod.zip). it needs some later 0.9.x version of foobar.
there's also another work-in-progress track info project here (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=46704&view=findpost&p=415116), which is more focused on bug fixing (at the moment) the previous official track info panel.
i would say it's more of a branch, as it takes different approach to text positioning and other major issues. link has been posted by terrestrial, the author. it's here (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod.zip). it needs some later 0.9.x version of foobar.
there's also another work-in-progress track info project here (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=46704&view=findpost&p=415116), which is more focused on bug fixing (at the moment) the previous official track info panel.
Thanks for posting the links! It took me a while find them for foobar 0.9
Ok, new version (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod.zip) with bug fixes and some additions.
mazy is correct about the way $align works, but I've also added in a "compatibility" mode that should achieve the same effect as the original.
with the current implementation you could do some interesting stuff though, like this:
interesting although, it technically shouldn't overlap as the code is supposed to move things out of the way, but I like the idea so I'll have to add in the ability to do this.
it would be possible to do quite a few effects including any-size line spacing, pseudo text shadows etc.
any-size line spacing is already there but I haven't exposed the function. As for shadows, try adding "shadow" to the font options.
that size measuring - i would use it to detect if i can fit some text into the panel (for example when i show some, possibly long, text in one line only). if not, i could skip some parts or show it with smaller font (which is possible with your mod )
I eventually want to add different line ending styles, instead of just wrapping (including some sort of "fit" where the font sizes will be adjusted to fit the text). The idea of showing different text is interesting, though... I'll have to think about how best to implement this.
#4 is on the todo list already, and #5 is interesting... I like the idea of having "buttons" to preform actions, but it may take a while before I have the chance to add it in
I received this failure notice from FB2K_v0.9.3b4:
Failed to load DLL: foo_uie_trackinfo_mod.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
The last version (foo_uie_trackinfo_v0.8) has no problems loading. Was this new mod version created differently? Generally, I get this failure notice due to not having the proper library files. If so, can you let me know which library files are needed? Thank you.
I know someone said that the font sizes where all wrong in the last version, and now you "fixed it". But they where correct in the old version. Now they are wrong. In columns ui and playlist dropdown my font is set to Tahoma 8, in trackinfo the font has to be set to 10 to be the same size as the rest of Foobar. In the version before this one I had the font size set to 8 witch was the same size as everything else.
Btw. Thanks for continuing the development on this component. Keep up the good work.
@terrestrial: Now that you have your own thread ... can you change the link on the first post? It still links to foo_uie_trackinfo.dll . I do think you have renamed your .dll to foo_uie_trackinfo_mod.dll, right?
Edit: Even better if you totally change the first posting like you're announcing a new plugin, e.g. the right download link, state the latest release date, version, etc.
terrestrial, thanks for fixes! that shadow stuff is nice hidden feature, i see you think a lot ahead of us . i'm going to report few bugs though.
1) as for style, i can make bold, italics and nocleartype work. underline and strikeout not.
2) also there are some problems with $font interfering with color codes etc. examples:
C8C8C8$font(Charriot Deluxe,9,nocleartype,)artist - the $font resets color to default one. i would think it should stay at the last color set.
$font(Charriot Deluxe,9,nocleartype,)C8C8C8artist - that color code resets anything related to font, so "artist" shows with the default font and style (ignoring everything in the $font, nocleartype including).
imho as with $rgb() returing to default color, maybe $font() could set (return to) the default font too.
Nice to see this component is continuing to evolve.
This last release is a considerable improvement and now legacy code appears to migrate with the exception of the alignments.
I think I need a little more practice with the $align() system though. Is there a way to have a line of text right justified without pushing the text to the top or bottom of the box, and without relying on the alignment of the line before it? I tried:
$align(left,)Text line one.$char(10)
$align(right,)Text line two.$char(10)
But both lines of text appear on the top line. I tried putting numerical values in the second parameter of $align() but that did not appear to make much dfference. Also, $align(right,) appears to break if it comes after an $align(center,). For example I was trying to create three columns of text:
$align(left,)one$align(center,)two$align(right,)three
but the second and third columns get grouped together.
As mil3s already indicated, font sizes appear to have reverted back to the "pixel" size instead of the "point" size you corrected in the last release.
I'd also like to second mazy's request to be able to pull the pixel length of a string of text, and also the height and width of the infobox if possible, I can see how it can be very useful with long song names. Using the $len() function does not really account for different width letters, especially when doublebyte characters are involved. I'm currently trying to write an infobox that will change font sizes to accomodate different lenghths of song names and this is what I came up with. I currently rely on static offsets I found with trial/error but it would be much nicer if I could use dynamic offsets computed from the panel and font sizes.. so I can change fonts or resize the panel without rewriting the code:
(http://img199.imageshack.us/img199/9969/infoboxuq6.gif) (http://imageshack.us)
$ifgreater($len(%artist%%title%%album%%date%),45,$font(,12,Bold,),$font(,16,Bold,))
$align(left,)$rgb(233,233,233)$if(%artist%,%artist% $rgb(0,128,255)$char(47)$rgb(233,233,233) ,)$if2(%title%,)
$ifgreater($len(%artist%%title%%album%%date%),45,$char(10)$align(right,bottom),$align(right,))
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),,
$ifgreater($len(%artist%%title%%album%%date%),82,$font(,9,,),$font(,,,))
$rgb(180,180,180)$if2(%album%,)$if(%date%, $rgb(0,128,255)$char(40)$rgb(180,180,180)%date%$rgb(0,128,255)$char(41),)
)
Edit: Also, bold still does not appear to work from either the default font or with $font().
I received this failure notice from FB2K_v0.9.3b4:
Failed to load DLL: foo_uie_trackinfo_mod.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
The last version (foo_uie_trackinfo_v0.8) has no problems loading. Was this new mod version created differently? Generally, I get this failure notice due to not having the proper library files. If so, can you let me know which library files are needed? Thank you.
it needs the C runtime library for vs .net 2005 (msvcr80.dll I think). Do you have this file in your system?
--------
The font sizes used to be pixel sizes, but now are point sizes. To convert between them you can use this formula: pixels = points*dpi/72 (where dpi is normally 92). Point size seems to be consistent with Columns UI and everything else, at least to me. Are you sure you have the latest version?
--------
The underline / strikeout have been added, and the font / color issues have been fixed. There may still be some glitches, and if so, please let me know
Thank you very much for your development efforts.
But I get the same mistake as drbeachboy. I have msvr80.dll in my system32 folder.
One suggestion: the ability to autoscroll like in Winamp (at least in the 2.8 version I was using), not only on line ending
are you guys running the latest version of foobar (0.9x)?
the latest stable, yes (0.9.2)
i've been playing with the new version and found out some more hidden features . i apologize in advance, as these are probably just proof-of-concept features which are not meant to be used by users at the moment. i've found about them looking at the binary (as i couldn't make $alignrelative work). interesting stuff though. behold:
(http://mazy.johanka.cz/my_pics/temp/foobar/trackinfo-2.png)
edit: i've realized that this screenshot isn't 100% correct, #endshade# doesn't work atm, so #shade# changes background only of the current line (which in the case on the screenshots is rather long and spans over two "render lines").
as for other things, well the recent changes to the way $align works are a bit confusing to me. with the old (= overlapping blocks) version, it seemed more straightforward. i will post screenshots later.
also $alignrelative isn't working for me, i have even tried to use #align-rel# or #align-set# to no avail.
$rgb() seems to reset to black instead to the default text color.
are you guys running the latest version of foobar (0.9x)?
I am running the very latest (FB2K_v0.9.3b4). My work computer does not have the latest .Net installed, so I may not have the msvcr80.dll file installed. I am on my home computer at the moment. Tomorrow, I will copy that file from my home computer over to my work computer and see if that does the trick. Thank you for your quick reply.
ok, so here goes the 'align' post . formatting:
text$char(10)
// first block
$align(left,)$rgb(200,50,50)left$char(10)l
$align(center,)$rgb(50,200,50)center$char(10)c
$align(right,)$rgb(50,50,200)right$char(10)r
// this has no effect to the second block
$align(,bottom)
// second block
$align(left,)$rgb(100,0,0)left
$align(right,)$rgb(0,0,100)right
$align(center,)$rgb(0,100,0)center
// third block
$align(left,bottom)$rgb(200,50,50)left
$align(right,bottom)$rgb(50,50,200)right
$align(center,bottom)$rgb(50,200,50)center
result:
.
it gets interesting again for the last, third block. i've only changed the order in which i specify texts for corresponding columns. i put right in front of center - and the result is what one would expect in the other blocks too - right column has adjustment line on the right edge of the panel.
Can this be made into a seperate component from foo_uie_infopanel?
In case people want to use a mix of modified and unmodified info panels.
edit: This appears to be possible, but there is no difference in the layout names, so you wouldn't be able to tell which is which. And my old infopanels were automatically converted to the moded ones upon installation.
Great works!
Some suggestions...somewhat irrelevant with your mod.
1. show foobar volume, playback order.
2. combine album art...
3. double-click behavior configure.
Is these possible? or shoud be just my dream...
I second the configurable double click behavior.
I've been playing with the new version and found out some more hidden features
nice detective work most of the "hidden" stuff is still untested/incomplete, so be careful, but there are some that are pretty much done.
------------
fixed the problem with alignrelative, and renamed to $alignrel
also fixed the $rgb() problem
fixed the alignment problem (caused by that center column). it
should work now.
if you don't specify a parameter for $align (eg $align(left,)) the blank either default to top or left.
------
If will try to change it into a separate dll from foo_uie_trackinfo so that you can run both at the same time for the next version.
-----
Some suggestions...somewhat irrelevant with your mod.
I think I can do #1. #2 is low down on the todo list. #3 also, but first I want to fix the basic formatting stuff
-------
I've uploaded a new version, with the aforementioned bug fixes + some new commands (including one to measure length). Please see the readme for more details.
Oh! Can you do everything? I'll wait forerver...^^
Thanks a lot for your work
$alignabs(X,Y,W,H,H,V)
%_width%
%_height%
$calcwidth(TEXT)
$calcheight(TEXT)
those are a great improvement
just wanted to thank you (creator of new features), no time in the moment going to wacken festival soon. so trying to get into it next week.
seems really (!!!!) nice work to me.
terrestrial, i can confirm that $rgb() works and that center column alignment problem is gone! the new features summed by Hamallainen are great .
now i have something new for us. picture:
.
let's move to
2a. it's $alignrel test,
2b has the first line in the code bellow uncommented:
//$alignrel(left,top)
<line1>
$char(10)
<line 2>
$alignrel(center,top)<line 2 center>
$alignrel(right,top)<line 2 right>
$char(10)<line3>
$alignrel(left,top)<line 3 left>
we can see in the first example, that until <line 3 left> it works as one would expect. now if we uncomment the first line with the $alignrel (which is set to default values), things get messy starting from <line 2 center>. my guess is that $alignrel doesn't work correctly with multiline blocks. it does as long as there's no $alignrel before, otherwise it takes that as reference point. i think this is a bug.
example no.
1, is extended one from my previous post. you can see there's no longer that
center column alignment problem. there are some interesting observations to note, though.
in the top-left corner, there are two major multiline blocks. one has lines with "left", "l" and "longer left"; the other has 4 lines with one underscore character each. interesting is that the underscore on the second line is not directly alongside that "l" and similarly dark-red "left" to the light one on the first line.
my explanation is that this is rather good feature of multiline blocks. whenever blocks spans over multiple lines, the edge of its longest line (or rather the line with most major "adjustment point"), in this case the third line "longer left", affects neighbours of this block on its every line. it basically creates columns, but only affecting the lines that block spans over (that's why the 4. underscore is directly to the left panel's edge).
another feature demonstrated is the $alignabs. at first please note those two light-blue underscores on the right edge (second sub-block of 5. block in the code). these are part of multiline block positioned with $alignabs, so they do not "flow" with other text there and overwrite "right" and "r". i used the "shortcut" 2-parameter version of $alignabs, as that's basically version of $align without overwriting text check.
the full $alignabs(x,y,width,height,halign,valign) is demonstrated by the rectangles with "absolute" text. in this case, x, y, width and height define rectangle which is used as boundaries for following text, and halign plus valign control this text's positioning inside that rectangle. #SHADE# came handy in here, is it allowed for showing width of these rectangles.
you can see that $alignabs supports negative coordinates and also that it shows even if part of the rectangle is outside panel's boundaries. this is all good news . i have one
feature request though: it would be nice if $alignabs(x,y,,,halign,valign) - i.e. without width and/or height specified - substitutes these omitted parameters with values equal to that block's width / height.
there's another thing to mention regarding this example. only text blocks aligned with $align(,
top) do not overwrite other text. you can see that capital letters "L", "C" and "R" overwrite "left", "center" and "right" respectively. all these blocks have "middle" vertical alignment.
code:
text$char(10)
// 1. block
$align(left,)$rgb(200,50,50)left$char(10)l$char(10)longer left
$align(center,)$rgb(50,200,50)center$char(10)c
$align(right,)$rgb(50,50,200)right$char(10)r
// has no effect on 2. block
$align(,bottom)
// 2. block
$align(left,)$rgb(100,0,0)left
$align(right,)$rgb(0,0,100)right
$align(center,)$rgb(0,100,0)center
// 3. block
$align(left,middle)$rgb(200,50,50)left
$align(right,middle)$rgb(50,50,200)right
$align(center,middle)$rgb(50,200,50)center
// 4. block
$align(left,middle)$rgb(200,50,50)L
$align(right,middle)$rgb(50,50,200)R
$align(center,middle)$rgb(50,200,50)C
// 5. block
$align(left,top)$rgb(255,100,100)_$char(10)_$char(10)_$char(10)_
$alignabs(right,top)$rgb(100,100,255)_$char(10)_
// 6. block
$alignabs(-30,80,70,16,center,middle)#SHADE#absolute
$alignabs(100,80,70,16,center,middle)#SHADE#absolute
$alignabs(140,80,70,16,center,middle)#SHADE#absolute
$alignabs(260,80,45,15,center,middle)#SHADE#absolute
// 7. block
$alignabs(100,96,200,16,,)"absolute" is
$calcwidth(absolute) x $calcheight(absolute) pixels
[edit] colors and some syntax. my computer went down while i was editing this post, and i wasn't able to get it running until now :/. i should buy new harddrive for my system ...
Thank you terrestrial for your dedication, this component is evolving quickly. At this time all my issues have been resolved and I have happily migrated to your version of this panel. The only things I have left are feature requests:
1) I would like to be able to use $font() without any parameters to set the current font to the default font. And for that matter an $align() without parameters to reset the alignment to the upper left corner would probably be useful too.
2) Ability to export and import settings of a panel including "Font", "Colours", "Display options", and "Formatting string" to an external file would assist tremendously when redesigning layouts or sharing configurations.
3) Text that can be clicked on to start events such as URL's from online radio. This has been mentioned before and would obviously take quite a bit of work so I dont expect to see it anytime soon.
4) Defining a background bitmap or embedding graphic sources such as icons inline with text would be icing on the cake. When combined with request #3 this would provide a pleasant alternative to the default buttons toolbar (which I've heard has many problems under Win2k).
I would like to particularly thank you for providing the functions for analyzing pixel length of strings and the panel itself, when used properly these allow us to develop panels that dynamically resize the text based on the panel's size. I'd also like to thank you for resolving the $rgb()$font() conflict and $align() bugginess, the component is much more flexible.
first start with 3. using the new measurement features coupled with #SHADE#, one can make nice pixel-accurate trackbar. code:
nice! I didn't even think about that I think I need to add the ability to add picture now
we can see in the first example, that until <line 3 left> it works as one would expect. now if we uncomment the first line with the $alignrel (which is set to default values), things get messy starting from <line 2 center>. my guess is that $alignrel doesn't work correctly with multiline blocks. it does as long as there's no $alignrel before, otherwise it takes that as reference point. i think this is a bug.
this code
//$alignrel(left,top)
<line1>
$char(10)
<line 2>
$alignrel(center,top)<line 2 center>
$alignrel(right,top)<line 2 right>
$char(10)<line3>
$alignrel(left,top)<line 3 left>
get automatically converted to
//$alignrel(left,top)
$alignrel(left,top)<line1>
$alignset()$alignrel(left,top)
<line 2>
$alignrel(center,top)<line 2 center>
$alignrel(right,top)<line 2 right>
$char(10)<line3>
$alignrel(left,top)<line 3 left>
with the first line not commented out, the automatic conversion doesn't happen (it doesn't happen after the first $align), so if you change the subsequent $char(10)s to $alignset()$align(left,top) it should work.
my explanation is that this is rather good feature of multiline blocks. whenever blocks spans over multiple lines, the edge of its longest line (or rather the line with most major "adjustment point"), in this case the third line "longer left", affects neighbours of this block on its every line. it basically creates columns, but only affecting the lines that block spans over (that's why the 4. underscore is directly to the left panel's edge).
exactly right.. the new text should "flow" around the obstruction. It's useful when you have a small "box" of text that you want your main text to flow around.
it would be nice if $alignabs(x,y,,,halign,valign) - i.e. without width and/or height specified - substitutes these omitted parameters with values equal to that block's width / height.
do you mean substitute the total display width, height (%_width%, %_height%) or something else?
only text blocks aligned with $align(,top) do not overwrite other text.
correct also block detection / avoidance for middle and bottom aren't written yet (eventually...)
Another feature request: Can you create $font(NAME,SIZE,OPTIONS,COLOR) generator as you do with the color (e.g.: 000000)?, We just need a standart font box with as output the $font() syntax ready to cut'n'paste
At least could you update the ""color generator" to create color with the the new rgb (e.g.: $rgb() ) syntax?.
Thank you very much for your very good work.
I stumbled upon a small inconsistency.
$align(left,)$repeat( ,4)text
$align(right,)text$repeat( ,4)
The right alignment will strip any spaces at the end of text, while the left alignment does not strip any spaces at the beginning of text. I would prefer if the right alignment would allow for spaces, but either way I think the functions should act similarly.
I know a lot of people out there are using trackinfo code that uses $progress2() to create a stylized progress bar. Well I modified mine to auto-resize with the panel and thought I'd share the code. Change $rgb() and $char() values to suit your tastes, the 5th line is key:
$align(center,bottom)
$progress2(
%playback_time_seconds%,
%length_seconds%,
$sub($div(%_width%,$calcwidth($char(9679))),1),
$rgb(0,128,255)$char(9679),
$rgb(0,0,202)$char(9679)
)
1) I would like to be able to use $font() without any parameters to set the current font to the default font. And for that matter an $align() without parameters to reset the alignment to the upper left corner would probably be useful too.
added.
2) Ability to export and import settings of a panel including "Font", "Colours", "Display options", and "Formatting string" to an external file would assist tremendously when redesigning layouts or sharing configurations.
already on the todo list, but may take a while
3) Text that can be clicked on to start events such as URL's from online radio. This has been mentioned before and would obviously take quite a bit of work so I dont expect to see it anytime soon.
I should be able to do this after I add in images. I may have a version that can do images today, but buttons may take a couple of days.
Can you create $font(NAME,SIZE,OPTIONS,COLOR) generator as you do with the color (e.g.: 000000)?, We just need a standart font box with as output the $font() syntax ready to cut'n'paste
This should be doable.
At least could you update the ""color generator" to create color with the the new rgb (e.g.: $rgb() ) syntax?.
The old syntax should work fine (eg. 000000 = rgb(0,0,0) and both will be recognized).
The right alignment will strip any spaces at the end of text, while the left alignment does not strip any spaces at the beginning of text. I would prefer if the right alignment would allow for spaces, but either way I think the functions should act similarly.
spaces to the right of words are counted as insignificant because word breaks, etc are calculated from there, so I think it may be better to also strip out spaces from the beginning. You should be able to use non-breaking spaces (not sure what the char code for this is) to achieve what you want though.
At least could you update the ""color generator" to create color with the the new rgb (e.g.: $rgb() ) syntax?.
The old syntax should work fine (eg. 000000 = rgb(0,0,0) and both will be recognized).
I know but i just don't want to do the hexadecimal->decimal conversion to retrieve the "rgb" of the color. And I think it's more consistant with fb2k 0.9
Hi,
I have a problem with the $align(H,V) fonction. If someone could confirm please. ( I use 0.9.3 beta4)
Here is the code i use, to explain:
$if(%_trackinfo_notrack%,
,
$align(left,top)$font(tahoma,16,,0-0-0)$repeat(7,12)
$align(center,top)$font(tahoma,16,,255-0-0)$repeat(8,12)
$align(right,top)$font(tahoma,16,,0-255-0)$repeat(9,12)
$align(left,middle)$font(tahoma,16,,0-0-255)$repeat(4,12)
$align(center,middle)$font(tahoma,16,,255-255-0)$repeat(5,12)
$align(right,middle)$font(tahoma,16,,0-255-255)$repeat(6,12)
$align(left,bottom)$font(tahoma,16,,255-0-255)$repeat(1,12)
$align(center,bottom)$font(tahoma,16,,128-128-255)$repeat(2,12)
$align(right,bottom)$font(tahoma,16,,255-128-128)$repeat(3,12)
)
and a screenshot:
(http://img185.imageshack.us/img185/7193/problemze4.th.png) (http://img185.imageshack.us/my.php?image=problemze4.png)
It's seems $align(*,top) behave differently than $align(*,middle) and $align(*,bottom)
Well it seems $align(*,middle) and $align(*,bottom) overlap text if it's too long while $align(*,top) do not overlap but "discard" text. I don't know which one is the intended behaviour. I think both behaviour are interesting and that would be great if we could have access to both with for example $align(H,V) for no overlap and $aligno(H,V) for overlap.
thanks
This may be a stupid question, but I'm fairly new to foobar and I can't find it documented anywhere. But anyway, here goes nothin':
Is there a modifier that would make all of the text affected by the font statement display using capital characters?
Shakedown I believe the function you are looking for is $upper(). This is the wrong thread and is not handled by $font(). Please refer to your C:\Program Files\foobar2000\titleformat_help.html
see mazy's post below.
It's seems $align(*,top) behave differently than $align(*,middle) and $align(*,bottom)
Well it seems $align(*,middle) and $align(*,bottom) overlap text if it's too long while $align(*,top) do not overlap but "discard" text. I don't know which one is the intended behaviour. I think both behaviour are interesting and that would be great if we could have access to both with for example $align(H,V) for no overlap and $aligno(H,V) for overlap.
yes, you're right. you could read my and terrestrial's posts as there's lot of information how this works, but i reckon that it's lots of information .
in short - only $align(*,top) avoids to overwrite text and "flows" it. this is probably going to change, this is simply work-in-progress and there's only anti-overlapping code for the top scenario.
as for the other question you've asked - there's already way to output text without overlap checking. you can use $alignabs. it's more complex function which allows for positioning block of text anywhere you want, with the ability to specify it's box and vertical / horizontal alignment inside that box. the syntax is $alignabs(x,y,width,height,halign,valign). there's also shortcut version which is similar to $align - $alignabs(halign,valign).
Shakedown, Yotsuya is right, but there's also hidden feature in this plugin. you can use "uppercase" or "lowercase" directly in the $font statement, in the style parameter. example: $font(,,bold
uppercase,)
@ mazy
thanks for your explanations
Ok, my turn for a stupid question: how do I add a blank line? It looks like multiple $char(10) are ignored and treated as one. The same happens if the text I display contains carriage returns.
Note that I had the same problem with the "other" trackinfo plugin.
Regards.
Alessandro
[Edit]Using foobar v0.9.2 and foo_uie_trackinfo_mod v0.8 (1-AUG-2006)
I also do not see how to insert a blank line. I use a dirty trick now: $char(10) $char(10)
Additional request: Would you please explain any command on top of your text file? Now its a bit of a searching odyssey... For example, you are writing about "$alignset()" in the bottom of your text file. But its explained nowhere...
And: Do you have any plans to implement line end style again? I really need the ellipsize mode Cannot live without it, at least as a global option...
And thanks for making the font sizes compatible now!
Ok, my turn for a stupid question: how do I add a blank line? It looks like multiple $char(10) are ignored and treated as one. The same happens if the text I display contains carriage returns.
I also do not see how to insert a blank line.I use a dirty trick now: $char(10) $char(10)
i have just done tests and it seems that this is because of the default legacy support kicking in. just add $align(top,left) (or whatever justification suits you) before the rest of your code ...
Additional request: Would you please explain any command on top of your text file? Now its a bit of a searching odyssey... For example, you are writing about "$alignset()" in the bottom of your text file. But its explained nowhere...
And: Do you have any plans to implement line end style again? I really need the ellipsize mode Cannot live without it, at least as a global option...
i'm with you on $alignset(), i would like to know what it does too. i guess it's simply that there are many not finished or testing features and the plugin is in early stages of development, so many things can change etc.
as for line end styles, that's on the todo list, iirc.
[edit] now i think i know what $alignset does . it works with conjunction to $alignrel and its use is rather essential for $alignrel. simply - you use $alignset() to mark new top alignment line. instead of $char(10) to move to new line, you can use $alignset(). any subsequent $alignrel is not allowed to move above that line.
with this knowledge i was finally able to make what i wanted before: align text to center / right edge on any given line. i would think that $alignrel would implicitly work like this without the need for $alignset, but i guess this give us more control over the flow / positioning. as it is now, you have to set alignment after any $alignset - like $alignset()$alignrel(left,top) - or you wouldn't see anything (not sure why this happens, need to ask
terrestrial). you can use $align of course, but there wouldn't by any point using $alignset then (as it only accounts for relative positioning) ...
(http://mazy.johanka.cz/my_pics/temp/foobar/trackinfo-example-01.png)
check this example
1:
$alignrel(left,top)
<line1>
// we're done with line 1
$alignset()
// this is essential, terrestrial may explain why ...
$alignrel(left,top)
<line 2>
$alignrel(center,top)
<line 2 center>
$alignrel(right,top)
<line 2 right>
// we're done with line 2
$alignset()
$alignrel(right,top)
<line3 right>
$alignrel(left,top)
<line 3 left>
example
2 (try uncommenting the $alignset line etc.):
$alignrel(left,top)
<line1>
$char(10)
<line2>
$char(10)
<line3>
//$alignset()
$alignrel(left,top)
//$alignrel(right,top)
<right>
I received this failure notice from FB2K_v0.9.3b4:
Failed to load DLL: foo_uie_trackinfo_mod.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
I get this error too (I also have FB2K 0.9.3 Beta 4 running).
I ran DepencyWalker (http://www.dependencywalker.com/) to check the depencys.
It said i need the msvcr80.dll (http://www.dll-files.com/dllindex/dll-files.shtml?msvcr80) just as terrestrial said before...
I made hyperlinks to the download location so you can directly download it and put it into your
Windows\System32 folder.
Anyway i did this and it does not work.
DepWalker says:
Error: The Side-by-Side configuration information in "c:\apps\foobar2000\components\FOO_UIE_TRACKINFO_MOD.DLL" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
so, what is missing?
please help us terrestrial
so, what is missing?
i think this has something to do with collision with the original track info panel.
you could try to backup your foobar2000.cfg, remove foo_uie_trackinfo.dll (or rename it to for example *.foo) and start foobar (confirming any potential about removing plugin's configuration). if this doesn't help, do the same with foo_uie_trackinfo_mod.dll, start foobar (again confirm plugin's configuration) and then exit. put back foo_uie_trackinfo_mod.dll and start again.
you would lose your panels' configuration though ... it would be nice if $alignabs(x,y,,,halign,valign) - i.e. without width and/or height specified - substitutes these omitted parameters with values equal to that block's width / height.
do you mean substitute the total display width, height (%_width%, %_height%) or something else?
that's a bit tricky. i would like it to substitute for width and height of such a minimal box, that fits the block. that would be easy for single line blocks, but a bit tricky for multiline ones.
you could try to backup your foobar2000.cfg, remove foo_uie_trackinfo.dll (or rename it to for example *.foo) and start foobar (confirming any potential about removing plugin's configuration). if this doesn't help, do the same with foo_uie_trackinfo_mod.dll, start foobar (again confirm plugin's configuration) and then exit. put back foo_uie_trackinfo_mod.dll and start again. you would lose your panels' configuration though ...
I tried this and it does not work (I deleted the old trackinfo plugin anyway).
I even tried it with a clean new foobar2000.cfg but no luck.
It said i need the msvcr80.dll (http://www.dll-files.com/dllindex/dll-files.shtml?msvcr80) just as terrestrial said before...
I made hyperlinks to the download location so you can directly download it and put it into your Windows\System32 folder.
Anyway i did this and it does not work.
Frankly, manually installing msvcr80.dll is one of the more stupid things you can do. If the component author insists on linking the C/C++ runtime dynamically, he/she should give you installation instructions for the component including a download link for the installer of said runtime.
Also see the comment by the Microsoft employee on the page you linked to:
#468, 2005-12-08 02:53:46, by: martynl@microsoft.com
a) This is the beta 2 version of msvcr80.dll. Don\'t install it. b) This file should never be installed in system32 (except on Win9x and Windows 2000). c) The .NET framework already installs the copy correctly (in WinSxS). d) The correct source for an msvcr80 binary is from your application provider, not from this site. Martyn
Ok, my turn for a stupid question: how do I add a blank line? It looks like multiple $char(10) are ignored and treated as one. The same happens if the text I display contains carriage returns.
Well, restarted foobar and all's well now.
Sorry for the unneeded report and thanks for your answers.
Alessandro
@foosion
I compared the msvcr80.dll from the website I linked to and the .net framework - they are the same
so this can't be the reason why it doesn't worked...
it has something to do with the .net framework.
Maybe terrestrial compiled his plugin for .net.
anyway,
it works when you install the .net Framework
I don't know if you must install .net Framework 1 or 2 since I installed them with a silent installer which contains both.
It's just need this (http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE). If you've already install .NET 2.0 then you don't need to install the C++ 2005 runtime it's included.
Bug reportIllegal operation:
Code: C0000005h, flags: 00000000h, address: 04BC253Fh
Access violation, operation: read, address: 00000002h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (04BC253Fh):
04BC24FFh: 00 00 51 8D 94 24 80 02 00 00 52 D1 F8 8D 44 45
04BC250Fh: 00 68 64 4C BF 04 50 FF D6 8B C5 83 C4 18 8D 50
04BC251Fh: 02 66 8B 08 83 C0 02 66 85 C9 75 F5 2B C2 D1 F8
04BC252Fh: 8D 6C 45 00 EB 07 66 89 45 00 83 C5 02 83 C3 02
04BC253Fh: 66 83 3B 00 0F 85 0B FD FF FF 5F 5E 8B 8C 24 34
04BC254Fh: 03 00 00 66 C7 45 00 00 00 5D 5B 33 CC E8 3F CE
04BC255Fh: 02 00 81 C4 30 03 00 00 C3 CC CC CC CC CC CC CC
04BC256Fh: CC 55 8B EC 83 E4 F8 6A FF 68 1F 09 BF 04 64 A1
Stack (0012F27Ch):
0012F25Ch: 00000000 0000000C BC6CD620 0012F7E0
0012F26Ch: 00009EC1 A7B84B60 BF81657A A7B84D38
0012F27Ch: 0A777410 0107640C 0012F6E4 01076390
0012F28Ch: 01000353 003C0000 0A777AD0 00310032
0012F29Ch: 0030002D 0030002D 00000000 00320032
0012F2ACh: 00000038 0012F20C E793A2DA 0012F2F8
0012F2BCh: 7C91EE18 0000000F 0012F4A4 7C927BF5
0012F2CCh: 01070608 7C927BB0 01079F10 00000008
0012F2DCh: 00000000 00000000 0012F34C 05E08DB8
0012F2ECh: 0A7770B0 0012F2DC 00000006 0012F370
0012F2FCh: 00494730 9FC28C80 0012F314 00000000
0012F30Ch: 7C9205C8 05ED6058 0012F3E0 7C920551
0012F31Ch: 003C06E8 7C92056D 00000008 05ED6060
0012F32Ch: 05ED6060 0012F340 00000000 7C9205C8
0012F33Ch: 05C42998 0012F40C 01079F18 003C0778
0012F34Ch: 7C92056D 00000000 05C429A0 00000000
0012F35Ch: 00000001 01070000 00000006 01079F20
0012F36Ch: 0145E4F1 0012F3CC 004A8DED 00000001
0012F37Ch: 0012F394 01079F90 0012F388 04F54810
0012F38Ch: 0012F664 00000008 0012F3B4 004613D1
Registers:
EAX: 00000010, EBX: 00000002, ECX: 00000000, EDX: 0A76ED18
ESI: 77D1A9B6, EDI: 00000000, EBP: 0A76ED36, ESP: 0012F27C
Crash location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Loaded modules:
foobar2000 loaded at 00400000h - 004F1000h
ntdll loaded at 7C910000h - 7C9C7000h
kernel32 loaded at 7C800000h - 7C904000h
COMCTL32 loaded at 77390000h - 77492000h
msvcrt loaded at 77BE0000h - 77C38000h
ADVAPI32 loaded at 77DA0000h - 77E4C000h
RPCRT4 loaded at 77E50000h - 77EE1000h
GDI32 loaded at 77EF0000h - 77F37000h
USER32 loaded at 77D10000h - 77DA0000h
SHLWAPI loaded at 77F40000h - 77FB6000h
SHELL32 loaded at 7C9D0000h - 7D1F3000h
ole32 loaded at 774A0000h - 775DD000h
shared loaded at 10000000h - 1002A000h
comdlg32 loaded at 76340000h - 7638A000h
IMM32 loaded at 76320000h - 7633D000h
LPK loaded at 62DC0000h - 62DC9000h
USP10 loaded at 753C0000h - 7542B000h
uxtheme loaded at 5B090000h - 5B0C8000h
msctfime loaded at 75140000h - 7516E000h
foo_abx loaded at 00A20000h - 00A53000h
foo_albumlist loaded at 00A60000h - 00AA1000h
foo_audioscrobbler loaded at 00AD0000h - 00B07000h
WS2_32 loaded at 719F0000h - 71A07000h
WS2HELP loaded at 719E0000h - 719E8000h
foo_autoplaylist loaded at 00B30000h - 00B62000h
foo_burninate loaded at 00B90000h - 00BC6000h
VERSION loaded at 77BD0000h - 77BD8000h
foo_cdda loaded at 00BF0000h - 00C26000h
foo_centercut loaded at 00C50000h - 00C75000h
foo_channel_mixer loaded at 00CA0000h - 00CDA000h
foo_common loaded at 00CF0000h - 00D2A000h
foo_converter loaded at 00D50000h - 00DBA000h
foo_convolve loaded at 00DE0000h - 00E31000h
foo_custominfo loaded at 00E60000h - 00EE6000h
foo_dbsearch loaded at 00F10000h - 00F85000h
OLEAUT32 loaded at 770E0000h - 7716C000h
foo_dsp_channeldividerF loaded at 00FB0000h - 00FDA000h
foo_dsp_channeldividerF3 loaded at 01000000h - 0102B000h
foo_dsp_skip_silence loaded at 01050000h - 0105A000h
MSVCR80 loaded at 78130000h - 781CB000h
foo_dsp_soundtouch loaded at 01080000h - 0108F000h
MSVCP80 loaded at 7C420000h - 7C4A7000h
foo_dsp_std loaded at 010A0000h - 010E1000h
foo_dsp_tube loaded at 01110000h - 01136000h
foo_dsp_xover loaded at 01150000h - 011D0000h
foo_freedb2 loaded at 01DF0000h - 01E30000h
foo_input_shorten loaded at 01E50000h - 01E7E000h
foo_input_std loaded at 01EA0000h - 01FAB000h
foo_lnk loaded at 01FD0000h - 01FE9000h
foo_masstag loaded at 02010000h - 0205F000h
foo_masstag_codepage loaded at 02080000h - 0208A000h
foo_msnalt loaded at 020A0000h - 020B9000h
foo_navigator loaded at 020E0000h - 02100000h
foo_osd loaded at 02120000h - 02155000h
foo_playcount loaded at 02180000h - 021A8000h
foo_playlist_bind loaded at 021D0000h - 021F5000h
foo_pqview loaded at 02210000h - 0222C000h
foo_prettypop loaded at 02250000h - 0229D000h
mscoree loaded at 79000000h - 79045000h
msvcm80 loaded at 7C4C0000h - 7C53D000h
mscorwks loaded at 79E70000h - 7A3D1000h
mscorlib.ni loaded at 790C0000h - 79BA8000h
mscorjit loaded at 79060000h - 790B3000h
rsaenh loaded at 0FFD0000h - 0FFF8000h
foo_random loaded at 04730000h - 0476F000h
foo_rgscan loaded at 04810000h - 04855000h
foo_run loaded at 04880000h - 048AB000h
foo_runcmd loaded at 048D0000h - 048FF000h
foo_shutdown loaded at 04920000h - 04938000h
foo_sic loaded at 04960000h - 049B0000h
foo_tradersfriend loaded at 049D0000h - 04A0D000h
foo_uie_albumart loaded at 04A30000h - 04A62000h
gdiplus loaded at 4EB80000h - 4ED23000h
foo_uie_albumlist loaded at 04AA0000h - 04ADF000h
foo_uie_quicksearch loaded at 04B00000h - 04B48000h
foo_uie_tabs loaded at 04B70000h - 04B96000h
foo_uie_trackinfo_mod loaded at 04BC0000h - 04BFF000h
foo_ui_columns loaded at 04C10000h - 04CAB000h
foo_ui_std loaded at 04CD0000h - 04D27000h
foo_unpack loaded at 04D50000h - 04D7E000h
foo_utils loaded at 04DA0000h - 04DD9000h
foo_version loaded at 04E00000h - 04E26000h
dbghelp loaded at 5D3F0000h - 5D491000h
ctagent loaded at 05250000h - 05256000h
System.ni loaded at 7A440000h - 7ABFE000h
System.Drawing.ni loaded at 7ADE0000h - 7AF74000h
System.Windows.Forms.ni loaded at 7AFD0000h - 7BC56000h
dciman32 loaded at 73B10000h - 73B16000h
mswsock loaded at 71990000h - 719D0000h
DNSAPI loaded at 76ED0000h - 76EF7000h
rasadhlp loaded at 76F70000h - 76F76000h
hnetcfg loaded at 62E40000h - 62E99000h
wshtcpip loaded at 719D0000h - 719D8000h
xpsp2res loaded at 07F90000h - 0826A000h
DSOUND loaded at 73E60000h - 73EBC000h
WINMM loaded at 76AE0000h - 76B0F000h
WINTRUST loaded at 76BE0000h - 76C0E000h
CRYPT32 loaded at 779E0000h - 77A76000h
MSASN1 loaded at 77A80000h - 77A92000h
IMAGEHLP loaded at 76C40000h - 76C68000h
wdmaud loaded at 72C70000h - 72C79000h
msacm32 loaded at 72C60000h - 72C68000h
MSACM32 loaded at 77BB0000h - 77BC5000h
midimap loaded at 77BA0000h - 77BA7000h
KsUser loaded at 73E30000h - 73E34000h
netapi32 loaded at 6FEE0000h - 6FF34000h
SETUPAPI loaded at 778E0000h - 779D8000h
MLANG loaded at 75D30000h - 75DC1000h
Apphelp loaded at 77B50000h - 77B72000h
CLBCATQ loaded at 76F80000h - 76FFF000h
COMRes loaded at 77000000h - 770D4000h
shdocvw loaded at 77720000h - 7788F000h
CRYPTUI loaded at 76610000h - 76694000h
WININET loaded at 77AA0000h - 77B47000h
WLDAP32 loaded at 76F10000h - 76F3D000h
urlmon loaded at 77170000h - 77210000h
Secur32 loaded at 77FC0000h - 77FD1000h
cscui loaded at 765B0000h - 76606000h
CSCDLL loaded at 76590000h - 765AD000h
browseui loaded at 75F10000h - 7600D000h
LINKINFO loaded at 76920000h - 76928000h
ntshrui loaded at 76930000h - 76956000h
ATL loaded at 76AC0000h - 76AD1000h
USERENV loaded at 76960000h - 76A15000h
Stack dump analysis:
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C927BF5h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C927BB0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 00494730h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 7C9205C8h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C920551h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C9205C8h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 004A8DEDh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004613D1h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 01F54858h, location: "foo_input_std", loaded at 01EA0000h - 01FAB000h
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C921596h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C920551h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C920F46h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+000004B7h)
Address: 7C920D5Ch, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+000002CDh)
Address: 7C92056Dh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 0049115Ch, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 7C9205C8h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C927BB8h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001BBh)
Address: 7C927BB0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 781352F8h, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "realloc" (+0000035Fh)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C920570h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 04BC5A99h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 78138B79h, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "_dllonexit" (+0000009Dh)
Address: 78134C5Ah, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "free" (+000000ECh)
Address: 04BC10A9h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D1ACA4h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "wvsprintfW" (+000002D3h)
Address: 77D1AC00h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "wvsprintfW" (+0000022Fh)
Address: 04BC2B0Fh, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 00EE00FCh, location: "foo_custominfo", loaded at 00E60000h - 00EE6000h
Address: 04BF4F04h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D1B3B0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000074h)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 04BF091Fh, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D188E0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000003Ah)
Address: 04BC2155h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D18816h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000014Fh)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D18830h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000169h)
Address: 77D1B4C0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000184h)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D1EBF3h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CallNextHookEx" (+000000F0h)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D1B4D0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000194h)
Address: 77D1B50Ch, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001D0h)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D1EAC1h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "EnableMenuItem" (+00000092h)
Address: 7C91EAE3h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 04BC2110h, location: "foo_uie_trackinfo_mod", loaded at 04BC0000h - 04BFF000h
Address: 77D1B473h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+00000137h)
Address: 77D194D2h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongA" (+00000075h)
Address: 77D1B530h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DefWindowProcW" (+000001F4h)
Address: 77D1929Bh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "PeekMessageW" (+00000000h)
Address: 77D19402h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "PeekMessageW" (+00000167h)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D189F0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D18A10h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 7758F9E4h, location: "ole32", loaded at 774A0000h - 775DD000h
Symbol: "CreateDataCache" (+000039D9h)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D1B788h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetParent" (+00000059h)
Address: 77D1BF64h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "SetCursor" (+0000000Ch)
Address: 77590090h, location: "ole32", loaded at 774A0000h - 775DD000h
Symbol: "CreateDataCache" (+00004085h)
Address: 77590484h, location: "ole32", loaded at 774A0000h - 775DD000h
Symbol: "DoDragDrop" (+00000093h)
Address: 04AB3677h, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 77D18B26h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 04AC9B98h, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 004DD100h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 04AC6F64h, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 04AB4593h, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 004DD100h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 77D18734h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000006Dh)
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 77D18816h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+0000014Fh)
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D18830h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetDC" (+00000169h)
Address: 77D189CDh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 04AB456Fh, location: "foo_uie_albumlist", loaded at 04AA0000h - 04ADF000h
Address: 77D1EC03h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "CallNextHookEx" (+00000100h)
Address: 77D31B4Dh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "AppendMenuA" (+0000006Eh)
Address: 77D40467h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D189F0h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D18A10h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D2E097h, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "IsDialogMessageW" (+000000DBh)
Address: 0042EC53h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004BCBA0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0042ECBDh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 77D1DAEAh, location: "USER32", loaded at 77D10000h - 77DA0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 0042F80Ch, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004BE37Ch, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 004C55F8h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004C55F8h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004C55DCh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C920732h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C921538h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C921596h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004E2158h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004B29D4h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 1000E250h, location: "shared", loaded at 10000000h - 1002A000h
Address: 1000396Ah, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uGetCallStackPath" (+00000B5Ah)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C91EE18h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "strchr" (+00000117h)
Address: 7C9206F0h, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9206EBh, location: "ntdll", loaded at 7C910000h - 7C9C7000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004915DDh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004E21D8h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0044CAC9h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0040C5ADh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0040372Bh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004943AAh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004BE4D0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 10002D97h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004BE4D0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004ACB62h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004BE4D0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0042F9F8h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004DE970h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00494434h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0048F90Ch, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 0048F906h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004B29E8h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004B10F0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004E21D0h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00494730h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004ACF4Dh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00493B94h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 00494730h, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 7C816D4Fh, location: "kernel32", loaded at 7C800000h - 7C904000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C8399F3h, location: "kernel32", loaded at 7C800000h - 7C904000h
Symbol: "FindAtomW" (+00000094h)
Address: 7C816D58h, location: "kernel32", loaded at 7C800000h - 7C904000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 00493BFDh, location: "foobar2000", loaded at 00400000h - 004F1000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 004F1000h
Version info:
foobar2000 v0.9.3 beta 4
UNICODE
Additional info:
Center Cut 1.0 (foo_centercut)
freedb tagger 0.5.2 (foo_freedb2)
Album List 3.2.0 (foo_albumlist)
CD Audio Decoder 2.1.1 (foo_cdda)
Audio CD Writer 2.0 (foo_burninate)
Album list panel 0.2.1 beta 4 (foo_uie_albumlist)
Pretty Popup 1.2.3 (foo_prettypop)
channeldividerF Ver 0.50 (foo_dsp_channeldividerF)
Track info panel mod 0.8 (foo_uie_trackinfo_mod)
Navigator 0.1 (foo_navigator)
Shell link resolver 1.1 (foo_lnk)
Columns UI 0.1.3 beta 1v5 (foo_ui_columns)
Channel Mixer 0.9.4 (foo_channel_mixer)
Default User Interface 0.9acc (foo_ui_std)
Live show tagger 0.6.1 (foo_tradersfriend)
Quick Search Toolbar 2.8f (foo_uie_quicksearch)
Components versions viewer 0.3 (foo_version)
Common services 0.1 (foo_common)
codepage converter 0.1 (foo_masstag_codepage)
ReplayGain Scanner 2.0.2 (foo_rgscan)
MSN Now Playing (alt) 2.4 (foo_msnalt)
On-Screen Display 1.52 (foo_osd)
Playlist Bind 3.0 (foo_playlist_bind)
Masstagger 1.6 (foo_masstag)
SoundTouch DSP 0.1 (foo_dsp_soundtouch)
Album Art Panel 0.2.1 (foo_uie_albumart)
Audioscrobbler 1.3.4 (foo_audioscrobbler)
Run Command 1.0 beta 1 (foo_runcmd)
Standard Input Array 1.0 (foo_input_std)
Convolver 0.3 (foo_convolve)
FLAC decoder 1.1.0 (foo_input_std)
Run services 0.3.2 (foo_run)
Skip silence 0.1 (foo_dsp_skip_silence)
Playlist tools 0.5.7 (foo_utils)
foo_custominfo 0.1.0 (foo_custominfo)
Shorten decoder 0.4.2a (foo_input_shorten)
Converter 1.0.1 (foo_converter)
Database Search 1.4 beta 4 (foo_dbsearch)
Randomized playlist entry 1.2.3 (foo_random)
Playback Statistics 1.2 (foo_playcount)
Tabbed panel modifyed 0.2.1 (foo_uie_tabs)
Foo Shutdown 0.9 (foo_shutdown)
channeldividerF3 Ver 0.40 (foo_dsp_channeldividerF3)
ZIP/GZIP reader 1.0 (foo_unpack)
foosic music database 1.0 beta 9 (foo_sic)
ABX comparator 1.3 (foo_abx)
Crossover 0.38 (foo_dsp_xover)
RAR reader 1.1 (foo_unpack)
Standard DSP array 1.0 (foo_dsp_std)
Tube Sound 0.7 (foo_dsp_tube)
It's happened 2 times
I wasn't doing something special, the foobar windows was open.
I only have one trackinfo panel with only these special functions :$alignabs() and $font()
another one
Is there any chance something like the titleformat reference (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference) could be made but for this panel. Im having trouble understanding alot of the commands and there are no real clear/simple explanations of any.
Not sure if i'll use it right now, But as a programmer i'm somewhat impressed. Good work, Definitly.
Bug report
It's happened 2 times
I wasn't doing something special, the foobar windows was open.
I only have one trackinfo panel with only these special functions :$alignabs() and $font()
can you please post your entire formatting string.. thanks.
Could people post examples of their trackinfo strings using the new fonts?
$puts(color3,079AE9)
//35B5F9)
//$rgb(255,180,5))
//0000C4)
//75B0C1)
//93AEB7)
//756fc8)
//0000d8)
//3418cd)
$puts(color2,b3a593)
$puts(color1,$rgb(214,217,228))
///7733ae)
//***************************************************
$get(color1)
Title
$tab()
$get(color3)
[$cut($if2(%title%,%_filename%),50)]
$char(10)
$get(color2)
Artist
$tab()
$if(
$or($not(%album artist%),$stricmp(%album artist%,artist),$stricmp(%album artist%,unknown)),
$get(color2)Unknown artist,
$cut($get(color1)$meta_sep(artist,', ',' & '),50)
)
//album
$char(10)
$get(color2)
Album
$tab()
$get(color1)
$cut($if(
%album%,
$if(
%disc%,
$caps2(%album%$get(color2)' ('$get(color1)Disc %disc%$get(color2)')'),
%album%
),
$get(color2)Unknown album),
50)
//date genre
$char(10)
$alignabs(right,bottom)
$font(Mangal,20,,)
$get(color2)
Date
$get(color1)' / '$get(color2)
Genre
$tab()
$get(color1)
$if2(%date%,$get(color2)Unknown date)
$get(color2)' / '$get(color1)
$if2(%genre%,$get(color2)Unknown genre)
//********************************
$char(10)
//$alignrel(20,30)
// Progress Bar
$if(
%_length_seconds%,
$puts(progress,$muldiv(%_time_elapsed_seconds%,8,%_length_seconds%))
$transition($repeat( ,$get(progress)),$get(color1),$get(color3))
$transition($repeat( ,$sub(8,$get(progress))),$get(color3),$get(color1)),
//' '$pad_right($muldiv(%_time_elapsed_seconds%,6,%//_length_seconds%),3)$get(violet)' %'$rgb()
)
//time
$tab(2)
$if(
%_time_total%,
$get(color2)'+ '$get(color1)%_time_elapsed%
$get(color2) '- '$get(color1)%_time_remaining%
$get(color2)' / '$get(color1)%_time_total%,
)
$char(10)
// format
$get(color2)
'Format '
$tab()
$get(color1)
$replace(%codec%,
Vorbis,OGG Vorbis,
AAC,AAC$get(color2) '('$get(color1)Advance Audio Codec$get(color2)')'$get(color2),
WMA,WMA $get(color2) '('$get(color1)W'$' Media Audio$get(color2)')'$get(color1),
MP3,MP3$get(color2) '('$get(color1)MPEG Layer 3$get(color2)')'$get(color1),
)
// set quality-info (bitrate, etc.)
$get(color2)' | '$get(color1)
$if(
$strcmp($codec(),MP3),
$if2(%__extrainfo%,CBR)$get(color2)' - '$get(color1)$upper($abbr(%__mp3_stereo_mode%))$get(color2)' | '$get(color1),
$if(%__codec_profile%,%__codec_profile%$get(color2)' | '$get(color1))
)
[%bitrate%] $get(color2)kbit
//$tab(3)
//stats
$char(10)
$get(color2)
Statistics
$tab()
// -rating
$if(
%rating%,
$puts(progress,$muldiv(%rating%,5,5))
$transition($repeat(✽ ,$get(progress)),$get(color1),$get(color3))
$get(color2)$repeat(✽ ,$sub(5,$get(progress))),
//' '$pad_right($muldiv(%_time_elapsed_seconds%,100,%//_length_seconds%),3)$get(violet)' %'$rgb(),
$get(color1)
Not rated $get(color3)y$get(color1)et
)
$get(color2)
' | '
//$tab()
$if($not($add(%play_counter%,%play_count%)),
$get(color3)
N$get(color1)ever played
,
$if($stricmp($add(%play_counter%,%play_count%),1),
$get(color1)Played$get(color3) o$get(color1)nce
$get(color2)' | '$get(color1)
$get(color2)Last$get(color1)
' '
$get(color1)
$if(%last_played%,$get(color1)
$left([%last_played%],11)
$get(color2)'at'
$get(color1)$left($right([%last_played%],9),6),
[%play_date%]
$get(color2)at$get(color1)
[%play_time%])
,
$get(color1)
Played $get(color3)$add(%play_counter%,%play_count%) $get(color1)times
$get(color2)' | '$get(color1)
$get(color2)Last$get(color1)
' '
$get(color1)
$left([%last_played%],11)
$get(color2)at
$get(color1)$left($right([%last_played%],9),6)
))
at the end (before i removed the component, it crashed on starting.
Thank you for all the work on this component.
Could people post examples of their trackinfo strings using the new fonts?
(http://img372.imageshack.us/img372/6132/panel1gy5.png) (http://imageshack.us)
This one auto-switches between 3 font layouts based on the length of the song & album titles
$font(Tahoma,16,,)
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,10,shadow,),$font(,14,shadow,))
$align(left,)$rgb(233,233,233)$if(%artist%,%artist% $rgb(0,128,255)$char(47)$rgb(233,233,233) ,)$if2(%title%,)
$font(Tahoma,16,,)
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),,
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,10,shadow,)$align(right,bottom),$font(,14,shadow,)$align(right,))
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,7,shadow,),)
$rgb(180,180,180)$if2(%album%,)$if(%date%, $rgb(0,128,255)$char(40)$rgb(180,180,180)%date%$rgb(0,128,255)$char(41),)
)
(http://img372.imageshack.us/img372/7439/panel2rc2.png) (http://imageshack.us) (http://img421.imageshack.us/img421/6894/panel3ek6.png) (http://imageshack.us)
This one switches between two layouts, and the progressbar auto-adjusts to fit the panel.
$font(Tahoma,7,,)
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
$font(,,shadow,233-233-233)Online Radio $rgb(0,128,255):$char(10)
$font(,,shadow,233-233-233)%path%
,
$align(left,)$if(%_isplaying%,$font(,,shadow,233-233-233)Progress $rgb(0,128,255)$char(40)$font(,,shadow,233-233-233)$div($mul(%_time_elapsed_seconds%,100),%_time_total_seconds%)'%'$rgb(0,128,255)$char(41)$font(,,shadow,233-233-233):)
$align(right,)$if(%playback_time%,$font(,,shadow,233-233-233)%playback_time%$if2($rgb(0,128,255) $char(47) $font(,,shadow,233-233-233)%length%,),)$char(10)
$align(center,bottom)$progress2(%playback_time_seconds%,%length_seconds%,$sub($div(%_width%,$calcwidth($char(9679))),1),$rgb(0,128,255)$char(9679),$rgb(0,0,202)$char(9679))
)
(http://img262.imageshack.us/img262/6768/panel4pg6.png) (http://imageshack.us)
The text is overlayed on the flower, the flower is not an image but more text
$align(center,)$font(,56,,140-186-236)$char(10048)$alignabs(left,top)
$font(Tahoma,7,,0-0-0)
$if(%isplaying%,
$if2(%codec% ,)$if2($char(40)$caps($info(encoding))$char(41),)$char(10)
$if2($if($info(mp3_stereo_mode),$caps($info(mp3_stereo_mode)),$info(channels)),)$char(10)
$if2(%bitrate%kbps ,)$if($strcmp($upper($info(codec)),MP3),$if2($info(extrainfo),CBR),)$char(10)
$if2($div(%samplerate%,1000)$ifequal($div($mod(%samplerate%,1000),100),0,,.$div($mod(%samplerate%,1000),100))KHz,)$char(10)
$char(10)
$get(info)$div(1411,%__bitrate%).$substr($muldiv(1411,100,%__bitrate%),2,3):1 '('$get(info)$muldiv(%__bitrate%,100,1411)$get(anno)'%)'$char(10)
,)
(http://img200.imageshack.us/img200/4156/panel5ol3.png) (http://imageshack.us)
This one I plan to link to the foobar forums if/when click events are added
$align(right,top)$font(Verdana,12,bold,)$rgb(128,128,128)2000
$align(right,bottom)$font(Tahoma,10,shadow,)$rgb(255,255,255)Foobar$repeat( ,3).
It occured to me that you could use a 1pt font $font(,1,,R-G-B) and whip up some interesting bitmaps, and then overlay your text on top of it.
nice examples, Yotsuya! i have managed to draw vertical lines of exact pixel size anywhere i want, but i would need some new functions from terrestrial to make it easier to use alongside flowing text.
It occured to me that you could use a 1pt font $font(,1,,R-G-B) and whip up some interesting bitmaps, and then overlay your text on top of it.
yes, that's true, but rather a little bit extreme-ish , like that pixel css font. i guess terrestrial will help us in this regard soon with real bitmaps ...
with the code :
$align(center,)Tags$char(10)
$align(left,)Artiste: [%artist%][' ('%performer%')']$char(10)
The "Tags" should be centered on the first ligne and the "Artist" should be at left on the next line right ? but i have this :
Maybe
$align(center,)Tags$char(10)
$align(left,)Artiste:$char(10)[%artist%][' ('%performer%')']$char(10)
Does it help ?
$align(center,top)Tags$char(10)
$align(left,bottom)Artiste: [%artist%][' ('%performer%')']$char(10)
That should do it.
Installing this component still converts all of my foo_uie_trackinfo panels to foo_uie_trackinfo_mod panels. I'd like the old panels to stay the way they are and add the new ones later. Also, in the layout configuration, there is no way to tell the difference between what panel you are adding. The name should be changed to "infopanel mod" in the layout config.
Feature request: A checkbox option in the settings to enable a vertical scrollbar. When displaying the comment tag in trackinfo panel it often requires a lot of real estate. The original trackinfo would let you use your mousewheel to scroll the panel up/down. I think a scrollbar would be better.
Is that a feasible request, yes, no?
another feature request,
anyway i can get like, ctrl a to work in the insert code box?
either that or a button that selects all, and one that pastes...
thanks.
Maybe
$align(center,)Tags$char(10)
$align(left,)Artiste:$char(10)[%artist%][' ('%performer%')']$char(10)
Does it help ?
$align(center,top)Tags$char(10)
$align(left,bottom)Artiste: [%artist%][' ('%performer%')']$char(10)
That should do it.
Thanks but they don't work too, i don't know why
from the read-me
Before the first $align function, text is displayed in "compatibility" mode.
so the following code:
%title%$tab()%artist%$char(10)
is internally converted to:
$alignrel(left,top)%title$alignrel(right,top)%artist%$alignset()
After you manually use the first $align function this automatic conversion is no longer performed.
so $char(10) seems to have no effect afterthe first $align()
$align(center,top)Tags$char(10)
$align(left,bottom)Artiste: [%artist%][' ('%performer%')']$char(10)
That should do it.
I think the problem is that the text anti-collision is kicking in. Try this:
$alignabs(center,top)Tags
$alignabs(left,bottom)Artiste: [%artist%][' ('%performer%')']
I think the problem is that the text anti-collision is kicking in. Try this:
$alignabs(center,top)Tags
$alignabs(left,bottom)Artiste: [%artist%][' ('%performer%')']
No i find the trick, the right code is:
$align(center,top)Tags$alignset()
$alignrel(left,top)Artiste: [%artist%][' ('%performer%')']
so now i have what i want :
im not quite sure what i missed but it only says "[unknown function]" for me, with the version form the first post.
here's what I managed to pull so far with the new spiffy trackinfo loved the way you can place different texts one above the other...
here it is in ''follow cursor (http://www.planetnana.co.il/oronl/my_foo_follow.bmp)' mode,
and in 'now playing (http://www.planetnana.co.il/oronl/my_foo_playing.bmp)'.
in 'now playing' the green bars behind are animated with moving green lights
here's the code if anyone is interested:
$puts(off_col,$rgb(63,92,89))
$puts(s,~)
$puts(anim,
$if(%isplaying%,$select($add($mod(%playback_time_seconds%,5),1),
$rgb(102,179,105)$get(s)$rgb()$get(s)$get(s)$get(s)$get(s),
$rgb()$get(s)$rgb(102,179,105)$get(s)$rgb()$get(s)$get(s)$get(s),
$rgb()$get(s)$get(s)$rgb(102,179,105)$get(s)$rgb()$get(s)$get(s),
$rgb()$get(s)$get(s)$get(s)$rgb(102,179,105)$get(s)$rgb()$get(s),
$rgb()$get(s)$get(s)$get(s)$get(s)$rgb(102,179,105)$get(s)$rgb()),
$rgb()$get(s)$get(s)$get(s)$get(s)$get(s))
)
$get(off_col)
$font(,5, ,)
$alignabs(center,top)
$repeat($get(anim),20)$char(10)$char(10)
$repeat($get(anim),20)$char(10)$char(10)
$repeat($get(anim),20)$char(10)$char(10)
$repeat($get(anim),20)$char(10)$char(10)
$repeat($get(anim),20)$char(10)$char(10)
$repeat($get(anim),20)
$alignabs(center,top)
$font(wingdings 2,50, shadow , 52-52-62 )$char(98)
$font(wingdings 2,50, shadow , 52-52-62 )$char(99)
$font(wingdings 2,50, shadow , 52-52-62 )$char(100)
$font(wingdings 2,50, shadow , 52-52-62 )$char(97)
$alignabs(center,middle)
$font(Bangle,9,shadow-italic,102-120-240)
$if(%_trackinfo_notrack%,No track,Artist: %artist%$char(10)
Title: %title%$char(10)
Album: %album%)
$alignabs(right,bottom)
$if($strcmp(%_trackinfo_mode%,Now playing),
$font(webdings,22,shadow, 82-100-150 )$char(79),
$font(webdings,22,shadow, 82-100-150 )$char(78))
(sorry about the code bit being so big.. I don't know how to limit its size...) / fixed, thanks Squeller
Is there a way to terminate the alignment in a similar fashion to the $rgb() tag?
Also, it seems that double $char(10) tags no longer produce an empty line.
For example, this
Foo$char(10)$char(10)bar
Produces this
Foo
bar
Is it possible with this new version?
The broken $char(10) appears to have something to do with alignments.
Try this:
$alignrel(left,)Foo$char(10)$char(10)bar
Produces this:
Foo
bar
I have a crash by this plugin here's the crash log:
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 015D22C4h
Access violation, operation: write, address: 00000000h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (015D22C4h):
015D2284h: 66 8B 11 83 C1 02 66 85 D2 75 F5 2B CF D1 F9 74
015D2294h: 1A 8D BC 24 74 02 00 00 8B CE 2B FE 0F B7 11 66
015D22A4h: 89 14 0F 83 C1 02 66 85 D2 75 F1 8D 70 02 6A 2C
015D22B4h: 56 66 C7 00 2C 00 E8 F1 D0 02 00 8B CE 83 C4 08
015D22C4h: 66 C7 00 00 00 8D 79 02 8D 64 24 00 66 8B 11 83
015D22D4h: C1 02 66 85 D2 75 F5 2B CF D1 F9 74 1E 8D BC 24
015D22E4h: AC 01 00 00 8B CE 2B FE 8D 64 24 00 0F B7 11 66
015D22F4h: 89 14 0F 83 C1 02 66 85 D2 75 F1 8D 70 02 6A 2C
Stack (0012EEFCh):
0012EEDCh: 00000000 0000000C BBE7AB18 0012F460
0012EEECh: 00009C90 B2076B60 BF81642D B2076D38
0012EEFCh: 00E5E128 00E53BAC 0012F364 00E53B30
0012EF0Ch: 013C0D18 7C91056D 00E5E1F4 00350032
0012EF1Ch: 002D0035 00350032 002D0035 00350032
0012EF2Ch: 00000035 30303030 30303030 00E50000
0012EF3Ch: 30303030 00000014 00000016 01FFFFFF
0012EF4Ch: 000000B0 0012EF58 FFFFFFFF 0012EDA0
0012EF5Ch: 00E58AF9 0012EFB4 7C90EE18 7C917BB8
0012EF6Ch: FFFFFFFF 00000118 7813525C 00E50000
0012EF7Ch: 00000001 00E53D48 78135293 7EBF4BBA
0012EF8Ch: 000000A4 0012F2E8 000000A4 003C0000
0012EF9Ch: 0000000A 00000000 0000000E 00000000
0012EFACh: 0012EF88 00010000 00000023 0012EF14
0012EFBCh: 06B6E88E 0012F000 7C90EE18 7C910570
0012EFCCh: FFFFFFFF 7C91056D 00490FED 003C0000
0012EFDCh: 00000000 006C0067 0077006F 0000002D
0012EFECh: 0012F054 01F6DB80 00E58AF8 0012EFE4
0012EFFCh: 00000093 0012F078 004945C0 7E98BE28
0012F00Ch: FFFFFFFE 0049100C 0040C783 0012F04C
Registers:
EAX: 00000000, EBX: 00E5E262, ECX: 00E5E27C, EDX: 0000002C
ESI: 00E5E27C, EDI: FF2D0F02, EBP: 032B01E0, ESP: 0012EEFC
Crash location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Loaded modules:
foobar2000 loaded at 00400000h - 004F0000h
ntdll loaded at 7C900000h - 7C9B0000h
kernel32 loaded at 7C800000h - 7C8F4000h
COMCTL32 loaded at 773D0000h - 774D2000h
msvcrt loaded at 77C10000h - 77C68000h
ADVAPI32 loaded at 77DD0000h - 77E6B000h
RPCRT4 loaded at 77E70000h - 77F01000h
GDI32 loaded at 77F10000h - 77F56000h
USER32 loaded at 77D40000h - 77DD0000h
SHLWAPI loaded at 77F60000h - 77FD6000h
SHELL32 loaded at 7C9C0000h - 7D1D4000h
ole32 loaded at 774E0000h - 7761C000h
shared loaded at 10000000h - 1002A000h
comdlg32 loaded at 763B0000h - 763F9000h
IMM32 loaded at 76390000h - 763AD000h
LPK loaded at 629C0000h - 629C9000h
USP10 loaded at 74D90000h - 74DFB000h
uxtheme loaded at 5AD70000h - 5ADA8000h
MSCTF loaded at 74720000h - 7476B000h
msctfime loaded at 755C0000h - 755EE000h
foo_abx loaded at 00A60000h - 00A93000h
foo_albumlist loaded at 00AB0000h - 00AF1000h
foo_autoplaylist loaded at 00B20000h - 00B50000h
foo_burninate loaded at 00B70000h - 00BA7000h
VERSION loaded at 77C00000h - 77C08000h
foo_cdda loaded at 00BD0000h - 00C06000h
foo_channel_mixer loaded at 00C30000h - 00C6A000h
foo_common loaded at 00C80000h - 00CBA000h
foo_converter loaded at 00CE0000h - 00D49000h
foo_dbsearch loaded at 00D70000h - 00DCC000h
foo_dsp_delta loaded at 00DF0000h - 00E0E000h
foo_dsp_skip_silence loaded at 00E30000h - 00E3A000h
MSVCR80 loaded at 78130000h - 781CB000h
foo_dsp_std loaded at 00E60000h - 00EA1000h
foo_freedb2 loaded at 00ED0000h - 00F10000h
foo_input_monkey loaded at 00F30000h - 00F79000h
foo_input_ofr loaded at 00FA0000h - 00FDC000h
OptimFROG loaded at 00FF0000h - 01022000h
foo_input_std loaded at 01050000h - 0115A000h
foo_input_tta loaded at 01180000h - 011AD000h
foo_masstag loaded at 011D0000h - 01220000h
foo_masstag_addons loaded at 01240000h - 01249000h
foo_menu_addons loaded at 01260000h - 0126E000h
foo_navigator loaded at 01280000h - 012A1000h
foo_osd loaded at 012D0000h - 01305000h
foo_playlist_manager loaded at 01330000h - 01377000h
foo_pqview loaded at 013A0000h - 013BC000h
foo_psf loaded at 013E0000h - 014C2000h
foo_rgscan loaded at 014F0000h - 01535000h
foo_uie_quicksearch loaded at 01560000h - 015A8000h
foo_uie_trackinfo_mod loaded at 015D0000h - 0160F000h
foo_ui_columns loaded at 01620000h - 016BB000h
foo_ui_std loaded at 016E0000h - 01737000h
foo_unpack loaded at 01760000h - 0178E000h
foo_utils loaded at 017B0000h - 017E9000h
foo_version loaded at 01810000h - 01836000h
dbghelp loaded at 59A60000h - 59B01000h
DSOUND loaded at 73F10000h - 73F6C000h
WINMM loaded at 76B40000h - 76B6D000h
wdmaud loaded at 72D20000h - 72D29000h
WINTRUST loaded at 76C30000h - 76C5E000h
CRYPT32 loaded at 77A80000h - 77B14000h
MSASN1 loaded at 77B20000h - 77B32000h
IMAGEHLP loaded at 76C90000h - 76CB8000h
msacm32 loaded at 72D10000h - 72D18000h
MSACM32 loaded at 77BE0000h - 77BF5000h
midimap loaded at 77BD0000h - 77BD7000h
KsUser loaded at 73EE0000h - 73EE4000h
Stack dump analysis:
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C917BB8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001BBh)
Address: 7813525Ch, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "realloc" (+0000035Fh)
Address: 78135293h, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "realloc" (+00000396h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 00490FEDh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004945C0h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049100Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040C783h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 00403680h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C911538h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C911596h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 0145E555h, location: "foo_psf", loaded at 013E0000h - 014C2000h
Address: 004A6FB4h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 01600668h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0045BF42h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004614D1h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004A7861h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00460B1Dh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00460B2Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C9105C8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 004A4688h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0043793Fh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004DFA1Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004DBE00h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004DFA1Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BEE9Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BEE84h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 78134B9Fh, location: "MSVCR80", loaded at 78130000h - 781CB000h
Symbol: "free" (+000000CDh)
Address: 015D4B06h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D4AB4Eh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "wvsprintfW" (+000002D1h)
Address: 77D4AAAAh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "wvsprintfW" (+0000022Dh)
Address: 77D4A862h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "wsprintfW" (+00000000h)
Address: 015D2B0Fh, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 7475E548h, location: "MSCTF", loaded at 74720000h - 7476B000h
Address: 74730E78h, location: "MSCTF", loaded at 74720000h - 7476B000h
Symbol: "TF_UninitSystem" (+00000A0Fh)
Address: 01604F04h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0160091Fh, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D488B8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000003Ah)
Address: 015D2155h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D487EBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000154h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D48808h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000171h)
Address: 77D4B368h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+00000183h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D56DDBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EndDialog" (+00000112h)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D4B378h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+00000193h)
Address: 77D4B3B4h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+000001CFh)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D4ECE9h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsCharAlphaW" (+00000129h)
Address: 7C90EAE3h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D4B31Bh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+00000136h)
Address: 77D494F7h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongA" (+0000007Bh)
Address: 77D4B3D8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+000001F3h)
Address: 77D48564h, location: "USER32", loaded at 77D40000h - 77DD0000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D489C8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D489E8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 77D6EA3Bh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CallMsgFilterW" (+00000213h)
Address: 00F0028Ch, location: "foo_freedb2", loaded at 00ED0000h - 00F10000h
Address: 77D5688Ah, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "LoadBitmapA" (+000000E2h)
Address: 01530332h, location: "foo_rgscan", loaded at 014F0000h - 01535000h
Address: 00F0028Ch, location: "foo_freedb2", loaded at 00ED0000h - 00F10000h
Address: 77D568CCh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DialogBoxIndirectParamAorW" (+00000036h)
Address: 015D0000h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0160B0A0h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D6620h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D56741h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DialogBoxParamW" (+0000003Fh)
Address: 015D0000h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0160B0A0h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D6620h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D1EF5h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D0000h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D6620h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 00FFFFFFh, location: "OptimFROG", loaded at 00FF0000h - 01022000h
Address: 01604F04h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 01530332h, location: "foo_rgscan", loaded at 014F0000h - 01535000h
Address: 01600888h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D451Eh, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 01604F94h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 01600828h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2878h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D48832h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000019Bh)
Address: 77D487FFh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000168h)
Address: 77D48AFEh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D488A9h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D488B2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0160091Fh, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2155h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D487EBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000154h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D48808h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000171h)
Address: 77D4D3BBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetTopWindow" (+0000024Ch)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D484BCh, location: "USER32", loaded at 77D40000h - 77DD0000h
Address: 77D48564h, location: "USER32", loaded at 77D40000h - 77DD0000h
Address: 77D4B2A1h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+000000BCh)
Address: 77D4B23Ch, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+00000057h)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D4B258h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DefWindowProcW" (+00000073h)
Address: 015D2E96h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D4ECC3h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsCharAlphaW" (+00000103h)
Address: 77D4ECD2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsCharAlphaW" (+00000112h)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D4ECD8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsCharAlphaW" (+00000118h)
Address: 77D4ECD2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsCharAlphaW" (+00000112h)
Address: 77D56DDBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EndDialog" (+00000112h)
Address: 77D56DEBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EndDialog" (+00000122h)
Address: 77D48AFEh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D488A9h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D488B2h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 0160091Fh, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2155h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D487EBh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000154h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D48808h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000171h)
Address: 77D489A5h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 015D2110h, location: "foo_uie_trackinfo_mod", loaded at 015D0000h - 0160F000h
Address: 77D6E7CCh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsDialogMessageW" (+0000008Eh)
Address: 77D70494h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetClipboardFormatNameA" (+0000014Fh)
Address: 77D489C8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D489E8h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042EBC5h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77D4E666h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 0042F6FBh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 004BD3D8h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 004C459Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004C459Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004C4580h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C911596h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004E1158h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 7C917BB0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001B3h)
Address: 100032E1h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uGetCallStackPath" (+000004D1h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 0049147Dh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004E11D8h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0044CAEBh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040C796h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040369Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049423Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BD530h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 10002D97h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004BD530h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004AC7DAh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BD530h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0042F8E7h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004DD970h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004942C4h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0048F7BCh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0048F7B6h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004B19E8h, location: "foobar2000", loaded at 00400000h - 004F0000h
Version info:
foobar2000 v0.9.3.1
UNICODE
Additional info:
freedb tagger 0.5.2 (foo_freedb2)
Standard Input Array 1.0 (foo_input_std)
Default User Interface 0.9acc (foo_ui_std)
ZIP/GZIP reader 1.0 (foo_unpack)
Autoplaylist Manager 1.0 (foo_autoplaylist)
Components versions viewer 0.3 (foo_version)
Album List 3.2.0 (foo_albumlist)
Playlist tools 0.5.8 (foo_utils)
Masstagger Addons 0.2 (foo_masstag_addons)
Standard DSP array 1.0 (foo_dsp_std)
TTA Audio Decoder (unofficial) 2.4.2 (foo_input_tta)
Skip silence 0.1 (foo_dsp_skip_silence)
Channel Mixer 0.9.4 (foo_channel_mixer)
Quick Search Toolbar 2.8f (foo_uie_quicksearch)
ABX comparator 1.3 (foo_abx)
FLAC decoder 1.1.0 (foo_input_std)
Converter 1.0.1 (foo_converter)
Database search 1.3.1 beta 11 (foo_dbsearch)
RAR reader 1.1 (foo_unpack)
OptimFROG Lossless/DualStream Decoder 1.21b (foo_input_ofr)
Audio CD Writer 2.0.1 (foo_burninate)
Menu Addons 0.1 (foo_menu_addons)
Masstagger 1.6 (foo_masstag)
Common services 0.1 (foo_common)
CD Audio Decoder 2.1.1 (foo_cdda)
Monkey's Audio decoder 2.1.1 (foo_input_monkey)
Playlist Manager 1.0.2 (foo_playlist_manager)
On-Screen Display 1.52 (foo_osd)
ReplayGain Scanner 2.0.2 (foo_rgscan)
Track info panel mod 0.8 (foo_uie_trackinfo_mod)
LPCM <--> delta-PCM converter 0.1.1 (foo_dsp_delta)
Highly Experimental 2.0.5 (foo_psf)
Navigator 0.2 (foo_navigator)
Columns UI 0.1.3 beta 1v5 (foo_ui_columns)
It happened when I were trying to do the eclipsis code that Yotsuya provides
$left(
Place your existing code here.
,$div($sub(%_width%,$calcwidth($char(8230))),$calcwidth($char(34))))$char(8230)
I put my entire code in the "Place your existing code here." with some $align functions in it. Apply and it crash but not all the time though.
I have a problem. One of my track info panels keeps outputting a question mark for missing tags, though I've put the tag script between square brackets.
// Original Artist
[$font(,,nocleartype bold,)Original Version: $font(,,nocleartype,)%original artist%$char(10)
Output:
Original Arist: ?
This only happens when the $font function is in the square brackets.
Is this the full code your problem goes around ...??
Then you should use the second bracket ( "]" ) ...!!
It seems putting tht $font function in the bracket cause that, try using $if.
1) The code has no close bracket ']' as Sw!ng pointed out.
2) How did "Original Version:" become "Original Arist:"
Is there more code going on that we dont see? I am able to use $font() functions inside brackets without a problem.
1) The code has no close bracket ']' as Sw!ng pointed out.
2) How did "Original Version:" become "Original Arist:"
Is there more code going on that we dont see? I am able to use $font() functions inside brackets without a problem.
Opps. I typed out an example rather quickly. That's why the sloppy mess.
Anyway, say this is my script:
[$font(,,bold,)test: $font(,,nocleartype,)%WHATEVER%]
That will render as:
test: ?
if the
%WHATEVER% tag does not exist. Omit the
$font function from the brackets and the script works as expected.
So either I am doing something wrong or the $font function doesn't like square brackets?
In general I do not like using brackets. Both the brackets and $if2() function are a bit over sensitive IMO. I believe what is happening is that the $font() function is returning a value, therefore the brackets are being evaluated.. and since the %WHATEVER% is still in those brackets it gets rendered but since it has no value it's rendered as '?'.
I would suggest replacing your code with one of the following, depending on your needs. I have seen this sort of "false positive" in brackets and $if2() when functions other than $font() in other components:
$if(%WHATEVER%,$font(,,bold,)test: $font(,,nocleartype,)%whatever%,)
-or-
$font(,,bold,)test: $font(,,nocleartype,)[%WHATEVER%]
any plans for adding scrolling/elipsed test in this plugin? even though neither of these features work very well with the version im using v0.8, maybe they could be implemented better.
If strings are going over the edge, I suggest using $cut().
$cut(%string%,n) where n is number of characters to truncate to. I think.
Someone also had a string that would scroll some info in a set space. It's somewhere in the old thread for foo_uie_trackinfo
w00t ?? realy ?? so I didnt need to work out my own Version of Scroll-'String'...??
-Well, its my first weird version with a few bugs, but u can try out and give me some Ideas ( solutions ) or improvements. -'Cause I'm not realy good in this 'Coding'-Stuff ...
Here it is, so far:
$puts(text1
,$font(Arial Unicode MS,12,bolditalicglow-,255-255-255)[%artist%]
)
$puts(Text2
,$font(Arial Unicode MS,12,bolditalicglow-,196-196-196)[%title%]
)
$puts(Space,
0)
$puts(RelPosition,
5)
$alignabs($puts(Space,0)$puts(Text,$get(Text1))
$puts(Overlength
,$max(0,$mul($div($sub($calcwidth($get(text)),%_width%),2),2))
)
$puts(Move
,$mul(2,$div($get(Overlength),10))
)
$puts(Counter2
,$mul($mod(%_time_elapsed_seconds%,$max(1,$mul(2,$div($get(Overlength),$get(Move))))),$get(Move)))
$mul(-2,$ifgreater($get(Counter2),$sub($get(Overlength),0)
,$sub($get(Overlength),$div($get(Counter2),2))
,$div($get(Counter2),2)
)),
$put(Position,$mul($div(%_height%,100),$get(RelPosition))),
$max(%_width%,$calcwidth($get(text))),
$calcheight($get(Text)),
center
,)
#SHADE#$get(text)
// ------------------------------------------------------------------------------------------------------------------------------------------------------
$alignabs($puts(Space,5)$puts(Text,$get(Text2))
$puts(Overlength
,$max(0,$mul($div($sub($calcwidth($get(text)),%_width%),2),2))
)
$puts(Move
,$mul(2,$div($get(Overlength),10))
)
$puts(Counter2
,$mul($mod(%_time_elapsed_seconds%,$max(1,$mul(2,$div($get(Overlength),$get(Move))))),$get(Move)))
$mul(-2,$ifgreater($get(Counter2),$sub($get(Overlength),0)
,$sub($get(Overlength),$div($get(Counter2),2))
,$div($get(Counter2),2)
)),
$put(Position,$add($get(Position),$calcheight($get(Text)),$get(Space)$puts(space,0))),
$max(%_width%,$calcwidth($get(text))),
$calcheight($get(Text)),
center
,)
#SHADE#$get(text)
Features:
-automatic detection of the current window-width
-different scroll-speed for every line, depending on its each text' length
-vertical Position relative to the displayheight (nearly in percent) for the first Line
-other lines follow allways the one that came before, no matter at wich relative (vert) position. (to add more Lines, copy the stuff under the "// --------------------- ")
BTW,
anyone of you guys have an explanation, why the codes from This Topic (http://www.hydrogenaudio.org/forums/index.php?showtopic=45669&hl=Russell777) dont work in this trackinfo-mod ...??
The only thing stopping me from using this wonderful component is it's unability to set the line spacing
and the worst is that it identifies itself as 'usual' trackinfo panel and converts all present trackinfo panel
into trackinfo_mod one.If there's any way of fixing it,it would be great
you can set line spacing, Russell777, but only for the following line (not globally). this will imho, change in the final version ...
Do you meen by using the $alignabs() function? If so,it's not exactly the same.I'll better wait for the final
version to come out,thanks
Yes, using the same name for the coponent is realy a big mess !!
(- Or is it to call "Replacing-Politics" ...?? )
The only thing stopping me from using this wonderful component is it's unability to set the line spacing ...
Is THIS ment as the answer for my question about your codes ??
-Then I dont understand why and how your code depends on the line spacing ...
(cause it even works in the "LyricsPanel" ...)
But I can tell you how to set the linespacing for each single (!!) line in this component:
- Its the command
#LINEHEIGHT,10# , and it becomes effective in the
following line, as mazy allready mentioned ...!!
And if you want it to NEARLY act in known fashion with the $tab()-stuff,
the 'old'
Line1_L
$tab()Line1_C
$tab()Line1_R
$char(10)$tab()Line2_C
$tab()Line2_R
$char(10)Is to convert into:
$alignrel(left,top)Line1_L
$alignrel(center,top)Line1_C
$alignrel(right,top)Line1_R
$alignset()$alignrel(left,top)$alignrel(center,top)Line2_C
$alignrel(right,top)Line2_R
#LINHEIGHT,20#$alignset()$alignrel(left,top)Line3_L
$alignrel(center,top)Line3_C
$alignset()(I hope you see what I mean ...)
Well, I thought that would be all to know to convert 'old' codes...
... until your progress-bar-variants crossed my way
-So I dont know where else the difference is, relating on
your code (http://www.hydrogenaudio.org/forums/index.php?showtopic=45669&hl=Russell777) ...!!
My goal is, to get such progress-bars as background for the trackinfo ...
2 Sw!ng:
Well if you want you'll get it just tell me what version you have on mind
sorry guys... things are a bit on hold for a moment while my development machine is down and I (and it seems like half the planet) am waiting for a conroe
I will try to fix the crashing bug asap
@ russell777
2.1 would be nice ... !!
what would really be great is to have a save/load type menu system which saves files to the foobar folder or so that people can share their configs and back them up as well.. also when redesiging the layout they can then simply choose the layout they had for each track info panel and load it back up
I'd wholeheartly migrate to this component, if:
1) there would be an ellipsize mode
And I suggest the following improvements, if possible...
2) Add a variable for displaying the playlist name, current index, number of entries.
3) Maybe a variable for the next track? foo_osd for 0.83 had this.
4) Please add some quick infos about the component to the gui. e.g. like uie_quicksearch does, it has a help tab.
I'd wholeheartly migrate to this component, if:
1) there would be an ellipsize mode
You could use $alignabs(...,...)
Even Though,
$alignabs needs an update, in my pov:
-It should have NO INFLUENCE TO "$alignset()" and be autonom even with $char(10)s in it ...!!
(Otherwise the $alignset() is not very useful, since its disturbed by the "Background" (created with $alignabs)
And when the work on this goes on, I have a few minnor suggestions, too:
-
#SHADE#-Effect should be on lower level and/or to be set with colors
guys, all these things will be implemented or re-implemented in better way than they are now - things like #SHADE#, glow and other missing features. however, from how it works and what it does, one can easily assume that we are going for some interesting things in the future - i mean the layout mechanism is much more flexible and it could allow outputting images directly to the text flow etc. we are going to see alpha-blending text, rectangles and maybe even images
Indeed this plugin has a lot of cool features that allow you to create a lot of cool stuff right now, though im too lazy to use, or better learn how to use this new formatting strings. But as far as i've seen, you guys are doing some very very good things with it (the vertical progress bar is nice).
Yeah this plugin rocks ..
I've uploaded a new version with preliminary support for images, and a couple of changes/bugfixes.
FrDelefortrie & thuan >> does it crash when playing a particular file or all the time?
Don't know what to say it's kind of random.
i would like to notice others that this new version doesn't take over the old track info (as requested by many) so you would lose your panels. i suggest putting back the old track info panel (not the mod) ...
amazing work, terrestrial. it seems we have to specify alignment after $imageabs - like $align(,) - for the following text to show. another glitch is that it seems to update less often than text - i.e. not always when changing tracks, when the image's path may change due to different context, time etc. changing position works, but the image wouldn't change. example: $imageabs($mod(%playback_time_seconds%,12),12,data\misc images\rate%rating%.png,flow)$align(,)$repeat(word ,40). you can get the rating images for testing here (http://mazy.johanka.cz/temp/data.rar).
request: i use custom info for rating my songs (so it's not real tags). everything works fine, however trackinfo panel picks changes in these "virtual tags" only once in a second, not the moment they change (like colums_ui's playlist for example, which reacts instantly). could you do something about it?
Is it possible, besides new layout features, made some additional changes:
- add support for %_system_*% variables (time and date) to make natural language timestamps (http://www.hydrogenaudio.org/forums/index.php?showtopic=45282) working;
- fix detection of track under cursor after command "View\Columns playlist\Activate now playing" used and playlist switching occurred?
@mazy, could you post your config for the trackinfo panel?
I'm interested to see what you have came up with.
I use this trackinfo_mod now. But: With the latest version, I lost my config. I'll have to restore it from a backup.
Please add some details about file formats... A simple 256 color bmp image doesn't work here.
unabatedshagie - i'm not really using it in my main foobar, only testing it for time being. my testing foobar looks like this right now:
(http://mazy.johanka.cz/my_pics/temp/foobar/trackinfo-5.png)
Squeller - you can put the old track info panel or the mod (and rename it's dll) back and recover these settings. the new version (as mentioned in the readme and in my previous post) is distinct from the old one and doesn't take over its settings.
as for images - well 32-bit pngs with alpha channel work here, i think that bmps with 256-color palette should work too. imho what you're experiencing is that refresh / update problem i've mentioned. try using the formatting snippet i've posted above.
ok, fixed the image updating problem.
Only pngs are supported.
request: i use custom info for rating my songs (so it's not real tags). everything works fine, however trackinfo panel picks changes in these "virtual tags" only once in a second, not the moment they change (like colums_ui's playlist for example, which reacts instantly). could you do something about it?
probably some change notification I'm missing. I will look into it. fixed for the next version.
- add support for %_system_*% variables (time and date) to make natural language timestamps working;
are _system_ variables added by columns ui? they don't apprear in the titleformat reference....
- fix detection of track under cursor after command "View\Columns playlist\Activate now playing" used and playlist switching occurred?
fixed for the next version.
I use this trackinfo_mod now. But: With the latest version, I lost my config. I'll have to restore it from a backup.
Please add some details about file formats... A simple 256 color bmp image doesn't work here.
new version is separated from the original so you can run both at the same time, so your settings will not be migrated over.
only pngs are currently supported.
- add support for %_system_*% variables (time and date) to make natural language timestamps working;
are _system_ variables added by columns ui? they don't apprear in the titleformat reference....
I doesn't really know where they come from, but probably yes. Is it very difficult to implement similar variables?
- fix detection of track under cursor after command "View\Columns playlist\Activate now playing" used and playlist switching occurred?
fixed for the next version.
when it wil be released?
sry
Don't get me wrong, I enjoy and use this component, but isn't this just reinventing the wheel? Why hasn't someone made a component with IE control like Miranda's IEView (http://addons.miranda-im.org/details.php?action=viewfile&id=1788) that parses HTML code and still maintains a very low memory footprint. It would accomplish everything this plugin does visually and beyond [maybe with the exception of refreshing every second], and it would be less complicated use.
metal_termite, miranda's ieview is quite a resource hug (like many visual miranda's plugins). foosion is working on html panel using very nice and window-less browser component.
as for trackinfo panel, i still see many uses for it, as it could add features not possible in html panel, it may be faster etc. you are right though that with all these new things track info panel is going to look like something with similar possibilities like html panel.
terrestrial, maybe you could switch to gdi+, as it would be nice to be able to resize images in the future, it supports gifs, bmps, pngs and other formats, has antialiasing / blending support etc. what do you think?
Mmh, this code ...
$imageabs($mod(%playback_time_seconds%,12),12,data\misc images\rate%rating%.png,flow)$align(,)$repeat(word ,40)
... No Pic ...!!
-Even though I downloaded mazy's pngs and put the data folder in Foobar's AND in Component's directory, to be on the save side ...!!
Canging the code, settig x,y manualy, and/ or naming the png by its concrete name (e.g. "rate2.png" ) take no effect ... All I see is "word", 40 times !!
And:
Dont wanna trap your nerves, but
Even Though,$alignabs needs an update, in my pov:
-It should have NO INFLUENCE TO "$alignset()" and be autonom even with $char(10)s in it ...!!
(Otherwise the $alignset() is not very useful, since its disturbed by the "Background" (created with $alignabs)
Is this allready planed or a is it a stupid Idea ...??
Sw!ng, are you using the latest version? there are few things critical to images improved. other than that, there could be not enough place. have you tried it while playing track with %rating%?
others: i've realized that with the new support for images you can do pseudoskins with multiple layers - background, reflection etc. quick test of concept:
terrestrial: it seems there's something wrong going on with $font. i tried to use $font(Wingdings,20,21-60-98) in the example above, but i couldn't get it to show the star then - probably because of codepages or something (i.e. when i used the character or $char for the star - obtained from microsoft's character map utility - i got nothing).
when it wil be released?
I actually ended up uploading it after that last post.
Don't get me wrong, I enjoy and use this component, but isn't this just reinventing the wheel?
a little bit I just happened to have the majority of this code already laying around, so it wasn't too much work to add it in. A HTML component could probably do a lot more fancier cost, but I think the overhead would be much more significant as well.
terrestrial, maybe you could switch to gdi+, as it would be nice to be able to resize images in the future, it supports gifs, bmps, pngs and other formats, has antialiasing / blending support etc. what do you think?
I can certainly use gdi+ in addition to gdi to get additional features, but I don't think there is any need to change over gdi stuff to gdi+ as I don't think gdi+ offers any advantages in the basic text stuff I already use.
Even though I downloaded mazy's pngs and put the data folder in Foobar's AND in Component's directory, to be on the save side ...!!
Canging the code, settig x,y manualy, and/ or naming the png by its concrete name (e.g. "rate2.png" ) take no effect ... All I see is "word", 40 times !! blink.gif
make sure you're running the latest version.
Even Though,$alignabs needs an update, in my pov:
-It should have NO INFLUENCE TO "$alignset()" and be autonom even with $char(10)s in it ...!!
(Otherwise the $alignset() is not very useful, since its disturbed by the "Background" (created with $alignabs)
$alignabs should already be able to handle newlines..
I envisioned using the $alignrel and $alignset at the beginning, and $alignabs towards the end, and not switching between the modes too much which is why $alignabs affects $alignset. I will see if I can change it to ignore it though
terrestrial: it seems there's something wrong going on with $font. i tried to use $font(Wingdings,20,21-60-98) in the example above, but i couldn't get it to show the star then - probably because of codepages or something (i.e. when i used the character or $char for the star - obtained from microsoft's character map utility - i got nothing).
it looks like you're missing a couple of commas for the $font
it looks like you're missing a couple of commas for the $font
you're right, but i had it as it should be in the panel: $font(Wingdings,20,,21-60-98).
strange... maybe there is some sort of interaction with the other code. can you try just:
$font(Wingdings,20,,21-60-98)$char(171)
and see if it works?
i'm puzzled. it seems to work now, probably some error on my side, sorry
[edit:] but this doesn't work - star character with code 234 for the Wingdings 2 font: $font(Wingdings 2,20,,)$char(234) (and i can't even make it work by setting this font in the configuration dialog). i did some tests and from #128 up it doesn't work for almost each other one (129 works, 130 not, 131 works ...). i'm using czech locale ...
$imageabs(12,12,data\misc images\rate3.png,flow)$align(,)$repeat(word ,%rating%) /
$imageabs(12,22,E:\Programme\foobar2000\components\data\misc images\rate3.png,flow)$align(,)$repeat(word ,%rating%)
(http://img139.imageshack.us/img139/5272/shot00014zr8.th.jpg) (http://img139.imageshack.us/my.php?image=shot00014zr8.jpg)
try only $imageabs(12,12,data\misc images\rate3.png,)
$imageabs(12,12,data\misc images\rate3.png,)
while "Data" is in folder "Foobar2000" (together with exe) ...(http://img219.imageshack.us/img219/1365/shot00014wu7.th.jpg) (http://img219.imageshack.us/my.php?image=shot00014wu7.jpg)
is foobar installed to your local hard drive or are you running it over a network?
I will look into the font problem. I use wide chars internally, and there might be a bug when converting from utf8 to wide chars....
not in a network !!
(I wanna have nice pix, too ...)
when it wil be released?
I actually ended up uploading it after that last post.
Sorry
I was confused because of
Latest Version: 08-01-06 1:30
This post has been edited by terrestrial: Aug 1 2006, 10:37
The last upload time is incorrect, terrestrial uploaded a new on the 14th or 16th of august, dont remember, but it was only some days ago.
Questions:
1.) If i change from old trackinfo to this one, i will loose my existing settings i made with it?
2.) After i change back to old trackinfo, i will get my settings back again?
((((( Strictly4me )))))
I believe you can use the two at the same time if you want, AFAIK they both use completely different configs.
Ah, ok! I will give it a try ... thanks!
((((( Strictly4me )))))
My window for test:
(http://home.arcor.de/strictly2me//Foo_Glasswindow.png)
How about possibility images to fit in panel, like in albumart? Would be great! - Not?
((((( Strictly4me )))))
this looks so awesome!!
Your a genius strictly4me
I can't get any images to show up. I am using this code:
$imageabs(12,12,images\title-anukis.png,)
Where the images directory is in the foobar folder.
My window for test:
(http://home.arcor.de/strictly2me//Foo_Glasswindow.png)
How about possibility images to fit in panel, like in albumart? Would be great! - Not?
((((( Strictly4me )))))
Could you please share the code of the glass window you've made?
I can't get any images to show up. I am using this code:
$imageabs(12,12,images\title-anukis.png,)
Where the images directory is in the foobar folder.
Same here.Whats the problem?
If you have problems getting images to work, please try this (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod_dbg.zip) version, and take a look at the console for information.
If you have problems getting images to work, please try this (http://users.bowie-cass.com/singa/foo_uie_trackinfo_mod_dbg.zip) version, and take a look at the console for information.
Here's my code:
$imageabs(12,12,images\button-small.png,)
Here's what i get in the console:
[19:41:31] Error loading: E:\Documents and Settings\Russel\Application Data\foobar2000\images\button-small.png
[19:41:31] Startup time : 0:00.526118
[19:42:06] Error loading: E:\Documents and Settings\Russel\Application Data\foobar2000\images\button-small.png
The png image is located in the foobar2000\images\ ,i don't know why the component trying to find it
in the "application data" folder.Or am i doing something wrong?
It uses the profile directory, so if you have "Enable User Profile Support" in preferences the base directory will by your profile directory instead of the foobar install directory.
It uses the profile directory, so if you have "Enable User Profile Support" in preferences the base directory will by your profile directory instead of the foobar install directory.
Thank you for clearing things out,and for this component ofcourse
Ok, I moved the images directory into "C:\Documents and Settings\User Name\Application Data\foobar2000\" and everything works now after closing and reopening Foobar.
Is there a way to align images in the top right corner?
Hi everybody, would someone create a page on the wiki to detail every function of this panel or did I miss anything about a list for functions available with this plugin?
For the moment, a lot of things are already spread in the six first pages and as this topic is likely to have dozens of pages, creating a page on the wiki would be nice .
When I will have some time, I will try to see how this plugin works, but I have already seen very lovely things.
For the moment, a lot of things are already spread in the six first pages and as this topic is likely to have dozens of pages, creating a page on the wiki would be nice .
...and there are several trackinfo panel threads and already 4 trackinfo panels as far as I know. I'd appreciate a help tab as in foo_uie_quicksearch.
Most of the commands are described in the read me file available with the mod. I am working on a wiki page but I need to get editing rights first
Also:
Does anyone know how to make commas in album names work? I use $imageabs(0,0,\images\covers\%album%.png,) to find the cover, so obviously if there's a comma in the name of the album then it cuts off early and looks for a non-existant image with the cut-off name and doesn't find it. Also, colons create a 0kb file called "stuff before colon" and then there's no cover image, but I think that might be the album downloader program.
Most of the commands are described in the read me file available with the mod. I am working on a wiki page but I need to get editing rights first
It was lacking an information of which image file formats are supported, for example. BTW I think having all necessary information in place would be more helpful. Foobar users waste a lot of time searching for detailed information in forums, wiki pages... ...
It can be quite painful.
Foobar with glasswindowNormal view:(http://img244.imageshack.us/img244/9271/nolayertd6.png)
View with one layer (glass.png) for glasseffect:(http://img81.imageshack.us/img81/2286/layerglassey5.png)
The same, but with one layer more (light.png) for lightingeffect:
(http://img84.imageshack.us/img84/7200/layerlightgb5.png)
Layers
has to be in following order:
1.) Text (valuecode)
2.) Layer (glass.png)
3.) Layer (light.png)By example for left window in third screenshot:
1.) Text (valuecode)$alignabs(center,middle)
$transition($if(%_time_remaining%,%_time_remaining%,0:00),$rgb(255,255,255),$rgb(100,100,100))
$align(right,middle)
$font(Arial Unicode MS,16,bold,255-0-0)▼
2.) Layer (glass.png) $imageabs(-8,-10,image_back\glass.png,)
3.) Layer (light.png) $imageabs(-8,-12,image_back\light.png,)
Enjoy!
Download Layers (http://home.arcor.de/strictly2me//layer.zip)
Completely screenshot with new layers (http://img245.imageshack.us/img245/9320/foowithlayersru7.png)
((((( Strictly4me )))))
Wiki Page (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29)
@strictly4me, you missed something out in your code, it shows only the remaining time.
The Wiki page says .NET is required, although you just need the C++ runtime components. Link (http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en)
@strictly4me, you missed something out in your code, it shows only the remaining time.
Yes because:
By example for left window in third screenshot:
For the
right window, i think you will find by yourself. - Not?
EDIT: Ok,here the codes for
right window:
1.) Text (valuecode)$alignabs(center,middle)
$transition($if(%_time_elapsed%,%_time_elapsed%,0:00),$rgb(255,255,255),$rgb(100,100,100))
$align(right,middle)
$font(Arial Unicode MS,16,bold,255-0-0)?
2.) Layer (glass.png) $imageabs(-8,-10,image_back\glass.png,)
3.) Layer (light.png) $imageabs(-8,-12,image_back\light.png,)
((((( Strictly4me )))))
Is it possible to add an image without the need for it to be in the image folder of foobar? That way i could include the cover of the music i am listening to into track info panel mod. It would permit some extrem skins ....
At the moment the images have to be relative to the foobar directory.
You can put your image everywhere you want, but trackinfo can't change the images by itself, i think. Better way to make it, using album art panel!
EDIT: At the moment the images have to be relative to the foobar directory.
Ok, i didn't know that!
((((( Strictly4me )))))
You can put your image everywhere you want, but trackinfo can't change the images by itself, i think. Better way to make it, using album art panel!
EDIT:
At the moment the images have to be relative to the foobar directory.
Ok, i didn't know that!
((((( Strictly4me )))))
Thanks to both of you for the reply, i ll stick to album art panel
Wiki Page (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29)
Great "Sub-"Project ...!!
(If I only had have such a wikki by the hand ...earlier ...)
Are you gonna add Info about:
$font / Options : - "
glow-" and "
shadow" and a note, that all of them can be combined (e.g. "
bolditalicunderlineglow-" )
$alignabs :- A note, that
x and
y also can be
negative $imageabs :- A note, that
only pngs are supported, yet.
- A note that following text has to be "
$align"ed
- In addition to your existing note about the image-path, a concrete example (e.g.
$imageabs(0,0,your folder\your subfolder\your_pic.png,) )
General: -
#SHADE# and
#LINEHEIGHT,n#-
$alignset() and
$alignrel(,)...??
Wiki Page (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29)
Great "Sub-"Project ...!!
(If I only had have such a wikki by the hand ...earlier ...)
You gonna add Info about:
$font / Options :
- "glow-" and "shadow" and a note, that all of them can be combined (e.g. "bolditalicunderlineglow-" )
$alignabs :
- A note, that x and y also can be negative
$imageabs :
- A note, that only pngs are supported, yet.
- A note that following text has to be "$align"ed
- In addition to your existing note about the image-path, a concrete example (e.g. $imageabs(0,0,your folder\your subfolder\your_pic.png,) )
General:
- #SHADE# and #LINEHEIGHT,n#
- $alignset() and $alignrel(,)
...??
Why don't you add them yourself? Thats the beauty of a wiki
Why don't you add them yourself? ...
... Something you can think about !! 1. I dont think my english is that well and so I m unsure in using it ...!!
2. Nevetheless, I tried. -But it seems to be locked !!
But thanks for your interest ...!!
I'll add the details today.
- add support for %_system_*% variables (time and date) to make natural language timestamps (http://www.hydrogenaudio.org/forums/index.php?showtopic=45282) working
This suggestion is obsolete, because of foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606).
Is it possible to use an external source for fonts than the ones on your system ?
- #SHADE# and #LINEHEIGHT,n#
- $alignset() and $alignrel(,)
What do these do specifically? How are they applied etc.?
*I wish there was a comprehensive wiki page for each component*
Very nice plugin you made there, but it would be nice if one could also resize the image. For example like this: $imageabs(0,0,test.png,100,100) where the last two parameters are width and height.
Very nice plugin you made there, but it would be nice if one could also resize the image. For example like this: $imageabs(0,0,test.png,100,100) where the last two parameters are width and height.
Especially if you could use % width of panel so that an image always covers 100% of the panel for instance.
Why don't you add them yourself? ...
... Something you can think about !!
1. I dont think my english is that well and so I m unsure in using it ...!!
2. Nevetheless, I tried. -But it seems to be locked !!
But thanks for your interest ...!!
1. I wouldn't worry about the english. Even if you add something wrong someone with better english skills can correct it later. The important thing is to add information.
2. See the section "to contribute content" in the wiki's main page (http://wiki.hydrogenaudio.org/). Jan (http://www.hydrogenaudio.org/forums/index.php?showuser=21) can validate your user so you can contribute content.
Just for we Brits, could you get the plugin to recognise 'centre' as well as 'center'?
I just spent a while head scratching as to why a bit of code wasn't working, then realised it came down to American spelling.
Just for we Brits, could you get the plugin to recognise 'centre' as well as 'center'?
I just spent a while head scratching as to why a bit of code wasn't working, then realised it came down to American spelling.
center is the common spelling for non-english speakers. Even if in french the verb is "centrer".
center is the common spelling for non-english speakers. Even if in french the verb is "centrer".
I'm not saying replace 'center'. It wouldn't be too hard to get it to recognise both spellings.
- add support for %_system_*% variables (time and date) to make natural language timestamps (http://www.hydrogenaudio.org/forums/index.php?showtopic=45282) working
This suggestion is obsolete, because of foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606).
Not quite,because the value of fields like %cwb_systemdatetime% doesn't update in the trackinfo mod
untill the second you start playing a track (it does in a usual trackinfo panel).
Just for we Brits, could you get the plugin to recognise 'centre' as well as 'center'?
I just spent a while head scratching as to why a bit of code wasn't working, then realised it came down to American spelling.
I had the same problem with colour-color
- add support for %_system_*% variables (time and date) to make natural language timestamps (http://www.hydrogenaudio.org/forums/index.php?showtopic=45282) working
This suggestion is obsolete, because of foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606).
Not quite,because the value of fields like %cwb_systemdatetime% doesn't update in the trackinfo mod
untill the second you start playing a track (it does in a usual trackinfo panel).
Hmmm... it doesn't really matter in case of natural language timestamps (http://www.hydrogenaudio.org/forums/index.php?showtopic=45282), I think, because it doesn't need those variables to constatntly update during playback.
Hmmm... it doesn't really matter in case of natural language timestamps, I think, because it doesn't need those variables to constatntly update during playback. smile.gif
Well maybe,but i need them
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 04A727AFh
Access violation, operation: read, address: 00000002h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (04A727AFh):
04A7276Fh: 00 00 51 8D 94 24 80 02 00 00 52 D1 F8 8D 44 45
04A7277Fh: 00 68 24 7D AA 04 50 FF D6 8B C5 83 C4 18 8D 50
04A7278Fh: 02 66 8B 08 83 C0 02 66 85 C9 75 F5 2B C2 D1 F8
04A7279Fh: 8D 6C 45 00 EB 07 66 89 45 00 83 C5 02 83 C3 02
04A727AFh: 66 83 3B 00 0F 85 0B FD FF FF 5F 5E 8B 8C 24 34
04A727BFh: 03 00 00 66 C7 45 00 00 00 5D 5B 33 CC E8 9D F6
04A727CFh: 02 00 81 C4 30 03 00 00 C3 CC CC CC CC CC CC CC
04A727DFh: CC 55 8B EC 83 E4 F8 6A FF 68 98 36 AA 04 64 A1
Stack (0012EED4h):
0012EEB4h: 00000000 00B6D2DB 000001E1 0000029B
0012EEC4h: 00000000 F1A35B68 F1A35BDC F1A35D38
0012EED4h: 05ED1C40 018B6D74 0012F348 018B6CF8
0012EEE4h: 013B1198 77F49037 05ED1F64 00340031
0012EEF4h: 0030002D 0030002D 002D0000 00340032
0012EF04h: 00000034 00491256 05ED1388 000001E0
0012EF14h: 055315F0 0049128D 82846002 000001B5
0012EF24h: 00000000 013B8108 018B0000 0012F008
0012EF34h: 00000000 77F844CB 05530EB0 77F48BCD
0012EF44h: 003B06E8 77F49037 00000000 05530EB8
0012EF54h: 05530EB8 05ED1390 0012F034 00000000
0012EF64h: 77F844CB 068511F0 77F48BCD 003B0778
0012EF74h: 77F49037 00000000 068511F8 00000000
0012EF84h: 0012EF60 000101AF 003B0000 0012EEEC
0012EF94h: 8313A94A 0012EFD8 77F988F0 77F41C88
0012EFA4h: FFFFFFFF 77F49037 00490FED 003B0000
0012EFB4h: 00000000 00490000 828460A6 00000000
0012EFC4h: 0012F02C 055315F0 05ED1390 0012EFBC
0012EFD4h: 00000002 00000010 004945C0 82DAC78E
0012EFE4h: FFFFFFFE 0001100C 003B0000 0012EF4C
Registers:
EAX: 00000010, EBX: 00000002, ECX: 00000000, EDX: 05ED3052
ESI: 77D1F8BC, EDI: 00000000, EBP: 05ED3070, ESP: 0012EED4
Crash location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Loaded modules:
foobar2000 loaded at 00400000h - 004F0000h
ntdll loaded at 77F40000h - 77FEE000h
kernel32 loaded at 77E40000h - 77F38000h
COMCTL32 loaded at 78090000h - 78175000h
msvcrt loaded at 77BE0000h - 77C33000h
GDI32 loaded at 7F000000h - 7F041000h
USER32 loaded at 77D10000h - 77D9D000h
ADVAPI32 loaded at 77DA0000h - 77E3C000h
RPCRT4 loaded at 78000000h - 78087000h
SHLWAPI loaded at 70A70000h - 70AD6000h
SHELL32 loaded at 004F0000h - 00CF4000h
ole32 loaded at 4FEC0000h - 4FFF6000h
shared loaded at 10000000h - 1002A000h
comdlg32 loaded at 76350000h - 76396000h
uxtheme loaded at 5AD70000h - 5ADA4000h
foo_abx loaded at 003C0000h - 003F3000h
foo_AdvancedControls loaded at 01250000h - 01280000h
foo_albumlist loaded at 01290000h - 012D1000h
foo_cdda loaded at 01300000h - 01336000h
foo_common loaded at 01360000h - 0139A000h
foo_converter loaded at 013C0000h - 01429000h
foo_cwb_hooks loaded at 01450000h - 01478000h
foo_dbsearch loaded at 014A0000h - 014FC000h
foo_dsp_std loaded at 01520000h - 01561000h
foo_freedb2 loaded at 01590000h - 015D0000h
foo_input_shorten loaded at 015F0000h - 0161E000h
foo_input_std loaded at 01640000h - 0174A000h
foo_lnk loaded at 01770000h - 01789000h
foo_lock_ex loaded at 017B0000h - 017C9000h
foo_lyricsdb loaded at 017E0000h - 017FE000h
OLEAUT32 loaded at 770F0000h - 7717B000h
MSVCP80 loaded at 7C420000h - 7C4A7000h
MSVCR80 loaded at 01810000h - 018AB000h
WININET loaded at 63000000h - 63097000h
CRYPT32 loaded at 76260000h - 762E9000h
MSASN1 loaded at 76240000h - 76250000h
foo_managedWrapper loaded at 01970000h - 01A12000h
mscoree loaded at 79000000h - 79045000h
msvcm80 loaded at 7C4C0000h - 7C53D000h
mscorwks loaded at 79E70000h - 7A3D1000h
mscorlib.ni loaded at 790C0000h - 79BA8000h
mscorjit loaded at 79060000h - 790B3000h
rsaenh loaded at 0FFD0000h - 0FFF3000h
System.ni loaded at 7A440000h - 7ABFE000h
System.Drawing.ni loaded at 7ADE0000h - 7AF74000h
System.Windows.Forms.ni loaded at 7AFD0000h - 7BC56000h
dotnet_title loaded at 11000000h - 11014000h
gdiplus loaded at 70D00000h - 70E91000h
foo_masstag loaded at 04320000h - 04370000h
foo_playcount loaded at 04490000h - 044A4000h
foo_playlist_manager loaded at 044C0000h - 04506000h
foo_pqview loaded at 04530000h - 0454C000h
foo_random loaded at 04570000h - 045AF000h
foo_rgscan loaded at 045D0000h - 04615000h
foo_run loaded at 04640000h - 0466B000h
foo_sic loaded at 04690000h - 046E0000h
WS2_32 loaded at 71A10000h - 71A25000h
WS2HELP loaded at 71A00000h - 71A08000h
foo_tradersfriend loaded at 04700000h - 0473D000h
foo_uie_albumart loaded at 04760000h - 04792000h
foo_uie_albumlist loaded at 047C0000h - 047FF000h
foo_uie_console loaded at 04820000h - 0483C000h
foo_uie_explorer loaded at 04860000h - 0489C000h
foo_uie_lyrics loaded at 048C0000h - 0491E000h
WINMM loaded at 76AF0000h - 76B1D000h
foo_uie_playlists_dropdown loaded at 049C0000h - 049FA000h
foo_uie_tabs loaded at 04A20000h - 04A46000h
foo_uie_trackinfo_mod loaded at 04A70000h - 04AB2000h
foo_ui_std loaded at 04AD0000h - 04B27000h
foo_unpack loaded at 04B50000h - 04B7E000h
foo_utils loaded at 04BA0000h - 04BD9000h
foo_version loaded at 04C00000h - 04C26000h
dbghelp loaded at 6DA00000h - 6DA7D000h
VERSION loaded at 77BD0000h - 77BD7000h
foo_vis_projectM loaded at 04D50000h - 04DC1000h
OPENGL32 loaded at 5F0D0000h - 5F196000h
GLU32 loaded at 68FC0000h - 68FDE000h
DDRAW loaded at 51000000h - 51050000h
DCIMAN32 loaded at 73B30000h - 73B36000h
foo_alarm loaded at 052F0000h - 05316000h
foo_trackfinder loaded at 05340000h - 05366000h
foo_uie_trackinfo loaded at 05390000h - 053BE000h
foo_ui_columns loaded at 053D0000h - 0546B000h
CLBCATQ loaded at 05690000h - 05711000h
COMRes loaded at 77010000h - 770E3000h
System.Xml.ni loaded at 69BE0000h - 6A148000h
DSOUND loaded at 51080000h - 510E1000h
wdmaud loaded at 72C90000h - 72C99000h
msacm32 loaded at 72C80000h - 72C88000h
MSACM32 loaded at 77BB0000h - 77BC4000h
midimap loaded at 77BA0000h - 77BA7000h
KsUser loaded at 5EF80000h - 5EF84000h
imagehlp loaded at 76C50000h - 76C72000h
Stack dump analysis:
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 00491256h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049128Dh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F844CBh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlRemoteCall" (+000001E1h)
Address: 77F48BCDh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+0000018Fh)
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 77F844CBh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlRemoteCall" (+000001E1h)
Address: 77F48BCDh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+0000018Fh)
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77F41C88h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 00490FEDh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00490000h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004945C0h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 00490FEDh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F48497h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+000008E9h)
Address: 77F47F98h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+000003EAh)
Address: 77F48A3Ah, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+00000E8Ch)
Address: 00490FEDh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049100Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040369Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004945C0h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049100Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00461244h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004A7861h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00460B1Dh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00460B2Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F844CBh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlRemoteCall" (+000001E1h)
Address: 77F48BCDh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+0000018Fh)
Address: 77F49037h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+000005F9h)
Address: 004DBE00h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004DFA1Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BEE94h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 01470FC4h, location: "foo_cwb_hooks", loaded at 01450000h - 01478000h
Address: 0053004Dh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+00000957h)
Address: 00530020h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+0000092Ah)
Address: 00650068h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+00038174h)
Address: 006C006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0003ABA7h)
Address: 00440020h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0067006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "ShellHookProc" (+0000CAE2h)
Address: 0043F4F7h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 01814B9Fh, location: "MSVCR80", loaded at 01810000h - 018AB000h
Symbol: "free" (+000000CDh)
Address: 04A75366h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D1F95Bh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "wsprintfW" (+0000009Fh)
Address: 77D1FA3Bh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "wsprintfW" (+0000017Fh)
Address: 04A72D8Eh, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 0053004Dh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+00000957h)
Address: 00530020h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+0000092Ah)
Address: 00650068h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+00038174h)
Address: 006C006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0003ABA7h)
Address: 00440020h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0067006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "ShellHookProc" (+0000CAE2h)
Address: 77D1A77Dh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsWindowVisible" (+00000022h)
Address: 77D19F87h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "EndPaint" (+0000000Ch)
Address: 780C3631h, location: "COMCTL32", loaded at 78090000h - 78175000h
Symbol: "Ordinal384" (+0000E6F5h)
Address: 04AA7FF8h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3698h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A723C5h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18654h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006498h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18723h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006567h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D18740h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006584h)
Address: 77D19153h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "PostMessageA" (+000000ADh)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D19168h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "PostMessageA" (+000000C2h)
Address: 77D19196h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "PostMessageA" (+000000F0h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77F65DA3h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "KiUserCallbackDispatcher" (+00000013h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D19106h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "PostMessageA" (+00000060h)
Address: 77D18DF1h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "KillTimer" (+0000001Bh)
Address: 77D19FA9h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "InvalidateRect" (+0000001Fh)
Address: 77D18637h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+0000647Bh)
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D189C0h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetMessageW" (+0000014Ch)
Address: 77D18A12h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DispatchMessageW" (+0000000Bh)
Address: 77D1E6E9h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CallMsgFilterW" (+0000020Ah)
Address: 00B6D2DBh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 77D23E2Ah, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DrawFocusRect" (+000013CAh)
Address: 77D23E65h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DialogBoxIndirectParamAorW" (+00000034h)
Address: 04A70000h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AAE0A0h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A77990h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D26C80h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DialogBoxParamW" (+0000003Dh)
Address: 04A70000h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AAE0A0h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A77990h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72165h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A70000h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A77990h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 0053004Dh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+00000957h)
Address: 00530020h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal702" (+0000092Ah)
Address: 00650068h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+00038174h)
Address: 006C006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0003ABA7h)
Address: 00440020h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0067006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "ShellHookProc" (+0000CAE2h)
Address: 04AA7FF8h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3578h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A74C6Eh, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA8088h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3518h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72AEBh, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D22314h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DefDlgProcW" (+00000000h)
Address: 77D18723h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006567h)
Address: 77D18737h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+0000657Bh)
Address: 77F48BCDh, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlFreeHeap" (+0000018Fh)
Address: 77D1883Fh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006683h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D0Bh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D18D14h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3698h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D18h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000038h)
Address: 04A723C5h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18654h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006498h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18723h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006567h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D18740h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006584h)
Address: 77D1BD1Fh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "EnableWindow" (+0000011Dh)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D1A586h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DefWindowProcW" (+000000B0h)
Address: 77D1A52Dh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DefWindowProcW" (+00000057h)
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D1A548h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DefWindowProcW" (+00000072h)
Address: 04A7313Dh, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 0541136Eh, location: "foo_ui_columns", loaded at 053D0000h - 0546B000h
Address: 77D1883Fh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006683h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D0Bh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D18D14h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3698h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D18h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000038h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A723C5h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D1883Fh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006683h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D0Bh, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D18D14h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04AA3698h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18D18h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetWindowLongW" (+00000038h)
Address: 04A723C5h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18654h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006498h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D18723h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006567h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D18740h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "IsCharAlphaNumericA" (+00006584h)
Address: 77D18999h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetMessageW" (+00000125h)
Address: 04A72380h, location: "foo_uie_trackinfo_mod", loaded at 04A70000h - 04AB2000h
Address: 77D45602h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "CreateAcceleratorTableA" (+00000314h)
Address: 77D189C0h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "GetMessageW" (+0000014Ch)
Address: 77D18A12h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DispatchMessageW" (+0000000Bh)
Address: 0042EBC5h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77D1D185h, location: "USER32", loaded at 77D10000h - 77D9D000h
Symbol: "DestroyWindow" (+00000000h)
Address: 00B6B197h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 0042F6FBh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BD3D0h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77F43870h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Address: 004C45A4h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004C4588h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F844A8h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlRemoteCall" (+000001BEh)
Address: 77F47F98h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+000003EAh)
Address: 77F48A3Ah, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+00000E8Ch)
Address: 77F844A8h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlRemoteCall" (+000001BEh)
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77F48497h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+000008E9h)
Address: 77F47F98h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+000003EAh)
Address: 77F48A3Ah, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+00000E8Ch)
Address: 004E1158h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004B19D4h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F7E3C3h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlReAllocateHeap" (+00000D7Bh)
Address: 77F7E3C3h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlReAllocateHeap" (+00000D7Bh)
Address: 0044005Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 006B006Fh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0002ABAAh)
Address: 006D0075h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 00650074h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+00038180h)
Address: 00750020h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 0064006Eh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+0002817Ah)
Address: 00450020h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00740073h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 006C0065h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0003ABA0h)
Address: 0075006Ch, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 0067006Eh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "ShellHookProc" (+0000CAE4h)
Address: 0048005Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00690065h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal712" (+0000ABA0h)
Address: 007A006Eh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 004C0020h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0061004Dh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "SHFindFiles" (+0000002Ah)
Address: 0041005Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0077006Eh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 00750064h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 0067006Eh, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "ShellHookProc" (+0000CAE4h)
Address: 00640073h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Symbol: "Ordinal7" (+0002817Fh)
Address: 00740061h, location: "SHELL32", loaded at 004F0000h - 00CF4000h
Address: 77F85769h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlLogStackBackTrace" (+0000011Fh)
Address: 004E104Ch, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 77F988F0h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "wcstombs" (+00003409h)
Address: 77F41C78h, location: "ntdll", loaded at 77F40000h - 77FEE000h
Address: 77F48A3Ah, location: "ntdll", loaded at 77F40000h - 77FEE000h
Symbol: "RtlAllocateHeap" (+00000E8Ch)
Address: 0049147Dh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004E11D8h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0044CAEBh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040C796h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0040369Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0049423Ah, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BD528h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 10002D97h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000B7h)
Address: 004BD528h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004AC7DAh, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 004BD528h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 0042F8E7h, location: "foobar2000", loaded at 00400000h - 004F0000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F0000h
Version info:
foobar2000 v0.9.3.1
UNICODE
Additional info:
Album list panel 0.2.1 beta 4 (foo_uie_albumlist)
Shorten decoder 0.4.2a (foo_input_shorten)
ZIP/GZIP reader 1.0 (foo_unpack)
Track Finder 2.1.1 [Jun 16 2006 - 12:36:15] (foo_trackfinder)
Components versions viewer 0.3 (foo_version)
Pause on Lock (extended) 1.0 (foo_lock_ex)
Database search 1.3.1 beta 11 (foo_dbsearch)
Randomized playlist entry 1.2.3 (foo_random)
Converter 1.0.1 (foo_converter)
projectM visualization 1.97.6.2 (foo_vis_projectM)
Live show tagger 0.6.1 (foo_tradersfriend)
Standard DSP array 1.0 (foo_dsp_std)
Play Count 1.9.2 (foo_playcount)
Playlist tools 0.5.7 (foo_utils)
Standard Input Array 1.0 (foo_input_std)
CD Audio Decoder 2.1.1 (foo_cdda)
Lyric Show Panels 0.3.0.0 (foo_uie_lyrics)
Track info panel mod 0.5 beta [Aug 17 2006 - 14:29:02] (foo_uie_trackinfo_mod)
Tabbed panel modifyed 0.2.1 (foo_uie_tabs)
RAR reader 1.1 (foo_unpack)
Run services 0.3.2 (foo_run)
foosic music database 1.0 beta 9 (foo_sic)
Console panel 0.2 (foo_uie_console)
Playlists Dropdown 0.5.7.5 (foo_uie_playlists_dropdown)
foo_managedWrapper 0.3 (foo_managedWrapper)
Default User Interface 0.9acc (foo_ui_std)
Shell link resolver 1.1 (foo_lnk)
cwbowron's title format hooks 1.0.4 [Aug 18 2006 - 08:43:50] (foo_cwb_hooks)
Columns UI 0.1.3 beta 1v5 (foo_ui_columns)
ReplayGain Scanner 2.0.2 (foo_rgscan)
Album Art Panel 0.2.1 (foo_uie_albumart)
Common services 0.1 (foo_common)
Track info panel 0.8.1 (foo_uie_trackinfo)
Masstagger 1.6 (foo_masstag)
Album List 3.2.0 (foo_albumlist)
FooBar2000 Advanced Controls 0.5.9.0 (foo_AdvancedControls)
freedb tagger v0.5.1 (foo_freedb2)
foo_lyricsdb 0.0.7 beta 4 (foo_lyricsdb)
FLAC decoder 1.1.0 (foo_input_std)
Alarm 1.05 (foo_alarm)
Explorer Tree 1.04.6b (foo_uie_explorer)
ABX comparator 1.3 (foo_abx)
Playlist Manager 1.0 (foo_playlist_manager)
I would like to repeat the question, where there is the difference between "old" trackinfo and this trackinfo_mod in case of the following code:
//Set 1st colour
$puts(color1,$rgb(250,250,250))
//Set 2nd colour
$puts(color2,$rgb(0,0,0))
//Set marker colour
$puts(marker_color,$rgb(100,100,100))
//Set length
$puts(length,40)
//Set symbol
$puts(symbol,█)
//******************************************************************
$puts(percent,$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%))
$puts(progress,$muldiv($get(length),$get(percent),100))
$puts(bottom,$transition($repeat($get(symbol),$get(length)),$get(color1),$get(color2)))
$puts(top,$transition($repeat($get(symbol),$get(length)),$get(color2),$get(color1)))
$puts(a,$div($len2($get(top)),$get(length)))
$puts(pos,$add(2,$mul($get(a),$sub($get(length),$get(progress)))))
$puts(pos1,$add(2,$mul($get(a),$get(progress))))
$right($get(top),$get(pos1))
$get(marker_color)$get(symbol)
$left($get(bottom),$get(pos))
One thing I allready noticed by myself:
- In "old" panel it works while "..._mod" panel crashes foobar as soon as I aply "update every second" ...
I modify Lite code next way. That make natural language timestamps working with using foo_cwb_hooks.
/////////////////////////////////////////
// NATURAL LANGUAGE TIMESTAMPS
// by topdownjimmy
// v0.4 - June 4, 2006
/////////////////////////////////////////
// calculate "dayssince": number of days since song was last played
$puts(sy,$substr(%cwb_systemdate%,1,4))
$puts(sm,$substr(%cwb_systemdate%,6,7))
$puts(sd,$substr(%cwb_systemdate%,9,10))
$puts(sh,$substr(%cwb_systemdatetime%,12,13))
// calculate "dayssince": number of days since song was last played
$if(%last_played%,$puts(dayssince,$sub($add($mul($right(
$get(sy),2),365),$select(
$get(sm),0,31,59,90,120,151,181,212,243,273,304,334),$add($div($right(
$get(sy),2),4),$if($or($greater(
$get(sm),2),$greater($mod(
$get(sy),4),0)),1,0)),
$get(sd)),$add($mul($substr(%last_played%,3,4),365),$select($substr(%last_played%,6,7),0,31,59,90,120,151,181,212,243,273,304,334),$add($div($substr(%last_played%,3,4),4),$if($or($greater($substr(%last_played%,6,7),2),$greater($mod($substr(%last_played%,1,4),4),0)),1,0)),$substr(%last_played%,9,10)))),$puts(dayssince,))
// correct "dayssince" to consider early AM to be an extension of previous day
$puts(dayssince,$sub($get(dayssince),$if($and($greater(7,
$get(sh)),$greater($substr(%last_played%,12,13),6)),1,0)))$if($and($greater(
$get(sh),6),$greater(7,$substr(%last_played%,12,13))),$puts(dayssince,$add($get(dayssince),1)),)
// calculate day of week
$puts(calcdayofweek,$add(1,$mod($add($substr(%last_played%,3,4),$div($substr(%last_played%,3,4),4),$select($substr(%last_played%,6,7),6,2,2,5,0,3,5,1,4,6,2,4),$substr(%last_played%,9,10)),7)))
// correct day of week to consider early AM to be an extension of previous day
$puts(calcdayofweek,$sub($get(calcdayofweek),$ifgreater(7,$substr(%last_played%,12,13),1,0)))$if($strcmp($get(calcdayofweek),0),$puts(calcdayofweek,7),)
// calculate period of day (night, morning, etc.)
$puts(dayperiod,$select($add(1,$substr(%last_played% ,12,13)),Night,Night,Night,Night,Night,Night,Night,Morning,Morning,Morning,Morning,Morning,Afternoon
,Afternoon,Afternoon,Afternoon,Afternoon,Evening,Evening,Evening,Evening,Night,Night,Night))
// calculate natural language timestamp
$if(%last_played%,$puts(nat_lang_stamp,$ifgreater($get(dayssince),0,$ifgreater($get(dayssince),1,$ifgreater($get(dayssince),6,$if($and($greater($get(dayssince),21),$not($strcmp(
$get(sm),$substr(%last_played%,6,7)))),$if($not($strcmp(
$get(sy),$substr(%last_played%,1,4))),$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December)' '$substr(%last_played%,1,4),$ifgreater(2,$sub(
$get(sm),$substr(%last_played%,6,7)),'Last Month',$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December))),$ifgreater($div($add($get(dayssince),4),7),1,$div($add($get(dayssince),4),7)' Weeks Ago',Last Week)),$select($get(calcdayofweek),Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)' '$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Last,Yesterday)' '$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Tonight,This $get(dayperiod)))),$puts(nat_lang_stamp,Never))
/////////////////////////////////////////
$alignabs(right,top)
$font(arial,8,bold,255-255-128)
Date: %cwb_systemdate%
$char(10)
//Codded by Lite
// User config
// ----------------------------------------------------------
// Toggles
$puts(show_trackinfo_mode,1)
$puts(show_song_info,1)
$puts(show_tech_info,1)
$puts(show_play_info,1)
$puts(show_audioscrobblered,1)
$puts(show_progressbar,1)
//Trackinfo view
// 1 - View 1
// 2 - View 2
$puts(trackinfo_view,1)
// Color Config
// 1 - Soundtrack to Your Escape background: 16,40,46
// 2 - Reroute to Remain background: 229,232,231
// 3 - Sandman2012 background: 255,255,255
// 4 - Draconian Times background: 129,52,65
// 5 - Since the Day It All Came Down background: 246,248,245
// 6 - Tales from the Thousand Lakes background: 35,22,89
// 7 - Projector background: 0,0,0
// 8 - The Astral Sleep background: 134,107,76
// 9 - Verisakeet background: 64,76,61
// 10 - Haunted background: 0,0,16
// 11 - Ghost Reveries background: 29,20,15
// 12 - Rain Without End background: 34,27,67
// 13 - Arte Novecento background: 240,240,240
// 14 - Ghosts of Loss background: 87,111,117
// 15 - The Truth Inside the Shades background: 16,20,23
// 16 - 00 Void background: 167,167,177
// 17 - Antimatter background: 0,0,0
// 18 - Frail Words Collapse background: 202,184,122
// 19 - Am Universum background: 204,201,124
// 20 - Character background: 228,226,227
// 21 - From Mars to Sirius background: 239,233,221
// 22 - Voice of Wilderness background: 169,169,159
// 23 - Blue Sky by Lite background: 140,140,202
// 99 - Custom config
$puts(color_config,23)
// Custom color scheme
$puts(cc_text1,$rgb(70,07,16))
$puts(cc_text2,$rgb(10,10,10))
$puts(cc_section_title,$rgb(25,20,26))
$puts(cc_fade_inside,$rgb(10,27,26))
$puts(cc_fade_outside,$rgb(0,0,0))
// ----------------------------------------------------------
// End of user config
// color schemes
$if($strcmp($get(color_config),99),
// User defined scheme
$puts(info,$get(cc_text1))
$puts(head,$get(cc_text2))
$puts(anno,$get(cc_text1))
$puts(text2,$get(cc_section_title))
$puts(text1,$get(cc_fade_inside))
$puts(fadeend,$get(cc_fade_outside))
,
$select($get(color_config),
// Soundtrack to Your Escape
$puts(head,$rgb(170,170,170))
$puts(info,$rgb(170,207,216))
$puts(anno,$rgb(98,114,121))
$puts(text1,$rgb(170,207,216))
$puts(text2,$rgb(255,250,216))
$puts(fadeend,$rgb(0,0,0)),
// Reroute to Remain
$puts(head,$rgb(0,0,0))
$puts(info,$rgb(100,106,102))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(179,181,180))
$puts(text2,$rgb(123,40,48))
$puts(fadeend,$rgb(0,0,0)),
// Sandman2012
$puts(head,$rgb(0,128,192))
$puts(info,$rgb(130,130,130))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(235,242,254))
$puts(text2,$rgb(0,128,64))
$puts(fadeend,$rgb(0,0,0)),
// Draconian Times
$puts(head,$rgb(201,193,146))
$puts(info,$rgb(217,219,206))
$puts(anno,$rgb(217,219,206))
$puts(text1,$rgb(157,51,67))
$puts(text2,$rgb(178,196,200))
$puts(fadeend,$rgb(176,107,68)),
// Since the Day It All Came Down
$puts(head,$rgb(3,46,41))
$puts(info,$rgb(104,104,94))
$puts(anno,$rgb(104,104,94))
$puts(text1,$rgb(76,107,106))
$puts(text2,$rgb(50,85,91))
$puts(fadeend,$rgb(0,0,0)),
// Tales from the Thousand Lakes
$puts(head,$rgb(98,167,162))
$puts(info,$rgb(203,203,210))
$puts(anno,$rgb(203,203,210))
$puts(text1,$rgb(78,112,173))
$puts(text2,$rgb(143,201,234))
$puts(fadeend,$rgb(62,67,171)),
// Projector
$puts(head,$rgb(227,122,76))
$puts(info,$rgb(170,134,98))
$puts(anno,$rgb(170,134,98))
$puts(text1,$rgb(132,55,40))
$puts(text2,$rgb(248,214,134))
$puts(fadeend,$rgb(0,0,0)),
// The Astral Sleep
$puts(head,$rgb(67,45,32))
$puts(info,$rgb(208,204,199))
$puts(anno,$rgb(208,204,199))
$puts(text1,$rgb(103,75,51))
$puts(text2,$rgb(214,200,168))
$puts(fadeend,$rgb(0,0,0)),
// Verisakeet
$puts(head,$rgb(160,146,117))
$puts(info,$rgb(208,194,165))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(113,52,47))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Haunted
$puts(head,$rgb(119,119,136))
$puts(info,$rgb(160,176,184))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(216,88,16))
$puts(text2,$rgb(228,228,232))
$puts(fadeend,$rgb(0,0,0)),
// Ghost Reveries
$puts(head,$rgb(145,113,54))
$puts(info,$rgb(238,219,135))
$puts(anno,$rgb(162,144,88))
$puts(text1,$rgb(172,148,76))
$puts(text2,$rgb(241,238,205))
$puts(fadeend,$rgb(35,27,16)),
// Rain Without End
$puts(head,$rgb(83,119,171))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(194,194,194))
$puts(text1,$rgb(70,102,149))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Arte Novecento
$puts(head,$rgb(122,116,128))
$puts(info,$rgb(115,106,111))
$puts(anno,$rgb(115,106,111))
$puts(text1,$rgb(106,100,128))
$puts(text2,$rgb(130,139,148))
$puts(fadeend,$rgb(122,116,128)),
// Ghosts of Loss
$puts(head,$rgb(151,174,180))
$puts(info,$rgb(197,207,216))
$puts(anno,$rgb(197,207,216))
$puts(text1,$rgb(93,116,122))
$puts(text2,$rgb(237,233,228))
$puts(fadeend,$rgb(0,0,0)),
// The Truth Inside the Shades
$puts(head,$rgb(191,195,168))
$puts(info,$rgb(246,242,155))
$puts(anno,$rgb(246,242,155))
$puts(text1,$rgb(244,163,107))
$puts(text2,$rgb(251,251,251))
$puts(fadeend,$rgb(0,0,0)),
// 00 Void
$puts(head,$rgb(55,54,72))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(145,68,63))
$puts(text2,$rgb(244,241,234))
$puts(fadeend,$rgb(0,0,0)),
// Antimatter
$puts(head,$rgb(107,111,122))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(184,184,184))
$puts(text1,$rgb(206,158,66))
$puts(text2,$rgb(204,204,204))
$puts(fadeend,$rgb(0,0,0)),
// Frail Words Collapse
$puts(head,$rgb(77,40,22))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(187,155,103))
$puts(text2,$rgb(128,83,62))
$puts(fadeend,$rgb(0,0,0)),
// Am Universum
$puts(head,$rgb(122,100,40))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(122,100,40))
$puts(text2,$rgb(107,70,13))
$puts(fadeend,$rgb(235,229,143)),
// Character
$puts(head,$rgb(98,100,97))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(160,66,35))
$puts(text2,$rgb(115,39,23))
$puts(fadeend,$rgb(221,162,88)),
// From Mars to Sirius
$puts(head,$rgb(159,143,127))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(159,143,127))
$puts(text2,$rgb(111,89,66))
$puts(fadeend,$rgb(0,0,0)),
// Voice of Wilderness
$puts(head,$rgb(0,0,4))
$puts(info,$rgb(77,75,63))
$puts(anno,$rgb(77,75,63))
$puts(text1,$rgb(0,0,0))
$puts(text2,$rgb(89,87,71))
$puts(fadeend,$rgb(199,197,181)),
// Blue Sky by Lite
$puts(head,$rgb(250,255,245))
$puts(info,$rgb(224,255,255))
$puts(anno,$rgb(147,112,219))
$puts(text1,$rgb(158,33,145))
$puts(text2,$rgb(18,38,94))
$puts(fadeend,$rgb(140,140,202)),
))
// Day Conversion
$puts(day,$substr(%last_played%,9,10))
$if(%last_played%,
$if($strcmp($left($get(day),1),0),$puts(day,$right($get(day),1))))
$if($strcmp($get(day),11),$puts(xx,th),
$if($strcmp($get(day),12),$puts(xx,th),
$if($strcmp($get(day),13),$puts(xx,th),
$if($strcmp($right($get(day),1),1),$puts(xx,st),
$if($strcmp($right($get(day),1),2),$puts(xx,nd),
$if($strcmp($right($get(day),1),3),$puts(xx,rd),
$puts(xx,th)))))))
// Month Conversion
$puts(month,$substr(%last_played%,6,7))
$puts(month_name,$select($get(month),
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec))
// Year Conversion
$puts(year,20$substr(%last_played%,3,4))
// Time Conversion
$puts(hour,$substr(%last_played%,12,13))
$puts(min,$substr(%last_played%,15,16))
$puts(sec,$substr(%last_played%,18,19))
// Date Format
$puts(time_of_year,$get(month_name) $get(day)$get(xx)',' $get(year))
// Time Format
$puts(time_of_day,$get(hour):$get(min):$get(sec))
// Progress Bar Config
$puts(progbarchar,•)
$puts(proglen,35)
$puts(color1,$get(info))
$puts(color2,$get(anno))
// Separator char1
$puts(sepw,20)
$puts(sepc,••)
// Separator char2
$puts(sepw2,10)
$puts(sepc2,``)
/////////////////////////////////////////////////////////////////
// Trackinfo View 1
/////////////////////////////////////////////////////////////////
$if($strcmp($get(trackinfo_view),1),
$align(left,top)
$font(Lucida,9,shadow,255-255-255)
// Trackinfo mode
$if($strcmp($get(show_trackinfo_mode),1),
$get(head)Mode: $get(info)%_trackinfo_mode%$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Song info
$if($strcmp($get(show_song_info),1),
$get(head)Song Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$get(head)Artist:$get(info)[ %artist%]$char(10)
$get(head)Title:$get(info)[ %title%]$char(10)
$get(head)Album:$get(info)[ %album%] ['('%date%')']$char(10)
$get(head)Track:$get(info)[ %tracknumber%]$char(10)
$get(head)Genre:$get(info)[ %genre%]$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Tech info
$if($strcmp($get(show_tech_info),1),
$get(head)Tech Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$get(head)Codec:$get(info)[ %codec%]$char(10)
$get(head)Bitrate:$get(info) $if($stricmp(%codec%,mp3),%bitrate%$get(head)kbps $if($stricmp(%__extrainfo%,vbr),VBR,CBR),)
$char(10)
$get(head)Samplerate:$get(info) $if(%samplerate%,$div(%samplerate%,1000).$substr(%samplerate%,3,3) KHz)$char(10)
$get(head)Channels:$get(info) $if($stricmp([%codec%],mp3),$caps([%__mp3_stereo_mode%]),$caps([%channels%]))$char(10)
$get(head)$if(%filesize%,Size: $get(info)
$div(%filesize%,1048576).$left($num($muldiv($mod(%filesize%,1048576),100,1048576),2),2) $get(head)'MB',Size:)$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Play info
$if($strcmp($get(show_play_info),1),
$get(head)Play Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%last_played%,$get(head)Last played on $rgb(255,255,128)$get(nat_lang_stamp)$char(10),)
$if(%last_played%,
$if(%play_counter%,$get(head)Track played
$if($strcmp(%play_counter%,1),$get(info)only once,
$if($strcmp(%play_counter%,2),$get(info)twice,
$get(info)%play_counter% times)),
$get(head)Track $get(info)never been played),$get(info)No track)
$char(10)
$get(head)Track time: $get(info)$if(%isplaying%,[ %_time_elapsed% / %length%],[%length%])
$char(10)
// Audioscrobblered?
$if($strcmp($get(show_audioscrobblered),1),
$if(%isplaying%,
$puts(half_length,$div(%_length_seconds%,2))
$ifgreater($get(half_length),%_time_remaining_seconds%,$get(text1)Audioscrobblered$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend)),$transition($repeat($get(sepc),$get(sepw)),$get
(text2),$get(fadeend))),
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))),$transition($repeat($get(sepc),$get(sepw)),$get
(text2),$get(fadeend)))
$char(10)
)
// ----------------------------------------------------------
// Progress bar
$if($strcmp($get(show_progressbar),1),
$if(%_time_total_seconds%,
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglen),
$get(color1)$get(progbarchar),$get(color2)$get(progbarchar))
$get(color1)$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)
' %'),)
/////////////////////////////////////////////////////////////////
// End of Trackinfoview 1
,
$if($strcmp($get(trackinfo_view),0), ,
// ----------------------------------------------------------
/////////////////////////////////////////////////////////////////
// Trackinfo view 2
/////////////////////////////////////////////////////////////////
$if($strcmp($get(trackinfo_view),2),
$font(times,10,shadow,255-255-255)
$align(center,middle)
// Trackinfo mode
$upper($if($strcmp($get(show_trackinfo_mode),1),
$if(%isplaying%,$get(info)%_trackinfo_mode%$char(10),$get(head)%_trackinfo_mode%$char(10))
)
)$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
// ----------------------------------------------------------
// Song info
$if($strcmp($get(show_song_info),1),
$get(head)SONG INFO$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%_trackinfo_notrack%,,
$get(info)[ %title%]$char(10)
$get(head)by$char(10)
$get(info)[ %artist%]$char(10)
$get(head)track #$get(info)[ %tracknumber% ]$get(head)from$char(10)
$get(info)[ %album%] ['('%date%')']$char(10)
$get(info)[ %genre%]$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10))
)
// ----------------------------------------------------------
// Tech info
$if($strcmp($get(show_tech_info),1),
$get(head) TECH INFO $char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%_trackinfo_notrack%,,
$get(info) $if($stricmp(%codec%,mp3),%bitrate%$get(head)kbps $if($stricmp(%__extrainfo%,vbr),VBR,CBR),)$get(info)[ %
codec%]$char(10)
$get(info) $if(%samplerate%,$div(%samplerate%,1000).$substr(%samplerate%,3,3) KHz) $get(info) $if($stricmp([%
codec%],mp3),$caps([%__mp3_stereo_mode%]),$caps([%channels%]))$char(10)
$get(info)
$div(%filesize%,1048576).$left($num($muldiv($mod(%filesize%,1048576),100,1048576),2),2) $get(head)'MB'$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
)
)
// ----------------------------------------------------------
// Play info
$if($strcmp($get(show_play_info),1),
$get(head) PLAY INFO $char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%last_played%,$get(head)Last played on $rgb(255,255,128)$get(nat_lang_stamp)$char(10),)
$if(%last_played%,
$if(%play_counter%,$get(head)Track played
$if($strcmp(%play_counter%,1),$get(info)only once,
$if($strcmp(%play_counter%,2),$get(info)twice,
$get(info)%play_counter% times)),
$get(head)Track $get(info)never been played),$get(info)NO TRACK)
$char(10)
$if(%isplaying%,
$get(info)$if(%isplaying%,[ %_time_elapsed% / %length%],[%length%])
$char(10),
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))
$char(10)
)
)
// Audioscrobblered?
$if($strcmp($get(show_audioscrobblered),1),
$if(%isplaying%,
$puts(half_length,$div(%_length_seconds%,2))
$ifgreater($get(half_length),%_time_remaining_seconds%,$get(text1)Audioscrobblered$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend)) $char(10),
$char(10)
),
),
)
// Progress bar
$if($strcmp($get(show_progressbar),1),
$if(%_time_total_seconds%,
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglen),
$get(color1)$get(progbarchar),$get(color2)$get(progbarchar)) $char(10)
$get(color1)$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)
' %'),)
/////////////////////////////////////////////////////////////////
// End of Trackinfo view 2
, )))
Use this code I see "Last Played" string as (next string is sample)
Last played on This AfternoonScreenshot is
http://img201.imageshack.us/my.php?image=1fk8.jpg (http://img201.imageshack.us/my.php?image=1fk8.jpg)
Sw!ng: I do not see anything in your code that would demand different functions to move it from the original version to the mod version of trackinfo. However you are using quite a few puts/get commands, add that to an update every second and IMO that may be overloading the component. Try rewriting your code without using puts/get and see if that works, I see nothing in your code that would require it (I personally avoid puts/get as much as possible).
pIv: Please, if you are going to paste such a large amount of code use a CODEBOX tag instead of a CODE tag. Are you asking a question? I see nothing in your code that would output "next string is sample".
Well, you should see my other trackinfo_mod panels ...
Nevertheless I disabled all the other ones and rewrote the code to
// Set 1st colour
$puts(color1,$rgb(250,250,250))
// Set 2nd colour
$puts(color2,$rgb(0,0,0))
// Set marker colour
$puts(marker_color,$rgb(100,100,100))
// Set length
$puts(length,40)
// Set symbol
$puts(symbol,█)
$right($transition($repeat($get(symbol),$get(length)),$get(color2),$get(color1)),$add(2,$mul($div($len2($transition($repeat($get(symbol),$get(length)),$get(color2),$get(color1))),$get(length)),$muldiv($get(length),$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%),100))))
$get(marker_color)$get(symbol)
$left($transition($repeat($get(symbol),$get(length)),$get(color1),$get(color2)),$add(2,$mul($div($len2($transition($repeat($get(symbol),$get(length)),$get(color2),$get(color1))),$get(length)),$sub($get(length),$muldiv($get(length),$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%),100)))))
,so that it still works under "old" trackinfo, while still crashes FB in "trackinfo_mod" ...!!
Then it seems I'll have to cut it out ...
** Edit: **I updated the
Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29).
(Pls check it and correct me if wrong ...!!)
Well I chopped away at your code and it appears that it's the $left() and $right() functions that are triggering the crash. The function appears to be taking the color codes from the $transition() into account and if it chops the string in the middle of a color code that is what is causing the crash. I think the solution would be to calculate length on each side of the marker before applying the transition. I'll stab away a little more but things become difficult because foobar keeps rounding everything to integers.
First there's to say that its not mine ...!!
The code is from Russell777's Topic (http://www.hydrogenaudio.org/forums/index.php?showtopic=45669&hl=Russell777).
2.
To me, it seems that it only works this way ...!!
-Otherwise, I have no Idea how to modify ...
but THNX, so far ...!!
Feature request: 1 second refresh also when not playing.
Reason: I'd like to display the system time. foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606) makes this possible, but the trackinfo panel does only refresh when playing.
Feature request: 1 second refresh also when not playing.
Reason: I'd like to display the system time. foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606) makes this possible, but the trackinfo panel does only refresh when playing.
I second Squeller's request.Please!
Sw!ng:
I have had limited success rebuilding that progress bar for you, here is some code you can try. The thread you linked has several bars depicted so I'm not sure exactly what you want but here is a gradient bar with a position indicator and the gradient chases the indicator. Also, the bar autosizes to fit the panel. If this does not suit your needs provide further detail and I'll see what I can whip up.
$puts(color1,$rgb(250,250,250))
$puts(color2,$rgb(0,0,0))
$puts(marker_color,$rgb(100,100,100))
$puts(symbol,$char(9608))
$puts(length,$div(%_width%,$calcwidth($char(9608))))
$puts(percent,$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%))
$puts(progress,$muldiv($get(length),$get(percent),100))
$transition($repeat($get(symbol),$sub($get(progress),1)),$get(color2),$get(color1))
$get(marker_color)$get(symbol)
$transition($repeat($get(symbol),$sub($get(length),$get(progress))),$get(color1),$get(color2))
THANX ...!!
- Looks funny, too !! (in other colors, o'course)
Unfortunatly it was the look of v2.1 on that topic the one that inspired me ...
(... as the code I wrote)
Good job with the wiki Sw!ng.
...
(...but I still dont think people new to this mod will get any wiser ...)
I only want say than horisontal padding for this code must be equal 0.
For default horisontal padding (10) I modify next string
$puts(length,$sub($div(%_width%,$calcwidth($char(9608))),3))
Sw!ng:
I have had limited success rebuilding that progress bar for you, here is some code you can try. The thread you linked has several bars depicted so I'm not sure exactly what you want but here is a gradient bar with a position indicator and the gradient chases the indicator. Also, the bar autosizes to fit the panel. If this does not suit your needs provide further detail and I'll see what I can whip up.
$puts(color1,$rgb(250,250,250))
$puts(color2,$rgb(0,0,0))
$puts(marker_color,$rgb(100,100,100))
$puts(symbol,$char(9608))
$puts(length,$div(%_width%,$calcwidth($char(9608))))
$puts(percent,$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%))
$puts(progress,$muldiv($get(length),$get(percent),100))
$transition($repeat($get(symbol),$sub($get(progress),1)),$get(color2),$get(color1))
$get(marker_color)$get(symbol)
$transition($repeat($get(symbol),$sub($get(length),$get(progress))),$get(color1),$get(color2))
Something I've been working on, a progress bar with a crosshair that chases the progress:
(http://img167.imageshack.us/img167/875/progressbarqd7.png) (http://imageshack.us)
$font(tahoma,7,shadow,233-233-233)
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
,
$alignabs(2,$sub(%_height%,$calcheight(P),6),%_width%,%_height%,,)$if(%_isplaying%,Progress $rgb(128,128,128)$char(40)$rgb(233,233,233)$div($mul(%_time_elapsed_seconds%,100),%_time_total_seconds%)'%'$rgb(128,128,128)$char(41)$rgb(233,233,233):)
$alignabs($sub(%_width%,$add($calcwidth(%playback_time% $char(47) %length%),4)),$sub(%_height%,$calcheight(8),6),%_width%,%_height%,,)$if(%playback_time%,%playback_time%$if2($rgb(128,128,128) $char(47) $rgb(233,233,233)%length%,),)$char(10)
$alignabs(80,$sub(%_height%,18),%_width%,%_height%,,)$progress2(%playback_time_seconds%,%length_seconds%,$sub($div(%_width%,$calcwidth($char(9679))),30),$rgb(0,128,255)$char(9679),$rgb(10,36,106)$char(9679))
$alignabs($add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),78),$sub(%_height%,18),%_width%,%_height%,,)$rgb(166,202,240)$char(9679)
$alignabs($add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),73),$sub(%_height%,23),%_width%,%_height%,,)$rgb(166,202,240)$char(9700)
$alignabs($add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),83),$sub(%_height%,23),%_width%,%_height%,,)$rgb(166,202,240)$char(9701)
$alignabs($add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),73),$sub(%_height%,13),%_width%,%_height%,,)$rgb(166,202,240)$char(9699)
$alignabs($add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),83),$sub(%_height%,13),%_width%,%_height%,,)$rgb(166,202,240)$char(9698)
)
That's given me the idea of making the entire background of my track info panel a progress bar. I guess just moving a semi transparent white/grey png so that it eventually covers the screen. Something subtle and non-space consuming.
I'm loving this Track Info Panel Mod. Thanks for it!
thats for doing the wiki page guys should make it easier for people to find information.
I should have an updated version tomorrow with some new features (and maybe fix that crashing bug too)
what about a config save/load section...
this would really really improve the mod and I would change over straight away from the original track info
one time my trackinfo box was following my cursor like my album art box usually does. Back then i didnt want it like that, but now I have an idea and I want it to follow the cursor just like my albumart does. Is it string that I have to type into the infobox config?
just double click on the panel to switch between modes..
if you have coded it you can have the current info displayed as follow mode or playing mode or whatever its called..
thats for doing the wiki page guys should make it easier for people to find information.
I should have an updated version tomorrow with some new features (and maybe fix that crashing bug too)
Perhaps (improbable) it is not too late for some Ideas- There is and has allways been a box to set the "minimum" height.
Please, could you add a field to set the minmium WIDTH ...?? (I neeeeeeeeeeeed !!)
- And it would be great if you would put a link to the WIKI in your
starting post ...!!
- Something to calculate the image's original height & width (like there is for texts) could make things easier ...
- Will it be possible to strech or jolt an image with the $imageabs-Function
(perhaps by setting an output-size e.g.
$imageabs(X,Y,Direction,w,h,OPTIONS) ) ...??
---> Btw: Are there other "options" than "flow" for an image ...??
I dont know: -Would it be more "resource-gentle" (need a new dictonary) when there would exist a $function to scroll text ...?
- Whats up with my previously postet idea to create something like
$alignabs wich
$char(10)s wouldnt have influnce to other
$alignset()s ...?? -Is it still "in the race" ??
I'd personally like to pull in text from an external source so I can have a sort of wiki panel for artists.
I have a strange bug showing up:
I have a simple track info panel with only %path% in, which should show the path, filename and extension for the song that is playing. This works fine for the files in:
k:\music\tag check
k:\music\to burn
k:\music\permanent\
F:\downloads - azureus\
But NOT - i.e. nothing at all shows up and any code in the box stops working, in these directories:
k:\music\permanent\ANY SUBDIR
F:\downloads - firefox\
K is a removable HDD and F is an internal one. This happens irrelevant of tags or nature of the mp3. Indeed, the SAME SONG in different directories introduced errors in the listed directories, whereas in the "safe" folders it everything was fine.
This is a rather peculiar bug.
I m asking silly:
Is it perhaps because the length of the text to be shown expands the Panel's size ...
- You could test with a smaler font-size ('bout 3, or somewhat)
--> In this case you have to use the $alignabs-function:
$puts(Text,
$font(Arial Unicode MS,10,standart,) %path% )
$alignabs(0,0,$calcwidth($get(Text)),$calcheight($get(Text)),center,)
$get(Text)
Otherwise I have no Idea ...!!
Something I've been working on:
(http://img154.imageshack.us/img154/7053/trackinfouh6.png) (http://imageshack.us)
Top Section:
$font(Tahoma,7,shadow,233-233-233)
// Background
$imageabs(,,images\backdrop.png,)
$imageabs(116,,images\backdrop.png,)
$imageabs(232,,images\backdrop.png,)
$imageabs(348,,images\backdrop.png,)
// Labels
$alignabs(9,,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Title$rgb(233,233,233)$char(93)$rgb():
$alignabs(5,10,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Artist$rgb(233,233,233)$char(93)$rgb():
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
$alignabs(17,20,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)IP$rgb(233,233,233)$char(93)$rgb():
$alignabs(10,30,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Port$rgb(233,233,233)$char(93)$rgb():
,
$alignabs(,20,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Album$rgb(233,233,233)$char(93)$rgb():
$alignabs(4,30,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Track$rgb(233,233,233)$char(93)$rgb():
)
$alignabs($sub(%_width%,118),,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Codec$rgb(233,233,233)$char(93)$rgb():
$alignabs($sub(%_width%,130),10,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Channels$rgb(233,233,233)$char(93)$rgb():
$alignabs($sub(%_width%,119),20,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Bitrate$rgb(233,233,233)$char(93)$rgb():
$alignabs($sub(%_width%,127),30,%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Samples$rgb(233,233,233)$char(93)$rgb():
// Data
$if(%isplaying%,
$alignabs(45,,%_width%,%_height%,,)[%title%]
$alignabs(45,10,%_width%,%_height%,,)[%artist%]
$alignabs($sub(%_width%,74),,%_width%,%_height%,,)$if2(%codec% ,)$if2($char(40)$caps($info(encoding))$char(41),)
$alignabs($sub(%_width%,74),10,%_width%,%_height%,,)$if2($if($info(mp3_stereo_mode),$caps($info(mp3_stereo_mode)),$info(channels)),)
$alignabs($sub(%_width%,74),20,%_width%,%_height%,,)$if2(%bitrate%kbps ,)$if($strcmp($upper($info(codec)),MP3),$if2($info(extrainfo),CBR),)
$alignabs($sub(%_width%,74),30,%_width%,%_height%,,)$if2($div(%samplerate%,1000)$ifequal($div($mod(%samplerate%,1000),100),0,,.$div($mod(%samplerate%,1000),100))KHz,)
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
$alignabs(45,20,%_width%,%_height%,,)$substr(%path%,8,$if2($add($strrchr($substr(%path%,8,$len(%path%)),:),6),$len(%path%)))
$alignabs(45,30,%_width%,%_height%,,)$if($strcmp($strchr(%path%,:),$strrchr(%path%,:)),$rgb(128,128,128)n/a,$substr(%path%,$add($strrchr(%path%,:),1),$sub($len(%path%),1)))
$alignabs($div($sub(%_width%,$calcwidth(%path%)),2),50,%_width%,%_height%,,)$if2(%url%,%path%)
,
$alignabs(45,20,%_width%,%_height%,,)[%album%][ $char(40)%date%$char(41)]
$alignabs(45,30,%_width%,%_height%,,)[$char(91)%cdid%$char(93) ][Track %tracknumber% of %totaltracks%]
$alignabs($div($sub(%_width%,$calcwidth(%filename_ext%)),2),50,%_width%,%_height%,,)%filename_ext%
)
,)
// Dividers
$font(,,normal,)
$puts(divider.half,$repeat(-,$div(%_width%,6)))
$puts(divider,$transition($get(divider.half),$rgb(10,36,106),$rgb(233,233,233))$transition($get(divider.half),$rgb(233,233,233),$rgb(10,36,106)))
$alignabs(2,40,%_width%,%_height%,,)$get(divider)
$alignabs(2,60,%_width%,%_height%,,)$get(divider)
//Overlay
$imageabs(0,0,images\black.top.left.png,)
$imageabs($sub(%_width%,50),0,images\black.top.right.png,)
Bottom Section:
$font(Tahoma,7,shadow,233-233-233)
// Background
// Background
$imageabs(,,images\backdrop.png,)
$imageabs(116,,images\backdrop.png,)
$imageabs(232,,images\backdrop.png,)
$imageabs(348,,images\backdrop.png,)
// Labels
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
,
$alignabs(25,$sub(%_height%,40),%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Rating$rgb(233,233,233)$char(93)$rgb(233,233,233):
$alignabs($add($div(%_width%,2),20),$sub(%_height%,40),%_width%,%_height%,,)$rgb(233,233,233)$char(91)$rgb(140,186,236)Tags$rgb(233,233,233)$char(93)$rgb(233,233,233):
)
// Data
$if(%isplaying%,
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
,
$alignabs(85,$sub(%_height%,40),%_width%,%_height%,,)
$if(%rating%,$char(40)%rating%$char(41) $progress2(%rating%,10,10,$rgb()$char(9733) ,$rgb(128,128,128)$char(9734) )
,$rgb(128,128,128)~ Song Not Rated ~)
$alignabs($add($div(%_width%,2),60),$sub(%_height%,40),%_width%,%_height%,,)$if($strstr($info(tagtype),id3v1),$rgb(0,128,255)$char(10004)$rgb(233,233,233),$rgb(255,0,128)$char(10008)$rgb(128,128,128)) ID3v1
$alignabs($add($div(%_width%,2),110),$sub(%_height%,40),%_width%,%_height%,,)$if($strstr($info(tagtype),id3v2),$rgb(0,128,255)$char(10004)$rgb(233,233,233),$rgb(255,0,128)$char(10008)$rgb(128,128,128)) ID3v2
$alignabs($add($div(%_width%,2),160),$sub(%_height%,40),%_width%,%_height%,,)$if($strstr($info(tagtype),apev2),$rgb(0,128,255)$char(10004)$rgb(233,233,233),$rgb(255,0,128)$char(10008)$rgb(128,128,128)) APEv2
)
,)
// Progress Bar
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
,
$alignabs(2,$sub(%_height%,18),%_width%,%_height%,,)$if(%_isplaying%,Progress $rgb(128,128,128)$char(40)$rgb(233,233,233)$div($mul(%_time_elapsed_seconds%,100),%_time_total_seconds%)'%'$rgb(128,128,128)$char(41)$rgb(233,233,233):)
$alignabs($sub(%_width%,$add($calcwidth(%playback_time% $char(47) %length%),4)),$sub(%_height%,18),%_width%,%_height%,,)$if(%playback_time%,%playback_time%$if2($rgb(128,128,128) $char(47) $rgb(233-233-233)%length%,),)$char(10)
$alignabs(80,$sub(%_height%,18),%_width%,%_height%,,)$progress2(%playback_time_seconds%,%length_seconds%,$sub($div(%_width%,$calcwidth($char(9679))),30),$rgb(0,128,255)$char(9679),$rgb(10,36,106)$char(9679))
$puts(crosshair.x,$add($muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),$mul($calcwidth($char(9679)),$sub($div(%_width%,$calcwidth($char(9679))),30)),100),78))
$alignabs($get(crosshair.x),$sub(%_height%,18),%_width%,%_height%,,)$rgb(166,202,240)$char(9679)
$alignabs($sub($get(crosshair.x),5),$sub(%_height%,23),%_width%,%_height%,,)$rgb(166,202,240)$char(9700)
$alignabs($add($get(crosshair.x),5),$sub(%_height%,23),%_width%,%_height%,,)$rgb(166,202,240)$char(9701)
$alignabs($sub($get(crosshair.x),5),$sub(%_height%,13),%_width%,%_height%,,)$rgb(166,202,240)$char(9699)
$alignabs($add($get(crosshair.x),5),$sub(%_height%,13),%_width%,%_height%,,)$rgb(166,202,240)$char(9698)
)
// Dividers
$font(,,normal,)
//$puts(divider,$repeat(-,$div(%_width%,3)))
$puts(divider.half,$repeat(-,$div(%_width%,6)))
$puts(divider,$transition($get(divider.half),$rgb(10,36,106),$rgb(233,233,233))$transition($get(divider.half),$rgb(233,233,233),$rgb(10,36,106)))
$alignabs(2,$sub(%_height%,30),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,50),%_width%,%_height%,,)$get(divider)
$alignabs($div(%_width%,2),$sub(%_height%,40),%_width%,%_height%,,)$rgb(233,233,233)||
//Overlay
$imageabs(0,$sub(%_height%,100),images\black.bottom.left.png,)
$imageabs($sub(%_width%,50),$sub(%_height%,100),images\black.bottom.right.png,)
Images Used:
(http://img406.imageshack.us/img406/6296/backdroper7.png) (http://imageshack.us) (http://img154.imageshack.us/img154/8228/blacktopleftax8.png) (http://imageshack.us) (http://img154.imageshack.us/img154/2012/blacktoprightrj9.png) (http://imageshack.us) (http://img154.imageshack.us/img154/6633/blackbottomleftsl8.png) (http://imageshack.us) (http://img228.imageshack.us/img228/7379/blackbottomrightgc0.png) (http://imageshack.us)
backdrop.png, black.top.left.png, black.top.right.png, black.bottom.left.png, black.bottom.right.png
Everything seems to be going according to plan however the center panel, which is just a standard specturm analyser panel, appears to pause for a split second when the other panels do their refresh every second. Is this because I have many other trackinfo plugins running too? Is this because I'm developing this in a tab? Or am I simply beginning to overload the plugin? I've noticed that if I comment out the transition dividers the performance is a bit better.
EDIT: Cleaned up code, removed transition on dividers, significantly reduced resource consumption.
EDIT: Added transitions again and removed divider shadow. Also updated backdrop image to a smaller tiled version.
Looks interesting ...!!
- Can you post all of th images, please ??
All 5 images are linked above, just right click on them and save them with the names listed. The first one you'll have to left click first because it got thumbnailed.
Oh, god damm it !!
- I didnt realized there were 5 to see ... -I just "saw" 3 ...!!
THNX 4 illumination
*EDIT *
- But they dont show up in Trackinfo ...!!
(I m sure about the directory)
That's sad to see, 'cause in them i was most iterested, since your code is going to crash my system if i dont "disable" it ...!! o0
wow I just noticed foobar is eating almost 300MB of ram when using my code... I better figure out wtf is going on and clean it up... I tweaked the code little but it's still running away with resources. this also probably explains the poor performance from the spectrum analyser.
EDIT: After some experimenting there appears to be a problem using $transition(). Maybe the panel has trouble parsing all those color codes? I'll have to hammer away at it later and figure out what is going on.
EDIT: Updated code above, removed transitions and optimized some code, dropped it down to 60MB. Hopefully now it wont crash an average system :)
60mb is very acceptable imo
thats the bets i have been able to achieve without gutting my setup
really interesting this component The font stuff is nice!
But I have to use old version because of the "scrolling" feature, to control fb with a remote.
Is it going to be implemented in near future?
...
But I have to use old version because of the "scrolling" feature, to control fb with a remote.
...
I dont know what you mean ...!! ->FB -> Remote -> SCROLL ...?? o0
Scrolling lines in trackinfo mod panel.
Whether it will be implemented in near future or not.
Need this for a info-panel with big fonts to be able to read whats track is actually selected when controlling fb with my remotecontrol.
Imagin you are in bed and your monitor is 5m in front of you....hehe
remote control -> trackinfopanel -> big letters -> scrolling
better?
@ Infernus:So, if you mean scrolling horizontaly, perhaps u want
THIS (http://www.hydrogenaudio.org/forums/index.php?showtopic=47630&st=0&#entry423365) ...??
__________________________________________________________________________________________________
@terrestrial:A Question:The
#LINEHEIGHT, n#-Stuff is not working inside the parameters of other $funktions, since it's comma seems to take influence to the surounding $funktion ...!!
So the following codes (for example) will occur errors:
$put(Title,
%title%#LINEHEIGHT,3#$char(10)%title%
)
$if(%title%
,%title%#LINEHEIGHT,3#$char(10)%title%
,)
----> Couldn't this
#LINEHEIGHT, n# be converted into something like
$lineheight(n) in one of the next versions ...??
here is what ive been workin on today, trying to get a pseudo-albumart panel inside of the trackinfo panel, so none of the text formatting and placement of stuff is completely done hence the crappy font colors to where u cant see them well lol:
(http://www.ihateyou2.com/new_s.jpg) (http://www.ihateyou2.com/new.jpg)
peercortsa: did you discover a way to resize the images? or did you pre-size them to fit the panel?
Feature request: 1 second refresh also when not playing.
Reason: I'd like to display the system time. foo_cwb_hooks makes this possible, but the trackinfo panel does only refresh when playing.
Perhaps (improbable) it is not too late for some Ideas
- There is and has allways been a box to set the "minimum" height.
Please, could you add a field to set the minmium WIDTH ...?? (I neeeeeeeeeeeed !!)
Just curious, but why?
- Will it be possible to strech or jolt an image with the $imageabs-Function
(perhaps by setting an output-size e.g. $imageabs(X,Y,Direction,w,h,OPTIONS) ) ...??
---> Btw: Are there other "options" than "flow" for an image ...??
not quite yet. I will eventually add support for .jpgs and other file formats, and for resizing also.
I dont know: -Would it be more "resource-gentle" (need a new dictonary) when there would exist a $function to scroll text ...?
with the update time set a 1 second, there wouldn't be a significant difference
- Whats up with my previously postet idea to create something like $alignabs wich $char(10)s wouldnt have influnce to other $alignset()s ...?? -Is it still "in the race" ??
It's on the todo list I've been more focused on cleaning up some bugs / rewriting some code up till now.
I'd personally like to pull in text from an external source so I can have a sort of wiki panel for artists.
hmmm.... something like $import(blah.txt)... interesting idea. I will add it to the todo list.
But I have to use old version because of the "scrolling" feature, to control fb with a remote.
Is it going to be implemented in near future?
sorry, no "native" scrolling any time soon. its towards the bottom of the todo list.
The #LINEHEIGHT, n#-Stuff is not working inside the parameters of other $funktions, since it's comma seems to take influence to the surounding $funktion ...!!
anything using # is "unofficial" and not finished yet. However, you can put it in single quotes (eg '#LINEHEIGHT,n#') to not mess up other functions.
************************************
I've uploaded a new version. Mostly some fixes and a rewrite of some code. Please let me know if the old bugs / crashes / glitches still show up with the new version.
I tried the new update and all seems well except I'm still having trouble with the transition. To re-create this bug set up a vertical splitter with a spectrum analyser and trackinfo mod. for trackinfo mod set the padding to 0 and use this code:
$font(Tahoma,7,shadow,233-233-233)
$puts(divider.half,$repeat(-,$div(%_width%,6)))
$puts(divider,$transition($get(divider.half),$rgb(10,36,106),$rgb(233,233,233))$transition($get(divider.half),$rgb(233,233,233),$rgb(10,36,106)))
$alignabs(2,$sub(%_height%,30),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,40),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,50),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,60),%_width%,%_height%,,)$get(divider)
If you enable update every second, you will notice that the spectrum analyser slightly pauses every second. The pause increases more and more every time the $get(divider) is used and appears to be linked to the use of $transition(). If the update every second is disabled then the pauses go away. Does this component have trouble parsing all the color codes generated by the $transition()? Is there a better approach I should use?
Using
$font(terminal,15,shadow,255-255-255)$char(219)
(even replacing shadow with normal) does nothing. This is essential for my progress bar code. Any ideas?
...Just Elliott, i would say that's the bug i've experienced. maybe related to locales / codepages and/or internal wide char conversions terrestrial is using. i can confirm this bug still being present in the latest version ...
others, simple progress bar made with $drawrect:
$padding(0,0)
$drawrect(,,,10,brushcolor-null pencolor-0-0-0)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,4),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),6,brushcolor-0-0-0 pencolor-null),)
and you can 'nest' $drawrect using $padding:
$drawrect(,,,,pencolor-0-0-0 alpha-80)
$padding(5,5)
$drawrect(,,,,pencolor-0-0-0 alpha-80)
$padding(5,5)
$drawrect(,,,,pencolor-0-0-0 alpha-80)
.
How come this plugin is now called "track info mod" in the layout treeview. This has messed up all my settings. I think this should be named as before only track info panel. In my opinion this is the official track info panel plugin. I always rename the dll without _mod at the end.
How come this plugin is now called "track info mod" in the layout treeview. This has messed up all my settings. I think this should be named as before only track info panel. In my opinion this is the official track info panel plugin. I always rename the dll without _mod at the end.
Because there's another trackinfo panel, the original one, which is still being maintained. This one is totally different, and not 100% compatible with the original trackinfo.
Please do not rename the .dll's yourself; it is named that way for a reason.
Not the least: The quickly progressing plugin updater utility for foobar2000.
I tried the new update and all seems well except I'm still having trouble with the transition. To re-create this bug set up a vertical splitter with a spectrum analyser and trackinfo mod. for trackinfo mod set the padding to 0 and use this code:
$font(Tahoma,7,shadow,233-233-233)
$puts(divider.half,$repeat(-,$div(%_width%,6)))
$puts(divider,$transition($get(divider.half),$rgb(10,36,106),$rgb(233,233,233))$transition($get(divider.half),$rgb(233,233,233),$rgb(10,36,106)))
$alignabs(2,$sub(%_height%,30),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,40),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,50),%_width%,%_height%,,)$get(divider)
$alignabs(2,$sub(%_height%,60),%_width%,%_height%,,)$get(divider)
If you enable update every second, you will notice that the spectrum analyser slightly pauses every second. The pause increases more and more every time the $get(divider) is used and appears to be linked to the use of $transition(). If the update every second is disabled then the pauses go away. Does this component have trouble parsing all the color codes generated by the $transition()? Is there a better approach I should use?
can you try removing the shadow from the font and see if it helps any?
removing the shadow definitely helps, thanks. i think i can live with this :)
EDIT: Updated above post with new code to remove the shadow and reinstate the transition.
I counted about ~380 color transitions (with a relatively narrow width), and with the shadow, that means 380 separate shadows to be drawn. Shadows are relatively more expensive to draw than plain text hence the excessive cpu usage.
I need to optimize things to draw one large shadow instead of 380 separate ones- which should be much faster I think.
@terrestrial:I know its
unofficial, YET ... but:
$put(Title,%title%(#LINEHEIGHT,5#)$char(10)%title% )
like you said to do, is not working as expected...!!
-->Though its not disturbing surrounding $funktions, but it shows up %title% only once, and swallows the rest comming after ...
I just wanted to report ...!! (hope, its becomming official, soon )
However,
THANX for the help with it !!
(and for the GREAT previous Improvements to this Component, of course ...!! -->[as a "thnx"-update ] )
$font() is returning UNKNOWN FUNCTION now... I didn't do anything! Any help?
edit: fixed
for some reason im getting this error..
Failed to load DLL: foo_uie_trackinfo_mod.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
im reinstalled a couple times. right now i have foobar 9.3.1 with the latest Columns UI (0.1.3 beta 1v5). the only other things installed right now are the main plugins that come with foobar, infact this in a fresh install
for some reason im getting this error..
read wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_(foo_uie_trackinfo_mod)#Installation)
derrrrr i feel retarded, thank you.
unabatedshagie - i'm not really using it in my main foobar, only testing it for time being. my testing foobar looks like this right now:
(http://mazy.johanka.cz/my_pics/temp/foobar/trackinfo-5.png)
Squeller - you can put the old track info panel or the mod (and rename it's dll) back and recover these settings. the new version (as mentioned in the readme and in my previous post) is distinct from the old one and doesn't take over its settings.
as for images - well 32-bit pngs with alpha channel work here, i think that bmps with 256-color palette should work too. imho what you're experiencing is that refresh / update problem i've mentioned. try using the formatting snippet i've posted above.
Mazy can you please give me a code sample where you have the large pale background text and then other text infront... with the overlay... I have any like this but all this new coding is very trickey for me to work out...
I wish this had a drag and drop gui interface would make much easier...
$alignabs(0,0,%_width%,%_height%,left,top)
$font(Lucida Sans Unicode,30,bold,224-223-227)Back
$alignabs(0,0,%_width%,%_height%,right,top)
$font(Lucida Sans Unicode,30,bold,224-223-227)ground
$alignabs(0,20,%_width%,%_height%,center,top)
$font(Lucida Sans Unicode,15,boldglow-,)$rgb(255,255,255)Foreground
Maybe this and the
Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29) will help you to figure out how it works ...??
Is it perhaps because the length of the text to be shown expands the Panel's size ...
Strange, this was the problem but it still applies when using the %path% tag. For instance, when using something like this $directory(%path%,4) the output is usually just "Music" folder and is short and should appear no matter what. However if %path% is too long for the panel, even though it itself is not being used, then nothing shows at all.
Did u try the $alignabs-"solution" , I posted there ...??
If it works then, perhaps put a "#SHADE#" before the "$get(Text)"
... and see what happens !!
thanks for the help sw!ng but right after I posted I worked out how to do it...
seems my problem now is after using a relative position on a horizontal line I want another word text type to appear on the same line with a tab spacing... ie so that if the first tag is longer it dynamically moves/shifts it to the right
at the momanet I have to user absolute values///
any ideas perhaps i can set an x position based on the length of thetag before or somethign like that
ok so how do i user the following functions to achieve what I want.
$calcwidth(Text1)
$calcheight(Text1)
------------
also i know that this version of track info doesnt have the elipses ending for lines of text that go to long so what should I do for when I have a track thats simply too long? at the moment its carrying over to the next line and stuffing everything up
*** UPDATE - fixed myself see the subsrt stuff pretty useful ***
-------------
Here is what I have come up with so far
// Info Color e.g. %tag%
$puts(info,$font(hooge 05_55 Cyr2,36,,75-115-150))
// Info Color e.g. "Title"
$puts(title,$font(arial,14,,21-38-58))
// Set Rating character
$puts(ratingchar,$font(wingdings,36,shadow,12-38-58)'«')
$puts(rating,$font(wingdings,36,shadow,245-245-245)'«')
$alignabs(1,,%_width%,%_height%,left,)$get(info)$if($greater(13,$len(%artist%)),%artist%,$substr(%artist%,1,14)...)
$alignabs(5,36,%_width%,%_height%,left,)$get(title)ARTIST
$alignabs(1,48,%_width%,%_height%,left,)$get(info)$if($greater(13,$len(%title%)),%title%,$substr(%title%,1,14)...)
$alignabs(5,84,%_width%,%_height%,left,)$get(title)SONG
$alignabs(1,96,%_width%,%_height%,left,)$get(info)$if($greater(13,$len(%album%)),%album%,$substr(%album%,1,14)...)
$alignabs(5,132,%_width%,%_height%,left,)$get(title)ALBUM
$alignabs(1,144,%_width%,%_height%,left,)$get(info)$if($greater(13,$len(%genre%)),%genre%,$substr(%genre%,1,14)...)
$alignabs(5,180,%_width%,%_height%,left,)$get(title)GENRE
//playcount
$alignabs(-1,144,%_width%,%_height%,right,)$get(info)%play_count%
$alignabs(-5,180,%_width%,%_height%,right,)$get(title)PLAYED
//Tracks
$alignabs(1,192,%_width%,%_height%,left,)
$get(info)%tracknumber%$if(%totaltracks%,$get(head)/$get(info)%totaltracks%,)
$alignabs(5,228,%_width%,%_height%,left,)$get(title)TRACKS
//Rating
$alignabs(1,240,%_width%,%_height%,left,)
$if(%rating%,$repeat($get(ratingchar),%rating%)
$repeat($get(rating),$sub(5,%rating%)),$repeat($get(rating),5))
$alignabs(5,276,%_width%,%_height%,left,)$get(title)RATING
//disc
$alignabs(-1,192,%_width%,%_height%,right,)$get(info)
$if($and(%discnumber%,%totaldiscs%), $get(head)[$get(info)%discnumber%][$get(head)/$ge
t(info)%totaldiscs%]$alignabs(-5,224,%_width%,%_height%,right,)$get(title)DISC,)
//year
$alignabs(-1,-3,%_width%,%_height%,right,bottom)$get(info)%date%
$alignabs(-5,0,%_width%,%_height%,right,bottom)$get(title)YEAR
(http://www.chriscombe.com/pics/fb098.png)
$puts(XX,
50)
$puts(YY,
100)
$puts(Text1,
$font(Arial,10,boldshadow,)Text A)
$puts(Text2,
$font(Arial,10,boldshadow,)Text B)
$alignabs($get(XX),$get(YY),%_width%,%_height%,left,top)
$get(Text1)
$alignabs($add($get(XX),$calcwidth($get(Text1)),15),$get(YY),%_width%,%_height%,left,top)
$get(Text2)
And as a little BonBon for you (since you nearly fixed it by yourself) ...:
$ifgreater($len(%artist%),14,$left(%artist%,11)'...',%artist%)
(or werent you anoyed by those "..." even if the title was short ...??)
thanks for the assitance.. I supose your way is a little less typing...
now to try out the other code you provided for me
what do you think of my first go anyways?
This is an awesome change to the track info panel. Does it only display images from a directory within the main fb2k program folder? Or can you have a path to say the "folder.jpg" within the music folder on another drive? Better yet, can it display album art embedded in a tag?
Thanks.
Edit....figuring I just saw the wiki....I have my answer. So instead, are either of those two image options planned? It would be cool to pull the image using %path%, so that one could pull the image from the music file's directory. Essentially combining the album art and track info panels together.
I want to find out whether the full path contains a specific folder and then assign an image to show depending on the result. So if it's in the "to burn" folder, show a nero image for instance. The code I use is basically:
$if($strstr(%path%, 'burn'), YES, NO)
But this doesn't work.
Here's a fresh idea: Clickable items that can be assigned to foo_run or standard foobar actions. I have programmed a little alert image to show if the tags aren't complete - clicking this image could bring up the properties dialog (I have this on shortcut anyway but it's a neat idea).
first of all, there should be some sort of %_width% and %_height% which respect padding (and any parent frame like when using $alignabs).
when using $drawrect with 0 for width or height, it gets substituted for the maximal value respecting padding. imho this could make some things harder to make (see my progress bar example), as you can't draw with one dimension set to zero and expect it not to draw ... i think that zero should mean no width or height. you can substitute only missing parameters (i.e. not $drawrect(,,0,0,something), but $drawrect(,,,,something)).
another issue with $drawrect is that when using alpha blending by alpha-number like $drawrect(,,,,pencolor-0-0-0 alpha-80), it uses only pencolor to draw the rectangle. i would expect it to draw the rectangle as normal with both pencolor and brushcolor. or - to use brushcolor.
i really like that we can use system colors now, and i would like to see some other changes to the color system. for example when given only one value (like brushcolor-50 or $font(,,,50)) to interpret it as gray color (i.e. expand it to 50-50-50). also specifying alpha value as 4th color component would be nice (brushcolor-255-0-0-100).
padding. imho it should be relative to the actual frame. what i mean is that after using $alignabs to create new frame for text, $padding or $drawrect imho should relate to this frame. like $alignabs(10,10,10,10)$padding(1,1)$drawrect(,,,,brushcolor-0-0-0) should be the same as $drawrect(11,11,8,8,brushcolor-0-0-0). maybe you could add something like $drawrectabs.
anyway, sorry for my whining and *thank you* for this great plugin. p.s. i would like to be able to draw that progressbar for playing item in your foo_uie_single_column_playlist .
padding was just a quick hack to space text a bit better;) I will make the behavior more consistent though. And, you should be able to do that progressbar with the playlist now.
@terrestrial:
I know its unofficial, YET ... but: $put(Title,%title%(#LINEHEIGHT,5#)$char(10)%title% )
like you said to do, is not working as expected...!!
try this:
$put(Title,%title%'#LINEHEIGHT,5#'$char(10)%title%)
Here's a fresh idea: Clickable items that can be assigned to foo_run or standard foobar actions. I have programmed a little alert image to show if the tags aren't complete - clicking this image could bring up the properties dialog (I have this on shortcut anyway but it's a neat idea).
Clickable buttons are on the todo list
I want to find out whether the full path contains a specific folder and then assign an image to show depending on the result. So if it's in the "to burn" folder, show a nero image for instance. The code I use is basically:
$if($strstr(%path%, 'burn'), YES, NO)
But this doesn't work.
Here's a fresh idea: Clickable items that can be assigned to foo_run or standard foobar actions. I have programmed a little alert image to show if the tags aren't complete - clicking this image could bring up the properties dialog (I have this on shortcut anyway but it's a neat idea).
Try instead of YES or NO, for yes put what command you wantt to execute, and then in place of no, what command you want to run, or put nothin so the next thing after it runs if it does not contain the words in the first if strstr match.
This will just work (as you probably already know) if 'burn' is contained in the path name. If you want put "to burn" to further guard against false postives. I believe it should work after that; though I suck at coding
It only ever says NO though, how will putting in the image code work? Above is merely a test case and if that does not work then putting in the code never will.
But I tried it anyway:
$if($strstr(%path%, 'k'), $imageabs(10,10,images/star-1.png,),)
Does not work when it should, not even for a single character test.
FofR: have you tried removing the space in your $strstr() statement because I think it's being processed as part of the string to search for.
Questions:
1. Any plans to re-implement line ending modes?
AT LEAST there should be a non wrapping mode.
2. Why did you again choose this strange syntax (e.g. #LINEHEIGHT,5#) instead of $function(args)?
FofR: have you tried removing the space in your $strstr() statement because I think it's being processed as part of the string to search for.
Thanks that worked. Whitespace always screws me over.
hey. is there anyway to change the shadow color? when i use the option it only lets me use a black shadow
hey. is there anyway to change the shadow color? when i use the option it only lets me use a black shadow
just specify it after the shadow statement like this: shadow-r-g-b, where r-g-b part specifies color.
edit: seems i was wrong, that works only for glow. i will post more info about $font soon ...
$font examples:
(http://mazy.johanka.cz/my_pics/temp/foobar/trackinfo-font-example.png)
tagz:
// framework
$drawrect(,,,,brushcolor-255-255-255 pencolor-null)$padding(5,5)
$puts(index,$font(,8,nocleartype glow- glowblur-0 glowexpand-1 fixedwidth-6,255-255-255))
$put(font,$font(Calibri,9,bold,100-100-100))
$font(,10,,)$alignrel(,)
$puts(code,$alignrel(right,)$get(font))
$puts(end,'#LINEHEIGHT,18##LINE,#'$char(10)'#LINEHEIGHT,5#' $char(10)$alignset()$alignrel(,))
// examples
$get(index) 1
$font(,,bold italics underline strikeout,50-150-50)Testing String
$get(code)'$font(,,bold italics underline strikeout,50-150-50)'$get(end)
//
$get(index) 2
$font(,,nocleartype,50-150-50)Testing String
$get(code)'$font(,,nocleartype,50-150-50)'$get(end)
//
$get(index) 3
$font(,,uppercase,50-150-50)Testing String
$get(code)'$font(,,uppercase,50-150-50)'$get(end)
//
$get(index) 4
$font(,,lowercase,50-150-50)Testing String
$get(code)'$font(,,lowercase,50-150-50)'$get(end)
//
$get(index) 5
$font(,,textblur-5,50-150-50)Testing String
$get(code)'$font(,,textblur-5,50-150-50)'$get(end)
//
$get(index) 6
$font(,,textalpha-128,50-150-50)Testing String
$get(code)'$font(,,textalpha-128,50-150-50)'$get(end)
//
$get(index) 7
$font(,,textexpand-1,50-150-50)Testing String
$get(code)'$font(,,textexpand-1,50-150-50)'$get(end)
//
$get(index) 8
$font(,,fixedwidth-10,50-150-50)Testing String
$get(code)'$font(,,fixedwidth-10,50-150-50)'$get(end)
//
$get(index) 9
$font(,,bold shadow,50-150-50)Testing String
$get(code)'$font(,,bold shadow,50-150-50)'$get(end)
//
$get(index)10
$font(,,bold glow-20-100-20,100-200-100)Testing String
$get(code)'$font(,,bold glow-20-100-20,100-200-100)'$get(end)
//
$get(index)11
$font(,,bold glow-20-100-20 glowalpha-50,100-200-100)Testing String
$get(code)'$font(,,bold glow-20-100-20 glowalpha-50,100-200-100)'$get(end)
//
$get(index)12
$font(,,bold glow-20-100-20 glowblur-0,100-200-100)Testing String
$get(code)'$font(,,bold glow-20-100-20 glowblur-0,100-200-100)'$get(end)
//
$get(index)13
$font(,,bold glow-20-100-20 glowblur-10,100-200-100)Testing String
$get(code)'$font(,,bold glow-20-100-20 glowblur-10,100-200-100)'$get(end)
//
$get(index)14
$font(,,bold glow- glowexpand-0,200-255-200)Testing String
$get(code)'$font(,,bold glow- glowexpand-0,200-255-200)'$get(end)
//
$get(index)15
$font(,,bold glow-20-100-20 glowexpand-2 glowblur-2,100-200-100)Testing String
$get(code)'$font(,,bold glow-20-100-20 glowexpand-2 glowblur-2,100-200-100)'$get(end)
// composite-1
$font(Calibri,20,,)
$alignabs(12,352,%_width%,%_height%,,)
$font(,,bold textblur-1 textexpand-6,80-196-239) foobar 2000
$alignabs(10,350,%_width%,%_height%,,)
$font(,,bold textblur-1 textexpand-6,80-196-239) foobar 2000
$alignabs(10,350,%_width%,%_height%,,)
$font(,,bold textblur-1 textexpand-5,255-255-255) foobar 2000
$alignabs(10,350,%_width%,%_height%,,)
$font(,,bold textblur-2 textexpand-1,191-239-254) foobar 2000
$alignabs(10,350,%_width%,%_height%,,)
$font(,,,80-196-239) foobar 2000
// composite-2
$font(Calibri,20,,)
$alignabs(161,351,%_width%,%_height%,,)
$font(,,bold,40-98-119) foobar 2000
$alignabs(159,349,%_width%,%_height%,,)
$font(,,bold,200-245-255) foobar 2000
$alignabs(160,350,%_width%,%_height%,,)
$font(,,bold,144-221-248) foobar 2000
// composite-3
$font(Calibri,20,,)
$alignabs(312,352,%_width%,%_height%,,)
$font(,,bold textblur-1 textexpand-1,80-196-239) foobar 2000
$alignabs(310,350,%_width%,%_height%,,)
$font(,,bold textblur-1 textexpand-1,80-196-239) foobar 2000
$alignabs(310,350,%_width%,%_height%,,)
$font(,,bold glow-255-255-255 glowexpand-0 glowblur-1,255-255-255) foobar 2000
there are some things to note and consider, like what are default values, how does $font behave with regards to $put/$puts/$get, $alignrel, $padding, $calcwidth/$calcheight etc.
default values for glow are glowexpand-2 and glowblur-2.
when using advanced effects antialiasing is disabled (even for alpha blending), there's limited
rendering space etc. also following text affects the previous one, so you may need to add spaces or use $alignabs etc.
you can store and restore font settings using $put/$puts/$get like
$puts(font,$font(Calibri,9,bold,100-100-100)). you should restore it
after $alignrel, not before. also $calcwidth/$calcheight aren't affected by font settings set by using $get. they work using the last 'real' $font statement, even if it was one inside $puts.
-deleted-
VERY nice tips mazy. thanks a bunch. now i am wondering if it is possible to change to a different font when a certain character set is used? like for instance if i have a certain font that i thought looked great with regular english songs but it doesn't properly display korean or chinese i would like to be able to switch to another font in such a circumstance to avoid having the display show squares or other various gibberish.
awesome tips mazy will start playing around with them
Added font tips to the wiki page. Great stuff.
Is "update every second" the smallest possible update value?
I have a trackinfo progress bar and a status bar progress bar, when I fast forward a song, the status bar pb is instantly at the right position, the trackinfo pb takes a little longer for the same.
It's just a tiny little thing, but I'm just curious.
Thanks
well it should respond to seek event (rather than update even faster than every second).
here is the new version of my panel, still workin on it:
(http://www.ihateyou2.com/foobar1s.jpg) (http://www.ihateyou2.com/foobar1.jpg)
Is there anyway to get trackinfo to retrieve data from a txt file?
I'd like to add something like a mini biography to some of my artists. I guess I could use the comment tag for this as well, but I'd prefer to have external file because I'd find it much easer to just edit an %artist%.txt instead.
If this isn't possible yet, I'd really like to see that in a coming release.
You could try abusing a lyrics panel into doing something like that.
I haven't had any experience with the available lyrics panels though so you're on yer own ;P
here is the new version of my panel, still workin on it:
[a href="http://www.ihateyou2.com/foobar1.jpg" target="_blank"]
Also you should try not to repeat information, it means you waste space. The artist/album are on the screen like 3/4 times...is that necessary?
You could try abusing a lyrics panel into doing something like that.
I haven't had any experience with the available lyrics panels though so you're on yer own ;P
here is the new version of my panel, still workin on it:
[a href="http://www.ihateyou2.com/foobar1.jpg" target="_blank"]
Also you should try not to repeat information, it means you waste space. The artist/album are on the screen like 3/4 times...is that necessary?
oh no no no lol im just keeping those there for the mean time until i get all the necessary information into the one panel
Questions:
1. Any plans to re-implement line ending modes?
AT LEAST there should be a non wrapping mode.
2. Why did you again choose this strange syntax (e.g. #LINEHEIGHT,5#) instead of $function(args)?
1) Eventually. Until then a non wrapping mode can be emulated using $alignabs
2) They're not "official" functions yet (maybe unfinished, etc). I think they were found by looking for stings in the binary
hey. is there anyway to change the shadow color? when i use the option it only lets me use a black shadow
I've added a SHADOWCOL option for the next version.
Is "update every second" the smallest possible update value?
I have a trackinfo progress bar and a status bar progress bar, when I fast forward a song, the status bar pb is instantly at the right position, the trackinfo pb takes a little longer for the same.
It's just a tiny little thing, but I'm just curious.
Thanks
well it should respond to seek event (rather than update even faster than every second).
Unfortunately I don't think there's a seek notification... (could have missed it though).
Hi, I'm using this code:
$align(left,top)%title%$char(10)
[%album%][ CD %discnumber%]$char(10)
[Track %tracknumber%$char(10)]
[%date%][ %genre%]
$align(right,top)%artist%$char(10)
$if(%rating%,Rated %rating%,Unrated)$char(10)
$if(%play_counter%,Played %play_counter% times,Never played)$char(10)
foobar2000
$padding(0,100)
$align(left,top)%_time_elapsed%$align(right,top)%length%
$padding(0,23)
$drawrect(,,,10,brushcolor-null pencolor-255-255-255)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),6,brushcolor-255-255-255 pencolor-null),)$align(top,left)
...but the time info doesn't display. If I move it upwards a bit, it works fine. I can't see any reason for it, it just... disappears. Any ideas?
I pasted your code into a fresh panel and it appears to be working fine for me as long as I'm not listening to online radio.. what exactly is supposed to be broken?
Above the progress bar, there is no time. it should be:
0:45 1:43
[---- ]
(bad example, but yeah). It's just the progress bar.
Edit:
Screeny.
(http://content.imagesocket.com/thumbs/screenyfoobarproblemdcd.PNG) (http://imagesocket.com/view/screenyfoobarproblemdcd.PNG)
Hi
Is there a way to add the Status info "Repeat Track", "Repeat Playlist", "Shuffle Playlist", "Default". Because i will add this to my track info so that i know that i enabled it.
Bye and Thx for any help.
Elliott:
(http://img338.imageshack.us/img338/9756/testep9.png) (http://imageshack.us)
Your code appears to be working fine on my end. Have you tried making another panel and pasting the code? Have you tried using a different font? Is there more code being used in the panel than what you posted?
Try simplifying the code piece by piece until you can figure out the problem. Start by just using the code that is giving you hassle:
$align(left,top)%_time_elapsed%$align(right,top)%length%
$padding(0,23)
$drawrect(,,,10,brushcolor-null pencolor-255-255-255)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),6,brushcolor-255-255-255 pencolor-null),)$align(top,left)
DIN1031:
This has been asked before and the conclusion was that there is no existing way to pull this information with standard scripting.
Tried a different font, no more code, and it happens with just the text and progress bar. It's like a cut off point. :/
I did notice that you are using a lot of $align(,top) functions.. specifically the top alignment has some anti-text collision routines and I notice from your screen shot that there possibly may not be enough room between the text and progress bar to fit your text. Try using a smaller font or moving the progress bar further down.
I suggest some clear-up on the syntax before jumping into new features. When comparing to Foobar's other scripting languages this one looks more complex and less understandable, Even for developers such as myself.
I did notice that you are using a lot of $align(,top) functions.. specifically the top alignment has some anti-text collision routines and I notice from your screen shot that there possibly may not be enough room between the text and progress bar to fit your text. Try using a smaller font or moving the progress bar further down.
I tried moving the progress bar many, many pixels down - still nothing. It's really unexplicable. :/
Edit: as a Hacky Fix?, I used two $char(10)s and a lineheight to position it above. it looks lovely now
edit: scratch that... %isplaying% is returning ?. I didn't do anything... whoops?
Hi
Is there a way to add the Status info "Repeat Track", "Repeat Playlist", "Shuffle Playlist", "Default". Because i will add this to my track info so that i know that i enabled it.
Bye and Thx for any help.
DIN1031:
This has been asked before and the conclusion was that there is no existing way to pull this information with standard scripting.
I'm quite sure cwbowron's foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606&hl=foo_cwb_hooks) does this. Download it and try the variable
%cwb_playback_order%.
Hi
Is there a way to add the Status info "Repeat Track", "Repeat Playlist", "Shuffle Playlist", "Default". Because i will add this to my track info so that i know that i enabled it.
Bye and Thx for any help.
DIN1031:
This has been asked before and the conclusion was that there is no existing way to pull this information with standard scripting.
I'm quite sure cwbowron's foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606&hl=foo_cwb_hooks) does this. Download it and try the variable %cwb_playback_order%.
unfortunatly doesnt work here....
Strange that it doesn't work. Russell's Home Stereo config for this panel has a section for the Playback Order, which is using foo_cwb_hooks.
Those CWB hooks keep adding more and more useful functions I need to start checking for updates more often.. that hook was added just this past week :)
DIN1031: Make sure you update your hooks to the latest version, I just tested kockroach's suggestion and it is working fine here.
Problem with the Syntax of "#LINEHEIGHT,n#" -> I can't have it in $if statements because the "," is being parsed.
Another question: if using $font(font,size,,) wouldn't it be more useful not to touch the currently used color? At any font change, it breaks my previously set colors (and colours are a rather complicated task here, they change depending on time)
I agree...skipping a parameter from the $font(,,,) command should use the current/last value, not switch to the default. This way you could, for example, use it once to set font, size, style, and color, then use it later on to just change the size.
Problem with the Syntax of "#LINEHEIGHT,n#" -> I can't have it in $if statements because the "," is being parsed. ...
$if(xy,'#LINHEIGHT,5#','#LINHEIGHT,10#')
will work
like you expect it...!!
Another question: if using $font(font,size,,) wouldn't it be more useful not to touch the currently used color? At any font change, it breaks my previously set colors (and colours are a rather complicated task here, they change depending on time)
I've been playing with fonts and colors in both trackinfomod and singlecolumnplaylist.. and I'm fairly certain just specifying a new font does not alter the current color. As a test I opened a new trackinfomod, set the background to Grey $rgb(128,128,128) and the default text to Black $rgb(0,0,0). I then entered the following code:
$font(tahoma,7,,233-233-233)Tahoma is white$char(10)
$font(verdana,10,,)Verdana still white?
Both lines of text appeared as white as I had originally expected. If your claim were to hold true then the second line of text would have reverted to the default black or something else entirely. This would lead me to conclude that there is probably something else wrong with your code and would suggest that you debug it. If you need help then let us know. IMO it often helps to break problem code down to basic examples such as this to detect problems when code is not behaving as expected.
I've been playing with fonts and colors in both trackinfomod and singlecolumnplaylist.. and I'm fairly certain just specifying a new font does not alter the current color. As a test I opened a new trackinfomod, set the background to Grey $rgb(128,128,128) and the default text to Black $rgb(0,0,0). I then entered the following code:
$font(tahoma,7,,233-233-233)Tahoma is white$char(10)
$font(verdana,10,,)Verdana still white?
Cannot test it now - maybe it only breaks the old style color definitions (the ones which are outside of the $font statement -> ffffff)? Thanks for your hint, so possibly doing all color definitions inside of $font() would help then...
Another weakness I saw is, the colour argument in $font has a new syntax (r-g-b) diffrent from the old style ($rgb() or ffffff) -> no easy recycling of existing variables possible e.g....
I repeated the previous experiment with the following code:
$font(tahoma,7,,)$rgb(233,233,233)Tahoma is white$char(10)
$font(verdana,10,,)Verdana still white?
The second line of text did indeed fall back to the default black so yes there appears to be a problem retaining colors that were specified outside of the $font() statement. This component has historically had issues with $rgb() and BBGGRR color codes (it originally did not support them at all and singlecolumnplaylist still doesnt support them) so I have generally migrated to either the $font(,,,RR-GG-BB) format or simply re-specify the color with $rgb() after every $font() command. I no longer use the BBGGRR format codes as they often do not paste into the forum properly and I'm usually too lazy for binhex conversions.
But you are right, there does seem to be some buggy behavior when $font() and $rgb() interact.
iirc, there's $textcolor function. not that these issues with colors, fonts, styles etc. should have not been fixed / taken care off in the first place ...
it seems I can not get this one to work , doesn't $font support functions inside it ?
$puts(size,$div($calcwidth(%_path%),100))
$font(Arial,$get(size),,)
or is there any better way to fit a text line to 1 line only (reduce font size if wider than panel size)
thanks
The $font() function does indeed support functions inside of it, however the size parameter you are specifying is in font point sizes not pixel size, and the size you are generating with $calcwidth() is pixel size not font point size. terrestrial actually had it written the other way originally but we encouraged him to change is so that for example $font(tahoma,8,,) would appear the same size as 8pt tahoma in every other plugin.
What you need to do is convert your pixel size to font size. There is a formula pasted somewhere earlier in this thread. Or you can do something like:
$font(Arial,$ifgreater($calcwidth(%path%),%_width%,7,12),,)%path%
though it's hard to give a good example without knowing your application I think maybe you can see where I'm going.
Those CWB hooks keep adding more and more useful functions I need to start checking for updates more often.. that hook was added just this past week
DIN1031: Make sure you update your hooks to the latest version, I just tested kockroach's suggestion and it is working fine here.
Thx a lot it work fine .
Bye
DIN1031
$padding(0,49)
$padding(0,29)
$drawrect(,,,12,brushcolor-null pencolor-255-255-255)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),8,brushcolor-255-255-255 pencolor-null),)
$alignabs(5,80,60,60,60,60)$font(,8,bold,128-128-128)[%playback_time%]$alignabs(275,80,60,60,60,60)%length%
$alignabs(110,80,600,600,60,60)$font(,8,bold,128-128-128)$upper(%_trackinfo_mode%)
$alignabs(5,100,%_width%,%_height%,left,top)
$font(Lucida Sans Unicode,8,bold,100-100-100)$upper(%bitrate% %codec% %channels% - $if(%play_count%,$if($strcmp(%play_count%,1),PLAYED 1 TIME,PLAYED %play_count% TIMES),NOT PLAYED YET))
I half-stole-half-created that code. Anyway, I want to make the two pieces of text inside the progress bar - %_trackinfo_mode% and %length% to be centered and right-justified, so I can use any width in foobar I like. How would I do that?
Is this the sort of thing you are looking for?
$padding(0,49)
$padding(0,29)
$drawrect(,,,12,brushcolor-null pencolor-255-255-255)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),8,brushcolor-255-255-255 pencolor-null),)
//$alignabs(5,80,60,60,60,60)
$align(left,)$font(,8,bold,128-128-128)[%playback_time%]
//$alignabs(275,80,60,60,60,60)
$align(right,)%length%
//$alignabs(110,80,600,600,60,60)
$align(center,)$font(,8,bold,128-128-128)$upper(%_trackinfo_mode%)
$alignabs(5,100,%_width%,%_height%,left,top)
$font(Lucida Sans Unicode,8,bold,100-100-100)$upper(%bitrate% %codec% %channels% - $if(%play_count%,$if($strcmp(%play_count%,1),PLAYED 1 TIME,PLAYED %play_count% TIMES),NOT PLAYED YET))
The $font() function does indeed support functions inside of it, however the size parameter you are specifying is in font point sizes not pixel size, and the size you are generating with $calcwidth() is pixel size not font point size. terrestrial actually had it written the other way originally but we encouraged him to change is so that for example $font(tahoma,8,,) would appear the same size as 8pt tahoma in every other plugin.
What you need to do is convert your pixel size to font size. There is a formula pasted somewhere earlier in this thread. Or you can do something like:
$font(Arial,$ifgreater($calcwidth(%path%),%_width%,7,12),,)%path%
though it's hard to give a good example without knowing your application I think maybe you can see where I'm going.
what i've been trying is to fit the txt to the panel, my code was wrong for sure i was just trying to init some coding and test the var.
thanks for the solution. but I noticed weird behavior from calwidth function. Take a look at these 2 captures.
(http://img209.imageshack.us/img209/5456/tinfo1jb0.th.gif) (http://img209.imageshack.us/my.php?image=tinfo1jb0.gif)
(http://img100.imageshack.us/img100/1835/tinfo2ll0.th.gif) (http://img100.imageshack.us/my.php?image=tinfo2ll0.gif)
$calcwidth(%path%) / %_width%
$puts(txt2,$font(Trebuchet MS,$ifgreater($calcwidth(%path%),%_width%,7,10),,))
.......
$get(txt2)%_path%
my panel size is indeed 1024 (max screen). the font size was changed even when the txt width was still smaller than %width%
did I do something wrong ?
another example of long path txt (bigger than 1024) being wrapped, using the original $puts(txt2,$font(Trebuchet MS,10,,))
(http://img99.imageshack.us/img99/889/tinfo3hv8.th.gif) (http://img99.imageshack.us/my.php?image=tinfo3hv8.gif)
what is the default setting for this foo_trackinfo_mod? I deleted it and cannot get any of the posted codes working right. I don't know squat about writing code so I'll just stick with the default for now.
FWIW, my track info column is set up like the above. It goes almost across the whole screen and is a few inches high.
Thanks,
Ron
huythuy:
The font sizes used to be pixel sizes, but now are point sizes. To convert between them you can use this formula: pixels = points*dpi/72 (where dpi is normally 92). Point size seems to be consistent with Columns UI and everything else, at least to me. Are you sure you have the latest version?
You can either try to calculate the size of the font by applying the above formula or here is an alternate approach I used earlier to switch between three different font templates based on the length of text in relation to the width of the panel. Basically it sets the font to a large value, then compares the width of the text string to the width of the panel and if it's too long it knocks it down to a smaller font size, then repeats the process.
(http://img372.imageshack.us/img372/6132/panel1gy5.png) (http://imageshack.us)
This one auto-switches between 3 font layouts based on the length of the song & album titles
$font(Tahoma,16,,)
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,10,shadow,),$font(,14,shadow,))
$align(left,)$rgb(233,233,233)$if(%artist%,%artist% $rgb(0,128,255)$char(47)$rgb(233,233,233) ,)$if2(%title%,)
$font(Tahoma,16,,)
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),,
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,10,shadow,)$align(right,bottom),$font(,14,shadow,)$align(right,))
$ifgreater($add($calcwidth(%artist%%title%%album%%date%),10),%_width%,$font(,7,shadow,),)
$rgb(180,180,180)$if2(%album%,)$if(%date%, $rgb(0,128,255)$char(40)$rgb(180,180,180)%date%$rgb(0,128,255)$char(41),)
)
foreveranoob1:
To reset any component to it's default settings:
- Close foobar
- Remove the component .dll from the foobar components directory
- Restart foobar and answer [No] when prompted if you want to retain the old settings
- Close foobar
- Replace the component .dll into the foobar components directory
- Restart foobar
However to answer your question, the default settings I see for this component are:
Font: MS Shell Dlg 8pt
Default text: $rgb(0,0,0)
Background: $rgb(255,255,255)
Vertical padding: 10
Horizontal padding: 10
Minimum Height: 0
Edge Style: Sunken
Formatting String:
Mode: %_trackinfo_mode%$char(10)$char(10)$if(%_trackinfo_notrack%,No track,Artist: %artist%$char(10)Title: %title%$char(10)Album: %album%)
Though to be perfectly honest the first thing I do whenever I add one of thise panels is set vertical and horizontal padding to 0 and the edge style to none.
Yotsuya,
Thanks!
Add icons to the bottom of your trackinfo to indicate file type, tag types, and current playback mode:
(http://img166.imageshack.us/img166/1254/fileinfosz6.png) (http://imageshack.us)
// File Icon
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
$imageabs(,$sub(%_height%,52),icons\png\%codec%.png,)
,
$imageabs(,$sub(%_height%,52),icons\png\$replace(%filename_ext%,%filename%.,).png,)
)
// Tag Icons
$if($strstr($info(tagtype),id3v1),$imageabs(60,$sub(%_height%,52),icons\png\ID3v1.png,))
$if($strstr($info(tagtype),id3v2),$imageabs(110,$sub(%_height%,52),icons\png\ID3v2.png,))
$if($strstr($info(tagtype),apev2),$imageabs(160,$sub(%_height%,52),icons\png\APEv1.png,))
// Playback Icon
$imageabs($sub(%_width%,36),$sub(%_height%,47),images\
$if(%ispaused%,pause.png,$if(%isplaying%,play.png,stop.png))
,)
$font(Verdana,10,bold,128-128-128)
$if(%ispaused%,
$alignabs($sub(%_width%,47),$sub(%_height%,20),%_width%,%_height%,,)Pause
,$if(%isplaying%,
$alignabs($sub(%_width%,40),$sub(%_height%,20),%_width%,%_height%,,)Play
,
$alignabs($sub(%_width%,40),$sub(%_height%,20),%_width%,%_height%,,)Stop
))
Images Used:
The file type icons are simple png conversions of the ico files that are included with foobar.
(http://img461.imageshack.us/img461/2927/id3v1xc0.png) (http://imageshack.us) (http://img461.imageshack.us/img461/6887/id3v2ky0.png) (http://imageshack.us) (http://img166.imageshack.us/img166/2467/apev2zu0.png) (http://imageshack.us)
ID3v1.png, ID3v2.png, APEv2.png
(http://img364.imageshack.us/img364/2734/pauseqo9.png) (http://imageshack.us) (http://img520.imageshack.us/img520/1206/playdv2.png) (http://imageshack.us) (http://img520.imageshack.us/img520/7897/stopom2.png) (http://imageshack.us)
pause.png, play.png, stop.png
what is the default setting for this foo_trackinfo_mod? I deleted it and cannot get any of the posted codes working right. I don't know squat about writing code so I'll just stick with the default for now.
FWIW, my track info column is set up like the above. It goes almost across the whole screen and is a few inches high.
Thanks,
Ron
you can use mine , here is the code , there is no nuclear power here, just some simple codes allow me to read info from 2 meters away . I prefer it spans like this in order to display long title tracks of classical music . I did not even check the tags if it available then replace with path info because I LOVE
? sign hehe it helps me know that information is missing. You should choose a different font instead of "interstate" and "Jocelyn".
$puts(txt1,$font(Interstate Light Cond,18,bold,))
$puts(txt2,$font(Trebuchet MS,10,,))
$puts(txt3,$font(Jocelyn,37,,))
$puts(color1,FFFFFF)
$puts(color2,276EB4)
$puts(color3,318CB9)
$puts(color4,7CBEDB)
$puts(bgcolor,000000)
$if(%_trackinfo_notrack%,DBBE7CNo track,
$alignset()
$alignrel(left,top)
$get(txt1)
$get(color4)$upper(%artist%) $if(%composer%,$get(color2)'['%composer%']',) $char(10)
$get(color1)%title% $get(color2)'['%tracknumber%']'$char(10)
$get(color2)%album% $get(color4)'['%date%']'$char(10)
$if(%_trackinfo_notrack%,'.',$get(txt2)$get(bgcolor).$char(10)$get(color1)%_path%)
$alignabs(right,top)
$get(txt3)$get(color3)$if(%_isplaying%,%_time_elapsed%/)%length%$char(10)
$get(txt1)$get(color4)%rating% stars
)
(http://img100.imageshack.us/img100/1835/tinfo2ll0.gif)
================
@Yotsuya ; Thanks . I'd prefer to scale down the font size to fit rather than choosing between font options. I will try to use the formula later.
This is what I've been working on.
(http://img98.imageshack.us/img98/3079/neogrotesquegr9.png) (http://imageshack.us)
(http://img461.imageshack.us/img461/2927/id3v1xc0.png) (http://imageshack.us) (http://img461.imageshack.us/img461/6887/id3v2ky0.png) (http://imageshack.us) (http://img166.imageshack.us/img166/2467/apev2zu0.png) (http://imageshack.us)
ID3v1.png, ID3v2.png, APEv2.png
Those images are awesome. Do you happen to have ones for FLAC files?
Um, that's the default PLS icon included with foobar .. look in your icons directory. All I did was photoshop out the "PLS" and replace it with "ID3v1" "ID3v2" and "APEv2". make sure to enable thumbnail view or load the files in irfanview etc to see the full size icons.
Guess I meant something like "Vorbis" for the comments. Oh well, no biggie.
What you need to do is convert your pixel size to font size. There is a formula pasted somewhere earlier in this thread. Or you can do something like:
$font(Arial,$ifgreater($calcwidth(%path%),%_width%,7,12),,)%path%
I used something like this:
$puts(txt1,$if($greater($mul($calcwidth(%artist% - %title%),5),%_width%),
$if($greater($mul($calcwidth(%artist% - %title%),4),%_width%),
$if($greater($mul($calcwidth(%artist% - %title%),3),%_width%),
$if($greater($add($mul($calcwidth(%artist% - %title%),2),75),%_width%),
10,15),20),25),30))
edit: double post
Anyone know how to get this going from bottom to top, instead of top to bottom
$padding(0,0)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_height%,4),%length_seconds%))
$ifgreater($get(progress),0,
$padding(0,0)$drawrect(,,4,$get(progress),brushcolor-175-175-175 pencolor-null),)
Is there a way to set the font size in pt instead of px? I can't emulate tahoma 8pt through the $font function.
Elliott:
(http://img338.imageshack.us/img338/9756/testep9.png) (http://imageshack.us)
Your code appears to be working fine on my end. Have you tried making another panel and pasting the code? Have you tried using a different font? Is there more code being used in the panel than what you posted?
I got the same problems as Elliott. If I have a panel which is high enough, the time appears. But when resizing the panel, the time disappears suddenly when it reaches around the middle of the panel. The progressbar is drawn even at the bottom of the panel...
Is this the sort of thing you are looking for?
$padding(0,49)
$padding(0,29)
$drawrect(,,,12,brushcolor-null pencolor-255-255-255)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),8,brushcolor-255-255-255 pencolor-null),)
//$alignabs(5,80,60,60,60,60)
$align(left,)$font(,8,bold,128-128-128)[%playback_time%]
//$alignabs(275,80,60,60,60,60)
$align(right,)%length%
//$alignabs(110,80,600,600,60,60)
$align(center,)$font(,8,bold,128-128-128)$upper(%_trackinfo_mode%)
$alignabs(5,100,%_width%,%_height%,left,top)
$font(Lucida Sans Unicode,8,bold,100-100-100)$upper(%bitrate% %codec% %channels% - $if(%play_count%,$if($strcmp(%play_count%,1),PLAYED 1 TIME,PLAYED %play_count% TIMES),NOT PLAYED YET))
I get the same problem here. If I resize my panel, at one point, the time-text disappears, while the bar (and the info below (bitrate, codec, ...)) is still visible. I make it higher again and the text reapears... Strange..
Metal Termite:
There were a few earlier versions of this component where fonts were specified in pixel size, however afaik fonts are already changed to point size instead of pixel. Does $font(tahoma,8,,) not give you the same size text as other panels displaying Tahoma 8pt font? If not, make sure you have a recent version of this component and post some code and screenshots demonstrating the problem.
EddieFAF,
Ken-chan,
Eliott:
I think the problem with the disappearing text is being caused by the use of the $padding() function all that padding is adding up and if you shrink your panel I think it's clipping off the text. The progress bar itself is not affected because it uses absolute alignment. I have merged all your code and rewritten it using $alignabs() instead of $align() and $padding():
// Common Variables
$puts(progress,$muldiv(100,%playback_time_seconds%,%length_seconds%))
$puts(offset.x,20)
$puts(offset.top,10)
$puts(offset.bottom,40)
// Main Text
$font(tahoma,7,,)
$alignabs($get(offset.x),$get(offset.top),%_width%,%_height%,,)[%album%]
$alignabs($get(offset.x),$add($get(offset.top),10),%_width%,%_height%,,)[Track %tracknumber%]
$alignabs($get(offset.x),$add($get(offset.top),20),%_width%,%_height%,,)[%date%]
$alignabs($sub(%_width%,$mul($get(offset.x),2)),$get(offset.top),%_width%,%_height%,,)[CD %discnumber%]
//$alignabs($sub(%_width%,$mul($get(offset.x),2)),$add($get(offset.top),10),%_width%,%_height%,,)[]
$alignabs($sub(%_width%,$mul($get(offset.x),2)),$add($get(offset.top),20),%_width%,%_height%,,)[%genre%]
// Progress Bar
$drawrect($get(offset.x),$sub(%_height%,$get(offset.bottom)),$sub(%_width%,$mul($get(offset.x),2)),10,brushcolor-null pencolor-255-255-255)
$ifgreater($get(progress),0,
$drawrect($get(offset.x),$sub(%_height%,$sub($get(offset.bottom),2)),$muldiv($get(progress),$sub(%_width%,$mul($get(offset.x),2)),100),6,brushcolor-255-255-255 pencolor-null)
,)
// Progress Text
$font(tahoma,7,,)
$alignabs($get(offset.x),$sub(%_height%,$get(offset.bottom)),%_width%,%_height%,,)[%_time_elapsed%]
$alignabs($div($sub(%_width%,$calcwidth($upper(%_trackinfo_mode%))),2),$sub(%_height%,$get(offset.bottom)),%_width%,%_height%,,)[$upper(%_trackinfo_mode%)]
$alignabs($sub(%_width%,$calcwidth(%length%),$get(offset.x)),$sub(%_height%,$get(offset.bottom)),%_width%,%_height%,,)[%length%]
// Bottom Text
$font(Lucida Sans Unicode,8,bold,100-100-100)
$alignabs($get(offset.x),$sub(%_height%,16),%_width%,%_height%,,)
$upper(%bitrate% %codec% %channels% - $if(%play_count%,$if($strcmp(%play_count%,1),PLAYED 1 TIME,PLAYED %play_count% TIMES),NOT PLAYED YET))
Hopefully atleast one of you will find this helpful.
sorry for interrupting this thread by a stupid question, but I have to ask again....hehe
This animated "default line ending style" scroll is planed to be implemented in near future?
A simple Yes or No would be enough!
Ok another importand question for me is:
Can I run a uptodate version of "trackinfo mod panel" together with this bugfixed version of orig. Trackinfo panel (0.82) simultanious?
I tried this for a few weeks with one of the first mod-rls but it seemed not to work.
thx a lot
To Infernus' 2nd:
---> Just try it !! (and allways backup your scripts)
And here is mine:
I dont get the font-thing right ... - How are the pt or px of a font measured ? -Length or Height of a typical sign?? -Or the multiplication of its L and H ?? -Or what else ...??
(I need this to get the half-height [in px] of a variable font-size, I'm working on ... )
.THNX.
I love this new version with the image support and advanced code.
Though I think there is a bug with the font sizes in the $font function. 8 is pretty small but 9 is as large as 10 if I would use the font dialog at the top.
EDIT: I can confirm this with more than one font. I hope you understand what I mean by the way. Can anyone else confirm there is something weird here?
(http://img201.imageshack.us/img201/5643/tihp3.png)
$font(,,nocleartype,)
default Tahoma 8pt as set in trackinfo configuration
$char(10)
$font(tahoma,8,nocleartype,)
Tahoma 8 as set by '$font' function
im using this to display lyrics and is there a way i can add a scrollbar to the side of it so i can scroll through the lyrics? i tried some lyrics panels but they all autoscroll and I can't get any of them to let me manually scroll.
im using this to display lyrics and is there a way i can add a scrollbar to the side of it so i can scroll through the lyrics? i tried some lyrics panels but they all autoscroll and I can't get any of them to let me manually scroll.
You can scroll with the mouse wheel, but it would be nice to have a scrollbar option.
im using this to display lyrics and is there a way i can add a scrollbar to the side of it so i can scroll through the lyrics? i tried some lyrics panels but they all autoscroll and I can't get any of them to let me manually scroll.
You can scroll with the mouse wheel, but it would be nice to have a scrollbar option.
im on a laptop, no mouse wheel
The problem for me is 9. $font 9 = font setting 10. And the difference in size between $font 8 and 9 is too big. The $font sizes should be consistent with the sizes in font settings, shouldn't they? terrestrial, is it possible to fix this?
terrestrial: any plans on adding the $imageabs2() function to this component like you did with singlecolumnsplaylist?
(http://img180.imageshack.us/img180/2240/scrnshtyq6.png) (http://img180.imageshack.us/my.php?image=scrnshtyq6.png)
I made a circle-spinny progress thing. It advances during playback. I know this is overkill, but it looks cool.
$if($stricmp($mod(%_time_elapsed_seconds%,40),0),$imageabs($sub(%_width%,102),3,images\count1.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),1),$imageabs($sub(%_width%,102),3,images\count2.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),2),$imageabs($sub(%_width%,102),3,images\count3.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),3),$imageabs($sub(%_width%,102),3,images\count4.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),4),$imageabs($sub(%_width%,102),3,images\count5.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),5),$imageabs($sub(%_width%,102),3,images\count6.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),6),$imageabs($sub(%_width%,102),3,images\count7.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),7),$imageabs($sub(%_width%,102),3,images\count8.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),8),$imageabs($sub(%_width%,102),3,images\count9.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),9),$imageabs($sub(%_width%,102),3,images\count10.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),10),$imageabs($sub(%_width%,102),3,images\count11.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),11),$imageabs($sub(%_width%,102),3,images\count12.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),12),$imageabs($sub(%_width%,102),3,images\count13.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),13),$imageabs($sub(%_width%,102),3,images\count14.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),14),$imageabs($sub(%_width%,102),3,images\count15.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),15),$imageabs($sub(%_width%,102),3,images\count16.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),16),$imageabs($sub(%_width%,102),3,images\count17.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),17),$imageabs($sub(%_width%,102),3,images\count18.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),18),$imageabs($sub(%_width%,102),3,images\count19.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),19),$imageabs($sub(%_width%,102),3,images\count20.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),20),$imageabs($sub(%_width%,102),3,images\count21.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),21),$imageabs($sub(%_width%,102),3,images\count22.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),22),$imageabs($sub(%_width%,102),3,images\count23.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),23),$imageabs($sub(%_width%,102),3,images\count24.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),24),$imageabs($sub(%_width%,102),3,images\count25.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),25),$imageabs($sub(%_width%,102),3,images\count26.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),26),$imageabs($sub(%_width%,102),3,images\count27.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),27),$imageabs($sub(%_width%,102),3,images\count28.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),28),$imageabs($sub(%_width%,102),3,images\count29.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),29),$imageabs($sub(%_width%,102),3,images\count30.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),30),$imageabs($sub(%_width%,102),3,images\count31.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),31),$imageabs($sub(%_width%,102),3,images\count32.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),32),$imageabs($sub(%_width%,102),3,images\count33.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),33),$imageabs($sub(%_width%,102),3,images\count34.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),34),$imageabs($sub(%_width%,102),3,images\count35.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),35),$imageabs($sub(%_width%,102),3,images\count36.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),36),$imageabs($sub(%_width%,102),3,images\count37.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),37),$imageabs($sub(%_width%,102),3,images\count38.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),38),$imageabs($sub(%_width%,102),3,images\count39.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),39),$imageabs($sub(%_width%,102),3,images\count40.png,))
And the image files:
If you have the patience, try coming up with new designs and post them here.
Here's a copy of the image I started with, made with SolidWorks.
[url=http://img123.imageshack.us/my.php?image=countfm0.png](http://img123.imageshack.us/img123/5131/countfm0.th.png) (http://www.parodius.com/~rouge/count.zip[/url)
edit: changed host
Hey Rouge, I keep getting a corrupt download file. Any chance of putting it on Rapidshare or Sendspace please?
Cheers
Oops. Fixed.
FTP server seems to be brok.
Is there any way to make images put in panels clickable? I want to add play, pause, and stop buttons.
Hey,
ive read this entire post twice, and i still dont know how to add a picture into my trackinfo panel, can someone please explain it to me ?
thanks
@Lampir
Heres the link to the WIKI page of the trackinfo_mod
CLICK (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#To_include_an_image_.28Note:_Only_PNGs_are_supported.29:)
Well, actually the link is in the first post of this topic, too
nice thing,
rouge. i had similar idea (just a circular sector or something like that), but i was lazy to make all the images . i would like terrestrial to add functions to draw more types of primitives including ellipses and sectors.
tip: you could calculate the progress state (number from interval 0..maximage) and then just put it in the $imageabs function like: $imageabs($sub(%_width%,102),3,images\count
$get(progress).png,))
Is there any way to make images put in panels clickable? I want to add play, pause, and stop buttons.
not yet, it's on todo though.
(http://img180.imageshack.us/img180/2240/scrnshtyq6.png) (http://img180.imageshack.us/my.php?image=scrnshtyq6.png)
I made a circle-spinny progress thing. It advances during playback. I know this is overkill, but it looks cool.
And the image files:
count.zip (http://rapidshare.de/files/33866850/count.zip.html)
If you have the patience, try coming up with new designs and post them here.
Here's a copy of the image I started with, made with SolidWorks.
(http://img123.imageshack.us/img123/5131/countfm0.th.png) (http://img123.imageshack.us/my.php?image=countfm0.png)
edit: changed host
That looks awesome!
Something like this would look awesome with Russell777's Home Stereo Panel as a volume indicator.
@Lampir
Heres the link to the WIKI page of the trackinfo_mod
CLICK (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#To_include_an_image_.28Note:_Only_PNGs_are_supported.29:)
Well, actually the link is in the first post of this topic, too
Thanks but it still doesnt explain where to put it, i put it up the top of the rest of my track info code and all i see is unknown function where the pic should be
eg > this is mine >
$align(left,top)
$imageabs(0,0,D:\Program Files\foobar2000\default.png)
i tried it in the application data folder too, still get [unknown function], what am i doin wrong
Try $imageabs(0,0,default.png,)
Try $imageabs(0,0,default.png,)
thanks $imageabs(0,0,images/default.png,) worked
im using this to display lyrics and is there a way i can add a scrollbar to the side of it so i can scroll through the lyrics? i tried some lyrics panels but they all autoscroll and I can't get any of them to let me manually scroll.
You can scroll with the mouse wheel, but it would be nice to have a scrollbar option.
Actually, you can't scroll at all, I was thinking of the normal trackinfo.
Anyway,
terrestrial, any chance of adding scrolling..?
On the Wiki I saw there is an alpha blending option for text; Is alpha blending available for images too?
On the Wiki I saw there is an alpha blending option for text; Is alpha blending available for images too?
yes, it has been added recently, i saw it in some changelog.
EDIT: Nevermind.
I can't find it in the changelog. :/
stupid me, that's because it's in foo_uie_single_column_playlist's changelog. it will get into track info panel mod eventually.
(http://img180.imageshack.us/img180/2240/scrnshtyq6.png) (http://img180.imageshack.us/my.php?image=scrnshtyq6.png)
I made a circle-spinny progress thing. It advances during playback. I know this is overkill, but it looks cool.
$if($stricmp($mod(%_time_elapsed_seconds%,40),0),$imageabs($sub(%_width%,102),3,images\count1.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),1),$imageabs($sub(%_width%,102),3,images\count2.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),2),$imageabs($sub(%_width%,102),3,images\count3.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),3),$imageabs($sub(%_width%,102),3,images\count4.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),4),$imageabs($sub(%_width%,102),3,images\count5.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),5),$imageabs($sub(%_width%,102),3,images\count6.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),6),$imageabs($sub(%_width%,102),3,images\count7.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),7),$imageabs($sub(%_width%,102),3,images\count8.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),8),$imageabs($sub(%_width%,102),3,images\count9.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),9),$imageabs($sub(%_width%,102),3,images\count10.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),10),$imageabs($sub(%_width%,102),3,images\count11.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),11),$imageabs($sub(%_width%,102),3,images\count12.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),12),$imageabs($sub(%_width%,102),3,images\count13.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),13),$imageabs($sub(%_width%,102),3,images\count14.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),14),$imageabs($sub(%_width%,102),3,images\count15.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),15),$imageabs($sub(%_width%,102),3,images\count16.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),16),$imageabs($sub(%_width%,102),3,images\count17.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),17),$imageabs($sub(%_width%,102),3,images\count18.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),18),$imageabs($sub(%_width%,102),3,images\count19.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),19),$imageabs($sub(%_width%,102),3,images\count20.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),20),$imageabs($sub(%_width%,102),3,images\count21.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),21),$imageabs($sub(%_width%,102),3,images\count22.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),22),$imageabs($sub(%_width%,102),3,images\count23.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),23),$imageabs($sub(%_width%,102),3,images\count24.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),24),$imageabs($sub(%_width%,102),3,images\count25.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),25),$imageabs($sub(%_width%,102),3,images\count26.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),26),$imageabs($sub(%_width%,102),3,images\count27.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),27),$imageabs($sub(%_width%,102),3,images\count28.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),28),$imageabs($sub(%_width%,102),3,images\count29.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),29),$imageabs($sub(%_width%,102),3,images\count30.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),30),$imageabs($sub(%_width%,102),3,images\count31.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),31),$imageabs($sub(%_width%,102),3,images\count32.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),32),$imageabs($sub(%_width%,102),3,images\count33.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),33),$imageabs($sub(%_width%,102),3,images\count34.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),34),$imageabs($sub(%_width%,102),3,images\count35.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),35),$imageabs($sub(%_width%,102),3,images\count36.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),36),$imageabs($sub(%_width%,102),3,images\count37.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),37),$imageabs($sub(%_width%,102),3,images\count38.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),38),$imageabs($sub(%_width%,102),3,images\count39.png,))
$if($stricmp($mod(%_time_elapsed_seconds%,40),39),$imageabs($sub(%_width%,102),3,images\count40.png,))
And the image files:
count.zip (http://rapidshare.de/files/33866850/count.zip.html)
If you have the patience, try coming up with new designs and post them here.
Here's a copy of the image I started with, made with SolidWorks.
(http://img123.imageshack.us/img123/5131/countfm0.th.png) (http://img123.imageshack.us/my.php?image=countfm0.png)
edit: changed host
I hope you don't mind, I rewrote your code to be slightly more compact and easier to play with:
$puts(count_idx,$add($mod(%_time_elapsed_seconds%,40),1))
$puts(count_path,images\circ_count\count$get(count_idx).png)
$imageabs($sub(%_width%,102),3,$get(count_path),)
I have a feature request which is probably way hard to do. I wonder if it's possible for this plugin to support opentype features like automatic ligatures and small caps and so on. It would be absolutely wonderful if it could; it would marry my love of typography with my love of music!
[a href=\"http://img180.imageshack.us/my.php?image=scrnshtyq6.png\" target=\"_blank\"]
Hi
Thanks to the new functions of foo_cwb_hooks i wanted to try to do a new kind of progress bar
A sort of scrolling timeline.
(http://img222.imageshack.us/img222/7725/timelinesi6.png)
$puts(x,$muldiv(%playback_time_seconds%,%_width%,%length_seconds%))
// NOW PLAYING ////////////////////////////////////////////
$drawrect($sub(0,$get(x)),,%_width%,%_height%,pencolor-112-112-128 brushcolor-5-0-5 width-5)
$puts(b25,$muldiv(%_width%,25,100))
$drawrect($sub($get(b25),$get(x)),0,2,$muldiv(%_height%,20,100),pencolor-112-112-128)
$puts(b50,$muldiv(%_width%,50,100))
$drawrect($sub($get(b50),$get(x)),0,2,$muldiv(%_height%,30,100),pencolor-112-112-128)
$puts(b75,$muldiv(%_width%,75,100))
$drawrect($sub($get(b75),$get(x)),0,2,$muldiv(%_height%,40,100),pencolor-112-112-128)
$alignabs($sub(0,$get(x),10),5,%_width%,%_height%,right,top)
$font(Arial,16,bold,192-144-255)
[%playback_time_remaining%]
$alignabs($sub(0,$get(x),10),0,%_width%,%_height%,right,middle)
$font(Arial,12,bold,64-0-128)
['['%date%'] '][%album%][' [cd'%disc%'] ']
$alignabs($sub(0,$get(x),10),-5,%_width%,%_height%,right,bottom)
$font(Arial,16,bold,192-144-255)
[%artist%]
$alignabs(10,0,%_width%,%_height%,left,middle)
$font(Arial,18,bold glow-128-0-255 glowblur-5,16-0-32)
[%title%]
// NEXT SONG ///////////////////////////////////////////////
$drawrect($sub(%_width%,$get(x)),,%_width%,%_height%,pencolor-112-112-128 brushcolor-64-64-64 width-5)
$font(Arial,46,bold shadow,64-64-64)
$alignabs($add($sub(%_width%,$get(x)),10),0,%_width%,%_height%,left,middle)
'COMING NeXT'
$font(Arial,16,bold shadow,112-112-112)
$puts(th,$calcheight(%cwb_next_artist%))
$alignabs($add($sub(%_width%,$get(x)),10),$sub(%_height%,$get(th),5),$sub($max($get(x),20),20),$get(th),right,bottom)
[%cwb_next_artist%]
$font(Arial,18,bold shadow,128-128-128)
$alignabs($add($sub(%_width%,$get(x)),10),0,%_width%,%_height%,left,middle)
[%cwb_next_title%]
Requirements:
- Vertical & Horizontal padding : 0
- Minimum height: 75
- Update every second: checked
- foo_cwb_hooks.dll
Works only for default playback order
Very nice! If only the onscreen programming guide on my cable box did something like this :)
[a href=\"http://img180.imageshack.us/my.php?image=scrnshtyq6.png\" target=\"_blank\"]
and what code should i use if i want to use this images to be shown during progress? not every second?
ok i get it working as a progress bar but the code has 100 lines... any chance to get it shorter?
Other Image for same stuff, you can find here (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=48761&view=findpost&p=435164)
Looks like so:
(http://home.arcor.de/strictly2me//count.png)
((((( Strictly4me )))))
Sihkih:
Is this the sort of thing you are looking for?
$imageabs($sub(%_width%,102),$sub(%_height%,102),images\progress.circle\count$muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),40,100).png,)
*note: copy count40.png to count0.png
terrestrial: any plans on adding the $imageabs2() function to this component like you did with singlecolumnsplaylist?
I would like to know this, too.
Sihkih:
Is this the sort of thing you are looking for?
$imageabs($sub(%_width%,102),$sub(%_height%,102),images\progress.circle\count$muldiv($muldiv(100,%playback_time_seconds%,%length_seconds%),40,100).png,)
*note: copy count40.png to count0.png
yes thank you
Yotsuya:Thanks
Edite: I found I can keep both but now I have installed all the components but can't see the
new foo_uie_trackinfo_mod in the Columns UI Panel with the old trackinfo I only see the old one not the new one.
I have .net and c++ installed and all the fonts and what not installed why Can't I see the foo_uie_trackinfo_mod?
It would be excellent if .jpg were supported, and I'm sure this was probably already suggested...
That would do a good job of eliminating my need for an album art panel.
Great job on this. I'm definitely looking forward to the switch in $imageabs to $imageabs2. Keep it up.
It would be excellent if .jpg were supported, and I'm sure this was probably already suggested...
That would do a good job of eliminating my need for an album art panel.
Great job on this. I'm definitely looking forward to the switch in $imageabs to $imageabs2. Keep it up.
$imageabs2 supports .jpg files, so it's being requested
xchaser: as long as you are using a recent version of foo_uie_trackinfo_mod.dll, the two will coexist peacefully and maintain their own settings.
Chase: foo_uie_single_column_playlist.dll supports .jpg in $imageabs2(), hopefully terrestrial will bring the same functionality to this component.
updated.
here is some sample code for ratings:
$puts(rating,$if(%rating%,%rating%,0))
$button(0,0,0,0,25,25,images\$get(rating).png,images\1.png,Set Rating = 1,)
$button(0,0,25,0,25,25,images\$get(rating).png,images\2.png,Set Rating = 2,)
$button(0,0,50,0,25,25,images\$get(rating).png,images\3.png,Set Rating = 3,)
$button(0,0,75,0,25,25,images\$get(rating).png,images\4.png,Set Rating = 4,)
$button(0,0,100,0,25,25,images\$get(rating).png,images\5.png,Set Rating = 5,)
9/26/06
+ added support for cwb_hooks callback notifications
+ buttons - $button(dstX,dstY,x,y,w,h,image,hover image,command,options)
Yay! Buttons! Thanks for your continued dedication to these wonderful components terrestrial!
there's a slight display lag when changing track on the new build.
Nice update
I see that $imageabs2 has also been added..
Maybe you should note in the changelog about the updates that have come from single_column, not really necessary, but could be helpful for some?
I started playing around with $button() but all my images appear to be experiencing some cropping on the bottom and right edges. Is anyone else experiencing this?
parameters 3-6 don't appear to be having any effect at all.
I started playing around with $button() but all my images appear to be experiencing some cropping on the bottom and right edges. Is anyone else experiencing this?
parameters 3-6 don't appear to be having any effect at all.
Yea, I was just testing, and the images seem to be cropped to a limited size.
Parameters 3-6 are for the 'hotspot', i.e. the point where the button can be clicked, and the x and y values are relative to the top-left of the image used..
Edit: Thinking about it, I don't even know if the images need to be drawn by the button command, surely you could just draw an image with imageabs/imageabs2, and then draw the button over the top of it, setting the 'hotspot' to same x/y/w/h as the drawn image and it would give the desired effect..?
I don't seem to get any cropping here... can you post the code which you're using.
I don't seem to get any cropping here... can you post the code which you're using.
Yea, this was the code:
$button(0,0,0,0,16,16,C:\Program Files\foobar2000\images\silk\zoom.bmp,C:\Program Files\foobar2000\images\silk\folder.bmp,Set Rating = 5,)
The images are regular 16x16 24bit bitmaps. Also, they seem to be a slight bit zoomed in aswell as cropped..
I'm guessing it was the bitamps, it seems to work with png files..
I havnt tackled the command part yet, but I was trying to start with a basic button. I'm experiencing cropping on the bottom and right sides.. and I think I need to work on the hotspot bit.
$if(%isplaying%,
$button(10,10,10,35,25,15,images\button.pause.png,images\hover.pause.png,Pause,)
,
$button(10,10,10,35,25,15,images\button.play.png,images\hover.play.png,Play,)
)
images used:
(http://img242.imageshack.us/img242/9371/buttonpauseua7.png) (http://imageshack.us) (http://img133.imageshack.us/img133/6269/hoverpauseyd8.png) (http://imageshack.us) (http://img133.imageshack.us/img133/3391/buttonplayce5.png) (http://imageshack.us) (http://img242.imageshack.us/img242/4825/hoverplayiy9.png) (http://imageshack.us)
button.pause.png, hover.pause.png, button.play.png, hover.play.png
example of cropping:
(http://img148.imageshack.us/img148/3931/croppingph9.png) (http://imageshack.us)
O.o is there some sort of resizing going on?
example of cropping:
(http://img148.imageshack.us/img148/3931/croppingph9.png) (http://imageshack.us)
O.o is there some sort of resizing going on?
That's exactly what I was getting when using the bitmap files, but I changed to 2 png files (different sized), and they displayed fine..
Strange..
ah.
its the dpi on the images... it should be equal to the dpi windows is running at or gdi+ does some scaling. windows normal dpi is 96. or I think you can remove the dpi info form the png altogether, and you won't get scaling.
1) How would one go about removing or modifying the dpi settings of the png from photoshop or irfanview? (I've never done that before)
2) Can you give an example of how to access a "command" from regular foobar main menu commands.. or is it limited to scripts?
1) I don't have photoshop installed, but I'm pretty sure it has a setting. It should be something like image attributes...
2) right now its limited to items from the context menu.
edit: I went ahead and uploaded a new version which ignores the dpi in the images.
and you can use this code
$if(%isplaying%,
$button(10,10,0,0,0,0,images\button.pause.png,images\hover.pause.png,Pause,)
,
$button(10,10,0,0,0,0,images\button.play.png,images\hover.play.png,Play,)
)
(although the buttons don't do anything )
lol and I just figured out how to change the dpi in irfanview :)
Here's how to do it in irfanview for reference:
- Open the image in IrfanView
- Press 'I' to open the Image> Information dialogue
- The 5th line down change "Resolution" to 96x96 dpi
- Press the [Change] button to adjust the dpi
- Press the [OK] button to return to IrfanView
- Press Ctrl+S to save your changes, overwrite your existing file
- Restart foobar to load the new images.
Another possible bug:
If you leave the mouse hovered over a button, it does not continually display the hover image.
It appears maybe the hover state is being reset when the update every second is performed as this bug goes away if the update every second is unchecked.
Might aswell ask again for this, but is scrolling (not end of line scrolling, but scrolling as in a scrollbar on the right of the panel) something you're considering adding?
whoops updated before seeing russels notice that this version messes up the alignment of the home stereo display code can someone upload the last version please?
whoops updated before seeing russels notice that this version messes up the alignment of the home stereo display code can someone upload the last version please?
http://foobar.bowron.us/russell777/ (http://foobar.bowron.us/russell777/)
[Help]
I found I can keep both foo_uie_trackinfo.dll and foo_uie_trackinfo_mod.dll but now I have installed all the components but can't see the new foo_uie_trackinfo_mod in the Columns UI Panel.
I only see the old foo_uie_trackinfo.dll one not the new one.
Make sure you have the latest version of ColumnsUI (0.1.3 beat1v5).
Thanks for fixing the $font issue.
Is there any way to display an image without positioning it absolutely? So that it basically appears wherever the current cursor position is? I am trying to use images in conjunction with $progress2() to create a textured progress bar.
Make sure you have the latest version of ColumnsUI (0.1.3 beat1v5).
Thanks alot That did it. I guess I have to update the album one too heh thanks again.
I'm not sure if this is a bug or not, but I am getting artifacts on transparent PNG's left from the mouse-over image.
Original PNG:
make sure both images are the same size. it looks like you need to increase the size of the first one to match the second one.
Might aswell ask again for this, but is scrolling (not end of line scrolling, but scrolling as in a scrollbar on the right of the panel) something you're considering adding?
it's not going to work with different alignments (eg. bottom). Why would you need scrolling?
whoops updated before seeing russels notice that this version messes up the alignment of the home stereo display code can someone upload the last version please?
http://foobar.bowron.us/russell777/ (http://foobar.bowron.us/russell777/)
I'd prefer it if people didn't make old binaries publicly available as it may create confusion. If people want an older version PM or email is fine (not me though, as I don't have any older versions ).
Is there any way to display an image without positioning it absolutely? So that it basically appears wherever the current cursor position is? I am trying to use images in conjunction with $progress2() to create a textured progress bar.
not currently.
make sure both images are the same size. it looks like you need to increase the size of the first one to match the second one.
They PNG's I am using are all the same size (62x13). The images I posted here don't match in size because I just quickly took screen shots of each state and manually cropped them in IrfanView for display on here.
This is the code in case I'm doing something wrong:
// Rating Stars
$puts(rating,$if(%rating%,%rating%,0))
$button(3,3,0,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating1.png,Rating: 1 ?,)
$button(3,3,13,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating2.png,Rating: 2 ??,)
$button(3,3,26,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating3.png,Rating: 3 ???,)
$button(3,3,39,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating4.png,Rating: 4 ????,)
$button(3,3,52,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating5.png,Rating: 5 ?????,)
please post the originals and I will see if I can reproduce it.
please post the originals and I will see if I can reproduce it.
http://lunaelement.net/files/foobar_images.zip (http://lunaelement.net/files/foobar_images.zip)
there's a slight display lag when changing track on the new build.
also experiencing that behaviour
it's not going to work with different alignments (eg. bottom). Why would you need scrolling?
Good point. I asked because I wanted to display lyrics (non-timestamped) in this panel as opposed to the 'normal' trackinfo (weird behaviour when there's too much text to scroll & text doesn't stay centered if it wraps onto another line).
That's the main reason.
I've downloaded the latest version and it doesn't support buttons.
Can you tell what's the problem?
I've uploaded a new version which fixes the graphical glitch with buttons.
I've downloaded the latest version and it doesn't support buttons.
Can you tell what's the problem?
details?
I've uploaded a new version which fixes the graphical glitch with buttons.
I've downloaded the latest version and it doesn't support buttons.
Can you tell what's the problem?
details?
Where can I find the new version?
The first page of this topic has a version of Aug-30-06.
This version doesn't support buttons.
try clearing your browser cache. if you go through a proxy you might have to do other things...
The first page still says 8-30-2006 however if you click on the link, the archive you download contains a version of the component that should identify itself as "0.6 beta [Sep 27 2006 - 20:37:46]". If it doesnt, clear your cache and try again.
I'd like to request the option to be able to move/edit objects in the panel using buttons.
For example:
I could press a button, and it would shift a piece of text up, and another button which would shift a piece of text down. So basically, it would add, or subtract a certain value from a selected axis, with such a command like.. Move ID1 X 10,
where:
Move = Command Name
ID1 = ID of item which is going to be shifted (discussed below)
X = Axis to be moved along, either X or Y
10 = Value to be moved by. Positive for down/right, negative for up/left
The ID section would obviously need to be implemented somehow, maybe by adding an $id() function, where the string inside the brackets is the id for whatever follows, until a new alignment is set, or an image is drawn. OR the $id() function could have two parameters $id(<name>,<content>), where the content (a block of text/etc) is included in the function so that it is easier to identify what to be changed.
Thoughts..?
if you are able to get the width of the info box is it possible to get the width of a string? if this function is included we could elipsize the text or make it scroll without adding any other code to the plugin besides measuring the string length.
%_width% - The width of the panel in pixels
$calcwidth(x) - The width of string x in pixels
$len(x) - The width of string x in characters
thinking about it, with buttons you could make simple
tagging panel with indication of things like mood / tempo and buttons to set it. other obvious thing to set other than rating is
skip state ...
edit: i did a quick test, but the "hotspots" are shifted, i have no idea what i did wrong - or if it is a bug. i had to move my mouse someplace under "joyful" for "sad" to get hover image:
):
$font(Calibri,10,Bold,90-90-90)
$alignabs(5,5,100,15,left,center)mood
$font(Calibri,10,,90-90-90)
$alignabs(22,20,100,15,left,center)sad
$alignabs(22,35,100,15,left,center)joyful
$alignabs(22,50,100,15,left,center)relaxing
$button(5,20,5,20,122,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
$button(5,35,5,35,122,15,data\misc images\choise2-yes.png,data\misc images\choise2-yes-focused.png,,)
$button(5,50,5,50,122,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
buttons just don't display no matter what for me. :/
Yeah, this update sounds fantastic. But I have
a FEW questions:
I haven't understood the parameters of the $button - function .... (dstX,dstY,x,y,w,h)
Please, can someone shortly explain them to me ??
And what is ment with "Options" for the $button-function ...??
I second the request for a list of "new" functions (like $imageabs2 ), since I dont use the "Single-Column-Playlist".
To stay on this way:
"$imageabs2" is working how ??
And it was mentioned, that the font-thing had been fixed. So I can repeat my old question:
-How is the font-size measured ?? -The width of a character, or its height, or what else ?? (I dont mean px or pt. Just the dimension)
.THNX.
for your help !!
Like Sw!ng, I'd like a full explanation of $imageabs2(). I tried following this, taken from the changelog for single column display,
$imageabs2(resizeW,resizeH,srcX,srcY,srcW,srcH,dstX,dstY,image,options)
but couldn't get it working properly. The first two parameters only seem to move the picture, not resize. Does the track info panel version work the same as the single column display version?
buttons just don't display no matter what for me. :/
to tell the truth - i have problems too. buttons work, then suddenly i can't see them. it may be problem with caching or something ...
I haven't understood the parameters of the $button - function .... (dstX,dstY,x,y,w,h)
Please, can someone shortly explain them to me ??
dstX and
dstY is position of the top-left corner of the button image (i.e. place where normal or hover button image will be placed).
x,
y,
w and
h define button's activation rectangle, i.e. rectangular place which reacts to mouse hover by displaying hover image on
dstX and
dstY position and reacts to mouse click by executing command specified as the 9th parameter.
this way of specifying it is nice, as you don't have to change image only directly under the activation rectangle. great example of this are the rating stars terrestrial posted above. you react to actions over individual stars, but draw the whole image.
And what is ment with "Options" for the $button-function ...??
i don't know whether ther are any possible options now or not, but this will be place to specify additional options for buttons - i can imagine ppl will request quite a few features and some of them could be specified here like in
$imageabs etc.
And it was mentioned, that the font-thing had been fixed. So I can repeat my old question:
-How is the font-size measured ?? -The width of a character, or its height, or what else ?? (I dont mean px or pt. Just the dimension)
imho it depends on the font file. there's some sort of base character rectangle which specifies some guidelines / borders (even though they can be overrun) for character glypths - and you set height of this rectangle.
thinking about it, with buttons you could make simple tagging panel with indication of things like mood / tempo and buttons to set it. other obvious thing to set other than rating is skip state ...
edit: i did a quick test, but the "hotspots" are shifted, i have no idea what i did wrong - or if it is a bug. i had to move my mouse someplace under "joyful" for "sad" to get hover image:
):
$font(Calibri,10,Bold,90-90-90)
$alignabs(5,5,100,15,left,center)mood
$font(Calibri,10,,90-90-90)
$alignabs(22,20,100,15,left,center)sad
$alignabs(22,35,100,15,left,center)joyful
$alignabs(22,50,100,15,left,center)relaxing
$button(5,20,5,20,122,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
$button(5,35,5,35,122,15,data\misc images\choise2-yes.png,data\misc images\choise2-yes-focused.png,,)
$button(5,50,5,50,122,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
try this:
$button(5,20,0,0,117,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
$button(5,35,0,0,117,15,data\misc images\choise2-yes.png,data\misc images\choise2-yes-focused.png,,)
$button(5,50,0,0,117,15,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
or..
$button(5,20,0,0,0,0,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
$button(5,35,0,0,0,0,data\misc images\choise2-yes.png,data\misc images\choise2-yes-focused.png,,)
$button(5,50,0,0,0,0,data\misc images\choise2-no.png,data\misc images\choise2-no-focused.png,,)
the hotspot rect is relative to the position of the button.
I second the request for a list of "new" functions (like $imageabs2 ), since I dont use the "Single-Column-Playlist".
just $imageabs2 if I remember correctly.
And it was mentioned, that the font-thing had been fixed. So I can repeat my old question:
-How is the font-size measured ?? -The width of a character, or its height, or what else ?? (I dont mean px or pt. Just the dimension)
you can go here (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8fp0.asp) for all the details
Like Sw!ng, I'd like a full explanation of $imageabs2(). I tried following this, taken from the changelog for single column display,
$imageabs2(resizeW,resizeH,srcX,srcY,srcW,srcH,dstX,dstY,image,options)
but couldn't get it working properly. The first two parameters only seem to move the picture, not resize. Does the track info panel version work the same as the single column display version?
the src rect specifies which part of the resized image you want. leave it to 0s if you want the whole image.
Any ideas on my display problem, terrestrial? I'm trying to have rating stars like Youtube: displays the rating as normal stars, hovering over a star makes it look as if it's rated that much, clicking the star rates it. my test just... doesn't display :S
try using absolute paths for the images...
the hotspot rect is relative to the position of the button.
aha!
as for the
problem of not showing images: the issue i'm experiencing is than when i start foobar, i see no images. if i change the formatting to use other images (i have two sets with different size of the circle, with names varying only by choise / choise2 prefix), i can see them.
my guess is that track info panel mod is trying to load the images on start and because of some timeout, it ends up not loading them and showing nothing. as these "blank images" are being cached, it stays like that until the next restart (when i have to change formatting back to the original set to be able to see anything).
and
terrestrial - any possibility of extending the
positioning system (x,y,width,height in various functions) by for example
relative values or
percentage values? relative would be nice if we could put images directly into the text flow (example: using image with vertical separator directly inside text flow to visually separate it; relative positioning could come handy in case of that image being taller than line's height - i could move it up using negative relative position to make the text look vertically centered against the image). that's advanced useless stuff, i guess
Here's my code btw, gratiously stolen from an earlier visitor. I use the star images from http://commons.wikimedia.org/wiki/Stars (http://commons.wikimedia.org/wiki/Stars).
$puts(rating,$if(%rating%,%rating%,0))
$button(3,3,0,0,0,0,images\rating$get(rating).png,images\rating1.png,r1,)
$button(3,3,13,0,13,13,images\rating$get(rating).png,images\rating2.png,r2,)
$button(3,3,26,0,13,13,images\rating$get(rating).png,images\rating3.png,r3,)
$button(3,3,39,0,13,13,images\rating$get(rating).png,images\rating4.png,r4,)
$button(3,3,52,0,13,13,images\rating$get(rating).png,images\rating5.png,r5,)
1) I don't have photoshop installed, but I'm pretty sure it has a setting. It should be something like image attributes...
2) right now its limited to items from the context menu.
edit: I went ahead and uploaded a new version which ignores the dpi in the images.
and you can use this code
$if(%isplaying%,
$button(10,10,0,0,0,0,images\button.pause.png,images\hover.pause.png,Pause,)
,
$button(10,10,0,0,0,0,images\button.play.png,images\hover.play.png,Play,)
)
(although the buttons don't do anything )
Since you can only do things from the context menu, with foo_run you could create a run service... say called playpause that calls foobar2000 /playpause. That part works fine, and it is available from the context menu. Now how would I get the $button function call that context menu item?
Anish
it doesn't have to be on the context menu. it has to be foobar's menu command (i.e. it's the same as using /command:<comand name> from command line). you simply use the command's name, but that name can't identify more than just one specific command, or you're in trouble ...
as for the problem of not showing images: the issue i'm experiencing is than when i start foobar, i see no images. if i change the formatting to use other images (i have two sets with different size of the circle, with names varying only by choise / choise2 prefix), i can see them.
my guess is that track info panel mod is trying to load the images on start and because of some timeout, it ends up not loading them and showing nothing. as these "blank images" are being cached, it stays like that until the next restart (when i have to change formatting back to the original set to be able to see anything).
that's weird... do the images work using $imageabs2 ?
and terrestrial - any possibility of extending the positioning system (x,y,width,height in various functions) by for example relative values or percentage values? relative would be nice if we could put images directly into the text flow (example: using image with vertical separator directly inside text flow to visually separate it; relative positioning could come handy in case of that image being taller than line's height - i could move it up using negative relative position to make the text look vertically centered against the image). that's advanced useless stuff, i guess
eventually there will be some way to add images into a text stream, but extending the positioning system is not really possible as the image drawing and text drawing functions are separate.
Here's my code btw, gratiously stolen from an earlier visitor. I use the star images from http://commons.wikimedia.org/wiki/Stars (http://commons.wikimedia.org/wiki/Stars).
$puts(rating,$if(%rating%,%rating%,0))
$button(3,3,0,0,0,0,images\rating$get(rating).png,images\rating1.png,r1,)
$button(3,3,13,0,13,13,images\rating$get(rating).png,images\rating2.png,r2,)
$button(3,3,26,0,13,13,images\rating$get(rating).png,images\rating3.png,r3,)
$button(3,3,39,0,13,13,images\rating$get(rating).png,images\rating4.png,r4,)
$button(3,3,52,0,13,13,images\rating$get(rating).png,images\rating5.png,r5,)
change the relative images\ to an absolute postion (or try moving the images folder to the foobar folder, first).
Since you can only do things from the context menu, with foo_run you could create a run service... say called playpause that calls foobar2000 /playpause. That part works fine, and it is available from the context menu. Now how would I get the $button function call that context menu item?
Anish
just use the name of the command (that's displayed in the context menu).
Then how (if it's possible) would you create a button to pause/unpause playback?
Anish
Then how (if it's possible) would you create a button to pause/unpause playback?
Anish
"play or pause"
I got it working. Thanks. I seemed to have a weird bug or something...
The code of mine that didn't work was
$if(%_isplaying%,
.
.
.
$if(%_ispaused%,
$alignabs(24,18,30,30,left,middle)
$font(Arial,13,shadow,200-200-200)
▌▌
$button(23,23,0,0,20,20,images\button.png,images\button2.png,play,)
,
$alignabs(23,17,30,30,left,middle)
$font(Arial,19,shadow,200-200-200)
►
$button(23,23,0,0,20,20,images\button.png,images\button2.png,pause,)
)
)
The pause doesn't work at all and the play button, causes playback to start from the beginning of the song (when it was paused in the middle).
I re-did the code like this
$if(%_isplaying%,
.
.
.
$if(%_ispaused%,
$alignabs(24,18,30,30,left,middle)
$font(Arial,13,shadow,200-200-200)
▌▌
,
$alignabs(23,17,30,30,left,middle)
$font(Arial,19,shadow,200-200-200)►
)
$button(23,23,0,0,20,20,images\button.png,images\button2.png,playpause,)
)
and now it works fine. I don't know what why the first one didn't work??
Anyway thanks for all your help
Anish
Um, I upgraded this component now after use of it and noticed it had been update.. only to see padding.. is just gone now? I've looked all over, no answers.. :/
you can use $padding(horizontal,vertical). you can't set different padding for each border on the same axis though.
I'm having a bit of a problem with the rating code. How does one display the unrated image when track is unrated and 0 when rating is set to 0? Also I can't figure out how to rate the track on click, when I click now nothing happens.
I'm having a bit of a problem with the rating code. How does one display the unrated image when track is unrated and 0 when rating is set to 0? Also I can't figure out how to rate the track on click, when I click now nothing happens.
for rating = 0 you need special logic and possibly another image for no rating at all. it depends on your use, some users do not use zero rating or consider it to be the same as no rating (of course if you want to remove rating from already rated song, the basic formatting posted there wouldn't help, you would need special button for that).
for rating the track on click - you need to set up masstager / quicktag / custominfo commands to do these actions, name them like "rate 1" or "set rating = 2" etc. and then use that name as command parameter for $button function.
Thanks for the reply. I have custominfo plugin. The code 'Set Rating = 5' doesn't work for me.
Did you actually set up a script?
Script?
as i said, you got to go to (in this case) custom info's settings and create "tag item" like:
name:Custom Info/Rate 0
field name:RATING
value:0
etc.
I have that.
Name: Rate/1
Field Name: RATING
Value: 1
etc.
that's not a good name, as you probably couldn't identify that command just by "1". i suggest you rename your actions to something like "Rate/Rate 1" etc. you would use "Rate 1" (without the quotation marks) as command parameter in $button.
Now it works. Thanks
I have this strangest problem:i have buttons for rating and mood,the commands are assigned via the masstager.When i click on rating=x it works fine,but if i click on mood=x after it,it sets the mood correctly,but removes the rating field.Now i've noticed that if you go to "properties" of the playing track and use the "reload"
function it fixes the problem,but there's no way to access this command via the $button function.Any ideas?
the src rect specifies which part of the resized image you want. leave it to 0s if you want the whole image.
That's how I thought it should work, but its not. Here's my code:
$imageabs2(200,200,,,,,,,'F:\Foobar Pictures\'$meta(artist sort,0).jpg,)
As it stands it should resize the image to 200x200 at 0x0. I think that's correct. But instead the picture isn't displayed. If I remove the 200,200 the picture appears, but at its original size. If I increase the size to about 500x500, the picture is displayed full size, but moved to the left and down.
Nevermind,i did it.
...
$button(23,23,0,0,20,20,images\button.png,images\button2.png,playpause,)
...
and now it works fine. I don't know what why the first one didn't work??
...
So what is the "Command" for play/pause? I tried "playpause" like above and also "play or pause" as mazy suggested but my button simply doesnt do anything.
Here's my current code:
$if($and(%isplaying%,$not(%ispaused%)),
$button(10,10,0,0,25,15,images\button.pause.png,images\hover.pause.png,playpause,)
,
$button(10,10,0,0,25,15,images\button.play.png,images\hover.play.png,playpause,)
)
The button displays properly according to playback state and the hover works well (except the aforementioned updateeverysecond hoverstate problem).. but doesnt do anything at all whe I click on it.
I'm experiencing a really serious slow down after upgrading to the latest version.Not only in trackinfo mod panel
(which is taking 2 seconds to update) but in all the rest of foobar also,for example it freezes when i'm changing
the volume or selecting next track.If switched back to previous version everything is back to normal.
Running win xp x64 on Intel dual core 3 GHz processor with 1G RAM.Any ideas?
I'm experiencing a really serious slow down after upgrading to the latest version.Not only in trackinfo mod panel
(which is taking 2 seconds to update) but in all the rest of foobar also,for example it freezes when i'm changing
the volume or selecting next track.If switched back to previous version everything is back to normal.
Running win xp x64 on Intel dual core 3 GHz processor with 1G RAM.Any ideas?
Yep, I have 2.5g 1gig ram and im getting the same thing
I'm experiencing a really serious slow down after upgrading to the latest version.Not only in trackinfo mod panel
(which is taking 2 seconds to update) but in all the rest of foobar also,for example it freezes when i'm changing
the volume or selecting next track.If switched back to previous version everything is back to normal.
Running win xp x64 on Intel dual core 3 GHz processor with 1G RAM.Any ideas?
Yep, I have 2.5g 1gig ram and im getting the same thing
I think it have to be reported as a bug,unless it's may be caused by incompatibility with some other component.
%_width% - The width of the panel in pixels
$calcwidth(x) - The width of string x in pixels
$len(x) - The width of string x in characters
those functions are already in there?? sweet! i would have updated to this version a long time ago.. i'll have a go at this crazy new panel when i have the time, hopefully later tonight when i get home.
thanks.
Ok,i examined the slowdown issue and it appears to be caused by:
+added support for cwb_hooks callback notifications
Now if you switch to previous version of cwb_hooks that doesn't provide the callback notifications it's all good
again.I think it have to be fixed as both newest cwb_hooks and trackinfo mod versions provides absolutely
essential functions,but don't get along with each other.
I have a problem with a hidden feature in this plugin. When I double-click the the track info mod panel what I select is displayed in the panel. But if I double-click again and no track is playing I get '?' and '[UNKNOWN FUNCTION]' text. Wouldn't it be better if no track is playing that the selected track information is displayed instead, until a track IS playing.
Also. Would it be possible to clean up the settings dialog (display options). And perhaps make the code text box a little bigger.
I have a problem with a hidden feature in this plugin. When I double-click the the track info mod panel what I select is displayed in the panel. But if I double-click again and no track is playing I get '?' and '[UNKNOWN FUNCTION]' text. Wouldn't it be better if no track is playing that the selected track information is displayed instead, until a track IS playing.
Also. Would it be possible to clean up the settings dialog (display options). And perhaps make the code text box a little bigger.
I always started my old track info panel with this code:
$if($and($stricmp(%_trackinfo_mode%,Follow Cursor),$stricmp(%_trackinfo_notrack%,1)),
'NO TRACK SELECTED',
$if($and($stricmp(%_trackinfo_mode%,Now playing),$stricmp(%_trackinfo_notrack%,1)),
'NO TRACK PLAYING',...)
The "..." is where you would put the rest of your code to display whatever info in the playback/selected mode when a track is present.
Just a suggestion to work around the problem.
That's great if there is a workaround. Though your code only makes everything disappear for me.
mil3s,
It should work if you put all of your current code where the "..." is at the end. Plus, I accidentally forgot one more ")" at the end. There should be two, not one. If not, maybe post your code, and I will test it out quick in mine.
Works now. Thanks. The ')' was missing as you said.
2 more questions.
*Why does the button rating code only work if I have Rating in the right-click menu?
*What is $drawrect?
*Why does the button rating code only work if I have Rating in the right-click menu?
*What is $drawrect?
you have to have some command (main menu or context menu) to reference from $button, that's why. custom info creates commands in context menu, but you may be able to remove it from it, i'm not 100% sure though.
$drawrect is custom function terrestrial put into his components. it can be used to draw rectangles (with given pen and brush colors, effects etc.), there's more info about it in the wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_(foo_uie_trackinfo_mod)#To_draw_a_rectangle).
I have a problem with the buttons.
For example, I have this:
$button(10,140,0,0,0,0,pause1.png,pause2.png,Pause,)
It doesn't work.
I don't have the Pause command in the context menu, but I have it in the Playback menu in the toolbar.
What can I do?
CepiPerez:
I have been wrestling with this one myself. From what I've been able to gather, $button() can currently only access commands present in the right-click context menu. It cannot access commands from the foobar main menu nor the playback menu.
However, foo_run runservices are displayed in the right-click context menu. Therefore you can create a runservice called for example "playpause" and set that runservice to execute "foobar2000.exe /playpause". This method is a bit sluggish and I would very much like to find an alternative.
If anyone else has further information about this, corrections, or alternatives please post.
Edit: Never mind, sometimes a refresh does all the work for you. See post above mine.
(http://img180.imageshack.us/img180/2240/scrnshtyq6.png) (http://img180.imageshack.us/my.php?image=scrnshtyq6.png)
Would you mind posting your code and images for the rest of this? I suck at formatting, so I have to either steal something or have a blueprint to go by.
(http://img180.imageshack.us/img180/2240/scrnshtyq6.png) (http://img180.imageshack.us/my.php?image=scrnshtyq6.png)
Would you mind posting your code and images for the rest of this? I suck at formatting, so I have to either steal something or have a blueprint to go by.
Quick and dirty, but here it is:
///bg///
$imageabs(0,0,images\cloudbw.png,)
$imageabs(0,25,images\grassleaves.png,)
$align(center,top)
$font(lucida sans unicode, 8, bold glow-0-0-0,255-255-255)
///codec///
$if($stricmp($substr(%codec%,1,7),windows),WMA,[%codec%]$char(32)|$char(32))
///encode///
$if($stricmp($codec(),mp3),
$if($stricmp(%__extrainfo%,VBR),VBR$char(32)|,$char(32)CBR$char(32)|$char(32)),)
$char(32)%__bitrate_dynamic%$char(32)kbps$char(32)|$char(32)
///channels///
$if($stricmp(%channels%,8ch),7.1$char(32),)
$if($stricmp(%channels%,7ch),6.1$char(32),)
$if($stricmp(%channels%,6ch),5.1$char(32),)
///mode///
$if($stricmp(%__mp3_stereo_mode%,joint stereo)JOINT STEREO$char(32)|,)
$if($stricmp(%channels%,stereo),STEREO$char(32)|,)
$if($stricmp(%channels%,MONO),MONO$char(32)|,)
///tag type///
$if($strstr($info(tagtype),id3v1),$char(32)ID3V1$char(32),)
$if($strstr($info(tagtype),id3v2),$char(32)ID3V2$char(32),)
$if($strstr($info(tagtype),apev2),$char(32)APEV2,)
///replaygain///
$font(lucida sans unicode,8, bold glow-0-0-0,255-255-255)
$if(%__replaygain_track_gain%,$char(32)|$char(32)ReplayGain,)
///rating///
$char(32)|$char(32)$char(32)$font(lucida sans unicode,8,bold glow-0-0-0,255-255-255)
$repeat(★ ,%rating%)$repeat($font(lucida sans unicode,8,bold glow-0-0-0,100-100-100)★ ,$sub(5,%rating%))
///title///
$alignabs(10,14,%_width%,%_height%,,)
$font(lucida sans unicode,18,bold glow-50-50-50 ,200-200-200)
[%artist% '/' ][%title%]
///album///
$alignabs(25,42,%_width%,%_height%,,)
$font(lucida sans unicode,10, bold glow-50-50-50,200-200-200)
[%album%][$char(32)'('%date%')']
///status///
$puts(count_idx,$add($mod(%_time_elapsed_seconds%,40),1))
$puts(count_path,images\count$get(count_idx).png)
$imageabs($sub(%_width%,102),3,$get(count_path),)
$if(%_ispaused%,
$alignabs($sub(%_width%,72),24,%_width%,%_height%,,)
$font(lucida sans unicode,30, bold glow-0-0-0,200-200-200)
▮▮,
$alignabs($sub(%_width%,67),16,%_width%,%_height%,,)
$font(lucida sans unicode,36, bold glow-0-0-0,200-200-200)
▶ )
///progress///
$alignabs(13,80,%_width%,%_height%,,)
$font(lucida sans unicode,8,bold glow-50-50-50 ,200-200-200)
%playback_time%
$drawrect(0,73,$sub(%_width%,132),7,pencolor-200-200-200 brushcolor-0-0-0 width-1)
$if3($strcmp(%playback_time_seconds%,0)
,,$drawrect(2,75,$muldiv(%playback_time_seconds%,$sub(%_width%,136),%length_seconds%),3,pencolor-200-200-200 brushcolor-200-200-200 width-1)
,)
$alignabs($sub(%_width%,148),80,%_width%,%_height%,,)
%playback_time_remaining%
///fg effect///
$puts(glass_intensity,10)
$imageabs(0,$sub($get(glass_intensity),20),images\glass.png,)
images (http://rapidshare.de/files/35223849/Images.zip.html)
Using Russell's Home Stereo Code (v1.9 micro) foobar crashes when I try to use the mood/rating buttons during playback. There is no crashlog. Does anyone have an idea why this is happening?
I've been gone for a few weeks. What's new and why hasn't the wiki been updated?
Using Russell's Home Stereo Code (v1.9 micro) foobar crashes when I try to use the mood/rating buttons during playback. There is no crashlog. Does anyone have an idea why this is happening?
Yes it happens sometimes for an unknown reason,i'll post an update that uses database/textfile/SQL for
saving those values instead of tag writing today.
Greetings,
as a newbie to foobar and this forum, first of all thanks to those folks writing stuff like foobar, plugins etc and to those writing and helping out in this forum !
I read quite a lot of the messages and tutorials, did a few searches, still two questions (for now):
1) I didn't really understand the different align functions. Is it necessary at all to specify them (if I can live with a rather simple trackinfo)? Do they affect everything that follows until a new align-function or ... Maybe someone can point me to a place where I can get a simple introduction (yet a little more detailed than the wiki).
2) About displaying images and buttons in the trackinfo. How can it be, I can display an image using the button tag but not (the same image, location etc) using the imageabs tag? What am I missing here? Could it be it has to with the fact I don't use any align tags in my script so far? Here's my code, where the button is succesful and the image not:
$button(10,10,0,0,0,0,icons\png\mp3.png,,,)
$imageabs(20,20,icons\png\mp3.png,)
Thanks in advance
Hifish
Using $align() functions are completely optional however they can be very useful. By default everything just kind of flows like a normal old text editor and if all you want to do is display some basic playback stats this is fine.
However the image functions require absolute positioning, so if you start integrating images and text it's only a matter of time before you start wanting to $alignabs()'ing some text to make sure it flows properly with your images.
$alignabs() functions become rather powerful when you combine them with %_width% and %_height% because then you can have your text automatically position itself reletive to the size of the panel. This lets you use the same code for both full screen and windowed foobar layouts without having to go back and adjust the code.
$button(10,10,0,0,0,0,icons\png\mp3.png,,,)
$imageabs(20,20,icons\png\mp3.png,)
This is interesting. I tried your code and it appears to work but not in the way I expected:
(http://img374.imageshack.us/img374/914/icongl8.png) (http://imageshack.us)
Why is the first $button() image overlayed on to of the second $imageabs() function? I expected the opposite to be true given the order in which the code is written. I even went back and commented out each line to ensure I was seeing what I thought I was seeing.
so... 1) is maybe your second image being hidden under the first 2) can anyone explain why $buttion() is overlayed on top of $imageabs()?
can anyone explain why $buttion() is overlayed on top of $imageabs()?
My guess would be so that button clicks can be 'understood', if you like. If the button was drawn under the image, then I'm guessing there would be problems with clicking on them..?
I also find it odd that the transparency of the $button() isnt allowing the $imageabs() to show through (notice the grey "shadow")
EDIT: If I rearrange the lines of code so that the "bottom" image is drawn before the "top" image, the transparency works fine. The shadow effect must have something to do with how the $button() forces it's way to the top layer.
I want to display the current playlist number of the track playing and the total tracks on the given playlist in trackinfo mod. I tried %list_index%/%list_total% and %playlist_number%/%playlist_total%, but this component does not seem to recognize these fields. What are the fields to do this?
Thanks for your reply Yotsuya!
so... 1) is maybe your second image being hidden under the first
well thanks, I was actually clever enough to check that ... I can easily push around the button changing the x and y settings, the image just doesn't show up, no matter where (x,y) and no matter if the button is in the code or no button at all. So: is not a matter of (x,y) and no interference with the button.
Anyone any other idea why the image doesn't show up? (see my last post)
2) can anyone explain why $buttion() is overlayed on top of $imageabs()?
Once the image shoes up here, I will try and see if I can help with that
it's only a matter of time before you start wanting to $alignabs()'ing some text
Pretty sure you are right there. If I'd be faster to understand the syntax I would play with that already. But already having a problem with the image-function I prefer to go step by step and not mess up things too quick
I want to display the current playlist number of the track playing and the total tracks on the given playlist in trackinfo mod. I tried %list_index%/%list_total% and %playlist_number%/%playlist_total%, but this component does not seem to recognize these fields. What are the fields to do this?
I know of no way to pull the playlist index for the currently playing song from a context outside of the playlist, however I believe you should be able to pull the total number of items in the currently playing playlist with %cwb_playinglist_count%. This requires you install foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606). Maybe you should consider stopping by the cwb_hooks thread and request something like a %cwb_playinglist_index%.
I want to display the current playlist number of the track playing and the total tracks on the given playlist in trackinfo mod. I tried %list_index%/%list_total% and %playlist_number%/%playlist_total%, but this component does not seem to recognize these fields. What are the fields to do this?
I know of no way to pull the playlist index for the currently playing song from a context outside of the playlist, however I believe you should be able to pull the total number of items in the currently playing playlist with %cwb_playinglist_count%. This requires you install foo_cwb_hooks (http://www.hydrogenaudio.org/forums/index.php?showtopic=43606). Maybe you should consider stopping by the cwb_hooks thread and request something like a %cwb_playinglist_index%.
Thanks, and I so posted. Also, although I read in the change log that global variables were implemented, I am having a strange problem with accessing them. I tried to access hotness, and although the panel recognizes the variable, it is showing strange values for the variable. Is this a bug or is there some special way to access global variables?
I'd like to display %path% but if it's too long and doesn't have any spaces, it doesn't know how to wrap it. It also doesn't display anything after that. Is this a bug?
here's mine...
i took some of Russell777's Code (thx man), modified it a bit and added some gfx... still working on it though.
(http://img473.imageshack.us/img473/5086/zettofoovisualckv8.th.jpg) (http://img473.imageshack.us/my.php?image=zettofoovisualckv8.jpg)
Woah. Looks kind of neat.
Is there any way to scrolling text?
I want to use this panel to show lyrics, but with a background image.
the $button() is not work if without foo_run.dll
who can tell me how to use the function
Having a few problems getting text on my panel to span multiple lines without the colour changing, kinda frustrating. Here is a screenshot: http://img137.imageshack.us/img137/8477/tr...nfoprob1rx3.jpg (http://img137.imageshack.us/img137/8477/trackinfoprob1rx3.jpg)
Notice how the 2nd line of the track field has reverted to blue. I've tried changing the default colour, as well as placing several changes to FFFFFF in many places but it still doesn't stay that correct colour. It's strange because the artist field has the same
The code in question (I'll post the whole panel if anybody wants to see it):
$if(%tracknumber%,DA9363'['FFFFFF%tracknumber%DA9363']' )
FFFFFF$if(%title%,$replace(%title%,'(','DA9363('FFFFFF,')',DA9363')'FFFFFF),
$replace(%filename_ext%,'(','DA9363('FFFFFF,')',DA9363')'FFFFFF))$char(10)$char(10)
$if(%artist%,DA9363Artist: FFFFFF$replace(%artist%,
'(','DA9363('FFFFFF,')',DA9363')'FFFFFF))$char(10)
$if(%album%,DA9363Album: FFFFFF$replace(%album%,
'(','DA9363('FFFFFF,')',DA9363')'FFFFFF)FFFFFF
$if(%date%,DA9363'['FFFFFF%date%DA9363']'))$char(10)
DA9363Total plays: FFFFFF%play_count%$char(10)$char(10)
EDIT: Wierd, removing the date tag from the file (therefor not displaying it) fixes it. Looks like I've already got a solution (stick the date in a new $if(%album%).
A small suggestion for a bitrate indicator:
(http://img58.imageshack.us/img58/6649/ibitratebv2.png)
The Code (If interested):
$puts(xcoord,10)
$puts(ycoord,178)
$puts(color,250-250-250)
$puts(bita,$div($mul($add(%bitrate%,-64),30),192))
$ifgreater($get(bita),30,$puts(bita,30),)
$ifgreater(0,$get(bita),$puts(bita,0),)
$alignabs($add($get(xcoord),5),$add($get(ycoord),-5),600,50,,)
$font(Arial,10,bold,$get(color))
$repeat(.,$get(bita))
$font(,10,,)
$drawrect($add($get(xcoord),6),$add($get(ycoord),10),117,1,brushcolor-$get(color) pencolor-null)
$alignabs($add($get(xcoord),5),$add($get(ycoord),4),600,50,,)י
$alignabs($add($get(xcoord),44),$add($get(ycoord),4),600,50,,)י
$alignabs($add($get(xcoord),83),$add($get(ycoord),4),600,50,,)י
$alignabs($add($get(xcoord),122),$add($get(ycoord),4),600,50,,)י
$font(,8,,)
$alignabs($get(xcoord),$add($get(ycoord),12),600,50,,)64
$alignabs($add($get(xcoord),36),$add($get(ycoord),12),600,50,,)128
$alignabs($add($get(xcoord),75),$add($get(ycoord),12),600,50,,)192
$alignabs($add($get(xcoord),114),$add($get(ycoord),12),600,50,,)256 kb/s
$alignabs($add($get(xcoord),131),$get(ycoord),200,20,,)bitrate
cwb_hooks plugin is needed.
cwb_hooks plugin is needed.
What for?
cwb_hooks plugin is needed.
What for?
My mistake. You do not need it for bitrate. I use a volume indicator as well, which requires cwb_hooks.
Hey unart that's a nice idea for a bitrate indicator. I took your idea and ran with it a bit:
(http://img147.imageshack.us/img147/7729/bitratebargd4.png) (http://imageshack.us)
// -- Bitrate Bar -- //
$puts(bitratebar.width,200)
$puts(bitratebar.offsetx,10)
$puts(bitratebar.offsety,20)
$puts(bitratebar.text,26)
// Frame
$drawrect($get(bitratebar.offsetx),$get(bitratebar.offsety),$get(bitratebar.width),1,pencolor-233-233-233)
$drawrect($get(bitratebar.offsetx),$sub($get(bitratebar.offsety),6),1,12,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$get(bitratebar.width)),$sub($get(bitratebar.offsety),6),1,12,pencolor-233-233-233)
// Tick Marks
$drawrect($add($get(bitratebar.offsetx),$muldiv(11.11,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$muldiv(22.22,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$muldiv(33.33,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$muldiv(44.44,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$muldiv(55.55,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
$drawrect($add($get(bitratebar.offsetx),$muldiv(77.77,$get(bitratebar.width),100)),$get(bitratebar.offsety),1,6,pencolor-233-233-233)
// Labels
$font(tahoma,7,,233-233-233)
$alignabs($sub($get(bitratebar.offsetx),4),$get(bitratebar.text),%_width%,%_height%,,)32
$alignabs($sub($add($get(bitratebar.width),$get(bitratebar.offsetx)),8),$get(bitratebar.text),%_width%,%_height%,,)320
$alignabs($add($get(bitratebar.offsetx),$muldiv(11.11,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)64
$alignabs($add($get(bitratebar.offsetx),$muldiv(22.22,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)96
$alignabs($add($get(bitratebar.offsetx),$muldiv(33.33,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)128
$alignabs($add($get(bitratebar.offsetx),$muldiv(44.44,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)160
$alignabs($add($get(bitratebar.offsetx),$muldiv(55.55,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)192
$alignabs($add($get(bitratebar.offsetx),$muldiv(77.77,$get(bitratebar.width),100),-6),$get(bitratebar.text),%_width%,%_height%,,)256
// Bar
$if(%isplaying%,
$drawrect($add($get(bitratebar.offsetx),1),$sub($get(bitratebar.offsety),6),$sub($get(bitratebar.width),1),6,brushcolor-$ifgreater(%bitrate%,320,166-202-240,$ifgreater(%bitrate%,32,10-36-106,128-128-128)) pencolor-null)
$ifgreater(%bitrate%,32,$ifgreater(%bitrate%,320,,
$drawrect($add($get(bitratebar.offsetx),1),$sub($get(bitratebar.offsety),6),$sub($muldiv($muldiv(100,$sub(%bitrate%,32),288),$get(bitratebar.width),100),1),6,brushcolor-0-128-255 pencolor-null)
),)
,)
The bar will change colors if the bitrate falls out of range of the indicator and is rather easy to resize. I marked most commonly used bitrates.
EDIT: Code Optimizations
Is there any way to get playback buttons to work without using foo_run? I have some text and I want to overlay an invisible button to do what the text says.
(http://img223.imageshack.us/img223/8513/untitled1pd6.png)
I've used this code to position the button over the 'Play' text (and yes it is positioned correctly as it works when I use foo_run), but it doesn't want to work.
$button(0,0,$get(start_pos),12,$get(play_w),20,,,Play,)
Is there any way to get playback buttons to work without using foo_run?
Not currently, no.
I posted this b/4, but I still am not sure of the answer. The changelog indicates that global variables work, but when I access them I get strange values. Does anyone know if this is a bug, or is there a special method by which one must access global variables?
globals should work here (not yet in single column playlist). what strange values are you getting?
------------------
updated- new $button2 and support for main menu commands.
an example of how to use $button2:
$if(%isplaying%,
$if(%ispaused%,
$button2(0,0,0,0,100,16,
'resume',
'$font(,,glow-0-0-0,255-255-255)resume',
play,)
,
$button2(0,0,0,0,100,16,
'pause',
'$font(,,glow-0-0-0,255-255-255)pause',
pause,)
)
,
$button2(0,0,0,0,100,16,
'play',
'$font(,,glow-0-0-0,255-255-255)play',
play,)
)
globals should work here (not yet in single column playlist). what strange values are you getting?
I am trying to access the %hotness% variable defined in my global variables. The value for hotness is showing correctly in my playlist as a number from 1-100 but when I access it in track info mod I am getting values like .0789, etc. All values less than 1.
does it work in the original trackinfo?
does it work in the original trackinfo?
Not sure. Not at home to test it. but it does work in the columns ui playlist.
updated- new $button2 and support for main menu commands.
Thanx for this terrestrial!!
For some mysterious reason i'm not able to get images in $button2 command,not with relative path,nor with absolute,a bug?
whats the code you're using?
whats the code you're using?
$button2(341,$add($div(%_height%,5),16),0,0,11,19,images\button.png,images\button.png,'volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,'images\button.png','images\button.png','volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,C:\Program Files (x86)\foobar2000\images\button.png,C:\Program Files (x86)\foobar2000\images\button.png,'volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,'C:\Program Files (x86)\foobar2000\images\button.png','C:\Program Files (x86)\foobar2000\images\button.png','volume mute',)
Non of the variations shows the image,but the command is executed.Also the images is bigger than the clickable area,but it worked fine with $button,so i don't think it's a problem,or am i wrong?
Does $imageabs2 work in this module?
Found the source of the problem i was talking about one post ago:if you specify active area that is smaller than the image,the image won't show up (not like in old $button command)
whats the code you're using?
$button2(341,$add($div(%_height%,5),16),0,0,11,19,images\button.png,images\button.png,'volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,'images\button.png','images\button.png','volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,C:\Program Files (x86)\foobar2000\images\button.png,C:\Program Files (x86)\foobar2000\images\button.png,'volume mute',)
or:
$button2(341,$add($div(%_height%,5),16),0,0,11,19,'C:\Program Files (x86)\foobar2000\images\button.png','C:\Program Files (x86)\foobar2000\images\button.png','volume mute',)
Non of the variations shows the image,but the command is executed.Also the images is bigger than the clickable area,but it worked fine with $button,so i don't think it's a problem,or am i wrong?
if you want to just use images for buttons then use the old $button command. if you want to use "code" for buttons then use $button2. so:
$button(0,0,0,0,0,0,images\button.png,images\button-hot.png,volume mute,)
or the equivalent
$button2(0,0,0,0,11,19,'$imageabs(0,0,images\button.png,)','$imageabs(0,0,images\butoon-hot.png,)',volume mute,)
Does $imageabs2 work in this module?
yes
@ terrestrial
Thanks for the explanation and of course for the amazing plugin
This code doesn't seem to show anything, even though the button behaves correctly
$button2(0,0,0,0,40,40,'$font(Arial,15,shadow,200-200-200)','$font(Arial,15,glow-250-250-250,200-200-200)',pause,)
►
Am I doing something wrong?
Anish
This code doesn't seem to show anything, even though the button behaves correctly
$button2(0,0,0,0,40,40,'$font(Arial,15,shadow,200-200-200)','$font(Arial,15,glow-250-250-250,200-200-200)',pause,)
?
Am I doing something wrong?
Anish
try changing both 40's to 60's
all the code has to be self contained inside the button. it doesn't carry through outside the button. think of it as a separate trackinfo panel.
This code doesn't seem to show anything, even though the button behaves correctly
$button2(0,0,0,0,40,40,'$font(Arial,15,shadow,200-200-200)','$font(Arial,15,glow-250-250-250,200-200-200)',pause,)
?
Am I doing something wrong?
Anish
try changing both 40's to 60's
I tried that. it didn't work. The height of trackinfo is 43 pixels, and the '?' fits nicely in the middle 50% height-wise, so that shouldn't be an issue anyway.
Anish
all the code has to be self contained inside the button. it doesn't carry through outside the button. think of it as a separate trackinfo panel.
OK, I got it now. Thanks
Anish
Can someone help me here. I have a panel set up with play, pause stop, next & back buttons they all work except the back button. In the run services they are all set to the same location.. etc --> D:\Audio\foobar\foobar2000.exe /Previous. When I click the back button all I get is an error box. All the others work fine.
This is my relevant trackinfo I think -->
$button($sub($div(%_width%,2),64),32,0,0,0,0,neo1\pause1b.png,neo1\pause2b.png,Pause,)
$button($sub($div(%_width%,2),40),31,0,0,0,0,neo1\prev1.png,neo1\prev2.png,Previous,)
$button($add($div(%_width%,2),17),31,0,0,0,0,neo1\next1.png,neo1\next2.png,Next,)
$button($add($div(%_width%,2),44),32,0,0,0,0,neo1\stop1.png,neo1\stop2.png,Stop,)
$button($sub($div(%_width%,2),15),26,0,0,0,0,neo1\play1.png,neo1\play2.png,Play,)
Cheers.
Try instead of "previous" ... only "prev".
((((( Strictly4me )))))
Thank you very much
Would it possible in your next update to include the ability to change the cursor type (http://rainbow.arch.scriptmania.com/css/css_cursor_control.html) when hovering over text?
For example:
$font(Arial, 10, underline cursor-pointer, 255-0-0)
I am trying to put useable buttons in my track info panel. The button appears but does nothing. I have run services but don't know how to configure it. Can someone explain how to link the button with run services please.
TIA
Mr E
(http://content.imagesocket.com/thumbs/foobar_in_shape3e9.png) (http://imagesocket.com/view/foobar_in_shape3e9.png)
Hrmf. Because i've used a big $padding in this code (so that the text is aligned after the album-art), Long text drops down to the next line on long names (as it is also padded from the other side).
Anyone have an elegent solution to that?
My code is pretty basic:
$imageabs2(200,200,,,,,$sub(%_width%,215),15,'c:\Software\foobar2000\components\default.png',)
$imageabs2(200,200,,,,,$sub(%_width%,215),15,$replace(%path%,%filename_ext%,)$replace(%album%,\,_,/,_,:,_,*,_,?,_,<,_,>,_,|,_,",_)[ '('%date%')'].jpg,)
$padding(230,35)
$align(right,top)$font(Levenim MT,16,bold,255-155-55)
$upper(%title%)
$align(right,middle)$font(Levenim MT,14,bold,200-100-10)
$upper(%album artist%)
$align(right,bottom)$font(Levenim MT,14,bold,155-55-5)
%album%[ %date%]
@ChaosBladeuse this
$padding(0,0)$align(right,top)
Before the title string and adjust the padding to your liking.
use this
$padding(0,0)$align(right,bottom)
For the other stuff
You will have to fool with the padding and keep in mind that the lines under the first will be realative to that.
To have the most control you could add the string I put before everything so you can position them seprately
@terrstrialThis has probably been asked before but is it possible for you to make it so that I could use any aspect ratio for images?
I'm not sure how that helps. My issue that the padding works from both ways - So i lose 200px from each side when i want to lose 200px just from the image's side.
Try it first and see
1)I gave you a suggestion in the appearance thread to align the song title to the left so it wont trip over the stuff underneath.
2)If you align it like I said you will be able to create a line under the song title that will be used by long titles and not trip over the stuff underneath.
If you dont want the entire song title to be displayed you will have to add a variable to your string like $iflonger (I think)
So there's no way to tell it to align to the right after the image, and not wrap if it reaches that line's end?
EDIT: Did it the most ugly way possible - $alignabs with random pixel values
(http://content.imagesocket.com/thumbs/SmoothBar20001dd.png) (http://imagesocket.com/view/SmoothBar20001dd.png)
updated- new $button2 and support for main menu commands.
Hi,
If I understand well, we can now acces the main menu commands without using the run service.
However i don't manage to make it work.
For example if want to open the Console window, how should i do ?
Here's what i tried and none of them worked but if i use any context menu command instead, it works as intended.
$button(0,0,0,0,21,21,image.png,imagehot.png,Main/View/Console,)
or
$button(0,0,0,0,21,21,image.png,imagehot.png,'Main/View/Console',)
or
$button(0,0,0,0,21,21,image.png,imagehot.png,View/Console,)
or
$button(0,0,0,0,21,21,image.png,imagehot.png,'View/Console',)
or
$button(0,0,0,0,21,21,image.png,imagehot.png,Console,)
or
$button(0,0,0,0,21,21,image.png,imagehot.png,'Console',)
i also tried with $button2
thanks
Hi,
If I understand well, we can now acces the main menu commands without using the run service.
However i don't manage to make it work.
For example if want to open the Console window, how should i do ?
Here's what i tried and none of them worked but if i use any context menu command instead, it works as intended.
thanks
You need to use $button2. It opens the console window on mine:
$button2(0,0,0,0,21,21,image.png,imagehot.png,Console,)
You need to use $button2. It opens the console window on mine: $button2(0,0,0,0,21,21,image.png,imagehot.png,Console,)
Thanks for your answer.
I thought i had updated the plugin to the last version but no (f***ing cache)
Works fine now with the last version
and it even works with both $button and $button2
Can anyone give me a little help on this. Im displaying the current track in the trackinfo_mod panel along with album art. My info is being padded beyond the album art, but this pads the right side as well, give a very small area for the text and causes it to wrap.
The picture below shows it better than i describe
(http://rockinchair.co.uk/simplegal/galleries/Misc/foobar_thumb.jpg) (http://rockinchair.co.uk/simplegal/view/Misc/foobar.jpg/full)
Not much you can do there. I just used $alignabs for it, But thats rather 'dirty' as you need to specify your own 'box' for the text. That, and the fact mine had all kinds of random pixel values
is it possible to use this to display a picture or one of many pngs in a music folder??
edit: can you use wildcards in the folder adress, so you can use foobars titleformatting then?
@terrstrialI'm not sure if I am doing something wrong, but
$get variables do not seem to work inside the
$button2 function.
$puts(fonthover,$font(tahoma,8,nocleartype underline,255-0-0))
$button2(117,14,0,0,$calcwidth(See Review),18,'$font(tahoma,8,nocleartype underline,88-116-163)See Review','$get(fonthover)See Review',Album Review,)
@terrstrial
I'm not sure if I am doing something wrong, but $get variables do not seem to work inside the $button2 function.
$puts(fonthover,$font(tahoma,8,nocleartype underline,255-0-0))
$button2(117,14,0,0,$calcwidth(See Review),18,'$font(tahoma,8,nocleartype underline,88-116-163)See Review','$get(fonthover)See Review',Album Review,)
He said that the $button2 display parts are like seperate trackinfo panels, so I'm guessing that it won't work.
You could either put the $puts into the $button2 code, or just replace the $get with the actual code, which will work, but will probably defeat the point of having the $puts/$get in the first place..
@spex04You're right. I missed that post. Thanks.
all the code has to be self contained inside the button. it doesn't carry through outside the button. think of it as a separate trackinfo panel.
Right now I'm using this code:
$alignabs(50,32,$sub($div(%_width%,2),283),15,,)
$font(,,,255-255-255)%track%. %title%
How can i make "%track%. %title%" scroll horizontally?
What I'm doing is confining the text in a certain area that is flexible depending on how wide the panel is, and if the text is too wide for that area i want to to clip it down and scroll.
i need some help folks :/
i am all new to this coding etc. so show some mercy pls
this is my current code:
$if(%_isplaying%,
$imageabs2(,,,,,,$sub(%_width%,75),$sub($div(%_height%,2),38),'C:\programme\foobar2000\images\arrows.png',)
$imageabs2(474,90,,,,,0,-13,'C:\Programme\foobar2000\components\Untitled-1.png',)
$padding(4,2)
$align(left,bottom)$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)
$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Length: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$if(%_isplaying%,%_time_elapsed%$get(anno)$if(%_length%, / %_length%,)$if(%_time_elapsed%, / $muldiv(%_time_elapsed_seconds%,100,%_length_seconds%)'%')$if(%_length%, / -%_time_remaining%),%_length%)$char(10)
$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Quality: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$if(%__codec%, $get(info)%__codec%) $get(info)
$if2(%__bitrate_dynamic%,%__bitrate%) $get(anno)Kb/s $if($stricmp(%__codec%,mp3),$if($stricmp(%__extrainfo%,vbr),VBR,CBR))
$char(10)
$if(%__lame_version%,$get(head)Encoder: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$left(%__lame_version%,4) $right(%__lame_version%,4) [$upper(%__lame_profile%)]$char(10),)
$if(%__flac_vendor%,$get(head)Encoder: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$if($stricmp(%__flac_vendor%,reference libFLAC 1.1.2 20050205),FLAC 1.1.2 -8)$char(10),)
$if(%__mpc_profile%,$get(head)MPC Profile: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)%__mpc_profile%$char(10),)
$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Compression: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$div(1411,%__bitrate%).$substr($muldiv(1411,100,%__bitrate%),2,3):1 '('$get(info)$muldiv(%__bitrate%,100,1411)$get(anno)'% of original quality)'$char(10)
$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Channel Mode: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$if($stricmp($codec(),MP3),$get(space2)$caps(%__mp3_stereo_mode%),
$if(%__channels%,$ifgreater(%__channels%,1,Stereo,Mono),'?'))$char(10)
$if(%__bitspersample%,$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Bitdepth: $get(info)%__bitspersample% bits/sample$char(10),)
$if(%__samplerate%,$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Samplerate: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$div(%__samplerate%,1000).$substr(%__samplerate%,3,3) KHz $char(10))
$if(%_filesize%,$font(Swis721 Cn BT D-Type,10,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Filesize: $font(Swis721 Cn BT D-Type,10,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)
$div(%_filesize%,1048576).$left($num($muldiv($mod(%_filesize%,1048576),100,1048576),2),2) $get(anno)'MB'$char(10),)
$align(right,bottom)
$font(calibri,8,bold glow-129-138-150 glowblur-10,255-255-255)
$upper(%title%)
$font(calibri,8,bold glow-91-100-111 glowblur-10,129-138-150)
/
$font(calibri,8,bold glow-91-100-111 glowblur-10,203-206-211)
$upper(%artist%)
,
$imageabs2(66,66,,,,,$sub($div(%_width%,2),33),$sub($div(%_height%,2),38),'C:\programme\foobar2000\images\arrows.png',))
//////////TRACKINFO MOD PROGRESS BAR
$padding(0,0)
$drawrect(,,,10,brushcolor-null pencolor-222-225-228)
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,10),%length_seconds%))
$ifgreater($get(progress),0,
$padding(2,2)$drawrect(,,$get(progress),6,brushcolor-190-197-203 pencolor-null),)
/////////////PLAYLIST DROPDOOOWN
%index%/%total% %title%
$hsl(140,25,121)
$if(%isactive%,' (active'$if(%isplaying%,', playing')')',$if(%isplaying%,' (playing)'))
$tab(2)[ '('%lock%')']
$hsl(140,25,121)' ('
%size% tracks @ %length%')'
and this is what it looks like:
(http://home.arcor.de/sgtskillz/helppls.jpg)
as you can see, i was trying to add that image on top and it just doesnt look right. i'd like that image to be width dynamic and also show up when im not playing music.
any help is appreciated!
thx in advance.
i need some help folks :/
i am all new to this coding etc. so show some mercy pls
this is my current code:
alskdjflkasjflkjsalkdflksadjflkjsadlkfj
as you can see, i was trying to add that image on top and it just doesnt look right. i'd like that image to be width dynamic and also show up when im not playing music.
any help is appreciated!
thx in advance.
I'm not the best with code but I'm learning........(i think) but looking at yours I'd say for starters the
$if(%_isplaying%,
string being right before your images could be why they dont show when your not playing anything
also the image does not stretch across the entire panel so you can try this
$imageabs2(,,,,,,0,0,'C:\Programme\foobar2000\components\Untitled-1.png',)
becuase the plugin wants even ratios anyways ie (100,100,,,,,)
I'm having trouble getting images to work and I can't figure out why. I'm using this line:
$imageabs(0,0,'C:\Program Files\foobar2000\images\cloudbw.png',)
and the file is definately there, but I'm still just getting black.
(I'm having the same problem with the single column playlist plugin)
Anything obvious I could be missing?
@PlazzTT, if "user profile support" is enable, the image should go into your profile folder
C:\Documents and Settings\USERNAME\Application Data\foobar2000\YOUR IMAGES DIRECTORY\
http://wiki.hydrogenaudio.org/index.php?ti...e_supported.29: (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#To_include_an_image_.28Note:_Only_PNGs_are_supported.29:)
@terrstrial
Is there a way to use mouse wheel for scroll like the classic trackinfo?
I want to show lyrics with background image.
I'm having trouble getting images to work and I can't figure out why. I'm using this line:
$imageabs(0,0,'C:\Program Files\foobar2000\images\cloudbw.png',)
and the file is definately there, but I'm still just getting black.
(I'm having the same problem with the single column playlist plugin)
Anything obvious I could be missing?
try this:
$imageabs2(,,,,,,,,'C:\Program Files\foobar2000\images\cloudbw.png',)pd: i have the same problem with 'width dynamic image'
a stretch or resize image code will be nice.
"a stretch or resize image code will be nice."
There is a resize, but it seems to only be able to 'squeeze' the image and not stretch it.
@terrstrial
Is there a way to use mouse wheel for scroll like the classic trackinfo?
I want to show lyrics with background image.
no, the display code (and syntax) are not really designed for scrolling.
----
I've uploaded a new version which fixes a bug which could cause a crash when using a button. Also a new button command: "TAG:SET:tag:value" which sets tag values without having to use scripts.
example:
$button2(0,0,0,0,20,10,'$font(tahoma,11,,0-0-0)Rating1','$font(tahoma,11,bold,0-0-0)Rating1',TAG:SET:Rating:1,)
I've uploaded a new version which fixes a bug which could cause a crash when using a button.
So I guess you didn't find out about the reported display glitches? How can I help?
BTW, would you please edit the first post and add a version info if you offer a new version? Then we can see there, when the post was edited and which version it is. Now we have to search and read your postings within the thread.
Thank you terrestrial
Thanks for the update terrestrial!
Question:
How do i know which main menu entries are supported for buttons?!
I am trying to set up my own volume-control, but "Set volume to XYdB" does not work.
Entries like e.g. "Seek ahead by 10 seconds" or "About" work (but do not really help me setting up a volume-control ).
I looked them up on the Commandline Guide (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Commandline_Guide).
Also a new button command: "TAG:SET:tag:value"
New command seems to work very well - no crashes when clicking around on tag-related buttons anymore
Thanks
2 LXtreme
In latest fb2k versions the volume commands are restricted to volume up\down\mute only,however you can define the volume steps in advanced options window.That's the reason why it doesn't work from $button command.
So I guess you didn't find out about the reported display glitches? How can I help?
display glitch in trackinfo? if you're referring to the display glitch in single column playlist, I haven't had a chance to look further into it yet...
BTW, would you please edit the first post and add a version info if you offer a new version? Then we can see there, when the post was edited and which version it is. Now we have to search and read your postings within the thread.
will try to remember for next time.
New command seems to work very well - no crashes when clicking around on tag-related buttons anymore
it shouldn't crash using scripts anymore either
is there any way i can check if "stop after current" is turned on?
is there any way i can check if "stop after current" is turned on?
foo_cwb_hooks
@Terrestrial: You're right, I was in the wrong thread.
I've uploaded a new version which fixes a bug which could cause a crash when using a button. Also a new button command: "TAG:SET:tag:value" which sets tag values without having to use scripts.
That is awesome addition. Thank you
In latest fb2k versions the volume commands are restricted to volume up\down\mute only
thanx
russell777! didn't know that. is there a ressource where all availible commands are listed?
(well, i could use foo_run or the buttons to have a look at them, but isn't there a web-ressource....would be easier for a lazy guy like me )
however you can define the volume steps in advanced options window
didn't know about that feature either, so thanks for the hint....now my volume-up and down buttons are more helpful....
and with foo_runs "simultanious runs"-option it might be even possible to create some kind of klickable volume-bar.
(i thought someone allready made something like this with pics included, but i can't find the thread/post anymore)
Would you be able to implement standard windows controls into this somehow, like:
$button_check(xpos,ypos,text,offcriteria,oncriteria,offaction,onaction,disabledcriteria)
$button_radio(xpos,ypos,text,groupname,oncriteria)
I know this could be done with some fancy coding, but it would be nice to have real skinned windows controls with easily set options. You could do stuff like have panels of checkboxes for genres, styles, etc and maybe even dropdown lists, real windows-style progress bars, buttons, etc. Also, you could create custom context menus for certain areas of the panel, so for example you could right click on genre and a menu would popup with a list of genres.
$menu(xstart,ystart,xend,yend,menuitem1,action1,menuitem2,action2,etc...)
all the code has to be self contained inside the button. it doesn't carry through outside the button. think of it as a separate trackinfo panel.
So you can't have a button changing another buttons image? (Could be useful for effects overlaying other buttons in a panel)Edit: Sure it can be done, using seperate images as a whole, with seperate hover points. I already do it with my rating control. Sorry, still new to this
In the case that anyone else is wondering how to remove a tag altogether; I was trying to figure it out myself and found that not specifying a tag value does the trick, like this:
$button2(50,50,0,0,25,13,'$font(tahoma,8,,0-0-0)Test','$font(tahoma,8,underline,0-0-0)Test',TAG:SET:Rating:,)
As far as creating a tag with multiple values or adding to a tag that has multiple values, I haven't found a way to do that, and am not sure it's even possible with the current build. Maybe the next version will use a semi-colon to to separate multiple values or something.
Bug ReportWhen no track is playing or the playlist is empty, and you click a button that is using the SET:TAG option; Foobar crashes.
$button2(0,0,0,0,$calcwidth(Test),13,'$font(tahoma,8,,0-0-0)Test','$font(tahoma,8,underline,0-0-0)Test',TAG:SET:Rating:1,)
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0043BD59h
Access violation, operation: read, address: 00000000h
Call path:
entry=>app_mainloop
This is the first crash logged by this instance.
Code bytes (0043BD59h):
0043BD19h: C0 EB 66 39 7D 08 74 21 7E 0A 83 7D 08 02 7F 04
0043BD29h: B0 01 EB 55 8D 75 E0 E8 1D 7B FC FF 68 2C 7F 4C
0043BD39h: 00 8B C6 50 E8 52 C6 05 00 3B C7 53 76 38 57 8D
0043BD49h: 45 F0 50 8B CE E8 75 61 FD FF 83 65 FC 00 8B 08
0043BD59h: 8B 01 FF 50 20 8A D8 F6 DB 1A DB 83 4D FC FF 8B
0043BD69h: 4D F0 FE C3 85 C9 74 04 8B 01 FF 10 84 DB 75 17
0043BD79h: 47 3B 7D EC 72 C8 32 C0 5B 8B 4D F4 5F 5E 64 89
0043BD89h: 0D 00 00 00 00 C9 C3 B0 01 EB ED B8 DD FA 4A 00
Stack (0012F670h):
0012F650h: 00F8E644 7C9C93C0 77F643DD 7C9C93C0
0012F660h: 00000004 00000000 00F8DB50 00000000
0012F670h: 00000000 0549474C 0012F6FC 0012F6A8
0012F680h: 0040A6F4 0040A709 00000001 00000000
0012F690h: 0012F6B4 004A798B 00000000 0012F6C0
0012F6A0h: 0043BDB1 00000000 0012F6FC 00000000
0012F6B0h: 004DEB6C 0012F6EC 004AFADD FFFFFFFF
0012F6C0h: 0012F9E8 015494CF 0012F6E0 00000000
0012F6D0h: 00FC03D8 00000000 C39E7EA7 0012F6FC
0012F6E0h: 01555DD8 0012F6FC 00000001 0012F9DC
0012F6F0h: 0154ED28 00000000 015157B4 00000000
0012F700h: 00000000 00FC03D8 00000000 C39E7F6B
0012F710h: 01F103C6 05492B58 001B004F 031194D0
0012F720h: 00000000 0012F6FC 05492B58 004DEB6C
0012F730h: 773EABE2 01F103C6 0A010E62 00000000
0012F740h: 00000000 00000000 0000025D 00000000
0012F750h: 0549E1E8 00D8ADBC A54B8AB0 00000000
0012F760h: BFA0E991 00000000 A54B892C 00000002
0012F770h: 00000000 00000001 00CC0020 FFFFFFFF
0012F780h: 0549E1E8 00D8ADC0 0549E1E8 00D8ADB8
Registers:
EAX: 0012F68C, EBX: 00000000, ECX: 00000000, EDX: 0043BD94
ESI: 0012F6E0, EDI: 00000000, EBP: 0012F69C, ESP: 0012F670
Crash location: "foobar2000", loaded at 00400000h - 004F2000h
Loaded modules:
foobar2000 loaded at 00400000h - 004F2000h
ntdll loaded at 7C900000h - 7C9B0000h
kernel32 loaded at 7C800000h - 7C8F4000h
COMCTL32 loaded at 773D0000h - 774D3000h
msvcrt loaded at 77C10000h - 77C68000h
ADVAPI32 loaded at 77DD0000h - 77E6B000h
RPCRT4 loaded at 77E70000h - 77F01000h
GDI32 loaded at 77F10000h - 77F57000h
USER32 loaded at 77D40000h - 77DD0000h
SHLWAPI loaded at 77F60000h - 77FD6000h
SHELL32 loaded at 7C9C0000h - 7D1D5000h
ole32 loaded at 774E0000h - 7761D000h
shared loaded at 10000000h - 1002A000h
comdlg32 loaded at 763B0000h - 763F9000h
uxtheme loaded at 5AD70000h - 5ADA8000h
foo_albumlist loaded at 00A30000h - 00A77000h
OLEAUT32 loaded at 77120000h - 771AC000h
foo_audioscrobbler loaded at 00A80000h - 00AB7000h
WS2_32 loaded at 71AB0000h - 71AC7000h
WS2HELP loaded at 71AA0000h - 71AA8000h
foo_autoplaylist loaded at 00B00000h - 00B32000h
foo_browser loaded at 00B60000h - 00B9B000h
foo_cdda loaded at 00BC0000h - 00BF6000h
foo_common loaded at 00C20000h - 00C5A000h
foo_cwb_hooks loaded at 00C80000h - 00CAE000h
foo_dbsearch loaded at 00CD0000h - 00D3C000h
foo_dsp_crossfader loaded at 00D60000h - 00D6D000h
MSVCR80 loaded at 78130000h - 781CB000h
foo_dsp_skip_silence loaded at 00D90000h - 00D9A000h
foo_dsp_std loaded at 00DB0000h - 00DF1000h
foo_input_std loaded at 00E20000h - 00F34000h
foo_lnk loaded at 00F60000h - 00F79000h
foo_masstag loaded at 00FA0000h - 00FF0000h
foo_playcount loaded at 01010000h - 01038000h
foo_playlist_tree loaded at 01060000h - 010C9000h
foo_random loaded at 010F0000h - 0112F000h
foo_rgscan loaded at 01150000h - 01198000h
foo_run loaded at 011C0000h - 011EB000h
foo_uie_albumart loaded at 01210000h - 01247000h
gdiplus loaded at 4EC50000h - 4EDF3000h
foo_uie_albumlist loaded at 01280000h - 012BF000h
foo_uie_explorer loaded at 012E0000h - 0131C000h
foo_uie_lyrics loaded at 01340000h - 0139E000h
WININET loaded at 771B0000h - 77259000h
CRYPT32 loaded at 77A80000h - 77B14000h
MSASN1 loaded at 77B20000h - 77B32000h
WINMM loaded at 76B40000h - 76B6D000h
foo_uie_quicksearch loaded at 01470000h - 014B7000h
foo_uie_tabs loaded at 014C0000h - 014EA000h
foo_uie_trackinfo_mod loaded at 01510000h - 01563000h
MSVCP80 loaded at 7C420000h - 7C4A7000h
foo_ui_columns loaded at 01580000h - 01617000h
foo_ui_std loaded at 01640000h - 01697000h
foo_utils loaded at 016C0000h - 016F9000h
tskh loaded at 01A20000h - 01A32000h
CLBCATQ loaded at 76FD0000h - 7704F000h
COMRes loaded at 77050000h - 77118000h
VERSION loaded at 77C00000h - 77C08000h
SETUPAPI loaded at 77920000h - 77A79000h
appHelp loaded at 77B40000h - 77B62000h
cscui loaded at 02240000h - 022F1000h
CSCDLL loaded at 76600000h - 7661D000h
USERENV loaded at 769C0000h - 76A73000h
mswsock loaded at 71A50000h - 71A8F000h
DNSAPI loaded at 76F20000h - 76F47000h
iphlpapi loaded at 76D60000h - 76D79000h
imon loaded at 20B00000h - 20B45000h
WSOCK32 loaded at 71AD0000h - 71AD9000h
NTMARTA loaded at 77690000h - 776B1000h
WLDAP32 loaded at 76F60000h - 76F8C000h
SAMLIB loaded at 71BF0000h - 71C03000h
hnetcfg loaded at 662B0000h - 66308000h
wshtcpip loaded at 71A90000h - 71A98000h
DSOUND loaded at 73F10000h - 73F6C000h
WINTRUST loaded at 76C30000h - 76C5E000h
IMAGEHLP loaded at 76C90000h - 76CB8000h
wdmaud loaded at 72D20000h - 72D29000h
rasadhlp loaded at 76FC0000h - 76FC6000h
msacm32 loaded at 72D10000h - 72D18000h
MSACM32 loaded at 77BE0000h - 77BF5000h
midimap loaded at 77BD0000h - 77BD7000h
KsUser loaded at 73EE0000h - 73EE4000h
dciman32 loaded at 73BC0000h - 73BC6000h
DBGHELP loaded at 59A60000h - 59B01000h
Stack dump analysis:
Address: 0040A6F4h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 0040A709h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004A798Bh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 0043BDB1h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004DEB6Ch, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004AFADDh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 015494CFh, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 00FC03D8h, location: "foo_masstag", loaded at 00FA0000h - 00FF0000h
Address: 01555DD8h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 0154ED28h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 015157B4h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 00FC03D8h, location: "foo_masstag", loaded at 00FA0000h - 00FF0000h
Address: 004DEB6Ch, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 773EABE2h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal414" (+00000BA5h)
Address: 77F16EAAh, location: "GDI32", loaded at 77F10000h - 77F57000h
Symbol: "DeleteDC" (+00000012h)
Address: 773D6B40h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "DllInstall" (+000008C0h)
Address: 77D4B629h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "EndPaint" (+0000000Ch)
Address: 77443B46h, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "Ordinal384" (+00057CA6h)
Address: 00CE04A4h, location: "foo_dbsearch", loaded at 00CD0000h - 00D3C000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C9106ABh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000D7h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C9105D4h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000000h)
Address: 77D48BD9h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowThreadProcessId" (+00000159h)
Address: 7744583Bh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "CreateToolbar" (+00000C97h)
Address: 77444BDBh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "CreateToolbar" (+00000037h)
Address: 7744636Fh, location: "COMCTL32", loaded at 773D0000h - 774D3000h
Symbol: "CreateToolbar" (+000017CBh)
Address: 77D48B26h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D488D1h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D488DAh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 7C9105C8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D48734h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000006Dh)
Address: 77D48B26h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowThreadProcessId" (+000000A6h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D488D1h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D488DAh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 0155080Fh, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 01514A43h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D48734h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000006Dh)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D48816h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+0000014Fh)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D48830h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000169h)
Address: 77D489CDh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+00000127h)
Address: 01514A00h, location: "foo_uie_trackinfo_mod", loaded at 01510000h - 01563000h
Address: 77D4DAEAh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DestroyWindow" (+00000000h)
Address: 77D5E04Ah, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "IsDialogMessageW" (+0000008Eh)
Address: 77D70467h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DeregisterShellHookWindow" (+000001CFh)
Address: 77D489F0h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetWindowLongW" (+0000014Ah)
Address: 77D48A10h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DispatchMessageW" (+0000000Fh)
Address: 0042FC82h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 10002DD2h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uCallStackTracker::uCallStackTracker" (+00000032h)
Address: 004C0518h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004307C8h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C03B8h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C754Ch, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C754Ch, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C7530h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 7C911538h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000AA9h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C911596h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 004E41B8h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004B49D0h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C917BF5h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlReAllocateHeap" (+000001F8h)
Address: 7C883780h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000011Ch)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 00492016h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004E4238h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00447CCCh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00431F56h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 0049928Dh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00497420h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C0528h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 10002D87h, location: "shared", loaded at 10000000h - 1002A000h
Symbol: "uPrintCrashInfo_SetDumpPath" (+000000A7h)
Address: 004C0528h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004AF7B4h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004C0528h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004309CFh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004E0928h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00497625h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004938BAh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004938B4h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004B49E4h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004B3680h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004E4230h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00497420h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004AFBA8h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00496334h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00400000h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00497420h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 7C816FD7h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "RegisterWaitForInputIdle" (+00000049h)
Address: 7C839AA8h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "ValidateLocale" (+000002B0h)
Address: 7C816FE0h, location: "kernel32", loaded at 7C800000h - 7C8F4000h
Symbol: "RegisterWaitForInputIdle" (+00000052h)
Address: 0049639Dh, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 00410072h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 004F2000h
Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 004F2000h
Version info:
foobar2000 v0.9.4.1
UNICODE
Additional info:
Track info panel mod 0.6 beta [Oct 18 2006 - 23:08:07] (foo_uie_trackinfo_mod)
Album List 3.2.0 (foo_albumlist)
cwbowron's title format hooks 1.0.13 [Oct 2 2006 - 09:06:52] (foo_cwb_hooks)
Audioscrobbler 1.3.4 (foo_audioscrobbler)
Columns UI 0.1.3 beta 1v6 TEST (foo_ui_columns)
Default User Interface 0.9acc (foo_ui_std)
Standard Input Array 1.0 (foo_input_std)
Album Art Panel 0.2.5.1 (foo_uie_albumart)
Lyric Show Panels 0.3.0.0 (foo_uie_lyrics)
Crossfader 0.1.6 (foo_dsp_crossfader)
Common services 0.1 (foo_common)
Standard DSP array 1.0 (foo_dsp_std)
Explorer Tree 1.04.6b (foo_uie_explorer)
Shell link resolver 1.1 (foo_lnk)
Masstagger 1.6 (foo_masstag)
Playback Statistics 1.3.2 (foo_playcount)
FLAC Decoder 1.1.0 (foo_input_std)
Tabbed panel modified 0.2.5 (foo_uie_tabs)
foobar2000 core v0.9.4.1 (Core)
Album list panel 0.2.1 beta 4 (foo_uie_albumlist)
Quick Search Toolbar 2.8j (foo_uie_quicksearch)
Database search 1.4 beta 3 (foo_dbsearch)
Playlist Tree Panel 2.2.3 [Aug 25 2006 - 11:27:07] (foo_playlist_tree)
Music Browser 1.2.2c [Jul 6 2006 - 09:42:02] (foo_browser)
Run services 0.3.2 (foo_run)
CD Audio Decoder 2.1.1 (foo_cdda)
WMA Decoder 1.1 (foo_input_std)
Playlist tools 0.5.7 (foo_utils)
ReplayGain Scanner 2.0.2 (foo_rgscan)
Randomized playlist entry 1.2.3 (foo_random)
Skip silence 0.1 (foo_dsp_skip_silence)
Hardly a bug, how can it tag a file that doesn't exist? Disable your buttons or something when nothing's playing.
Hardly a bug, how can it tag a file that doesn't exist? Disable your buttons or something when nothing's playing.
It shouldn't crash, but maybe just do nothing...
any crash should be investigated for overall functionality
masstagger does the same via buttons you know
masstagger does the same via buttons you know
Not for me. I can't reproduce a crash in the same instance using a masstagger script called via the toolbar buttons (if that is what you mean). As it should, it does nothing when no song is playing, when nothing is selected, or when the playlist is empty.
My %artist% and whatnot follows the cursor rather than what is being played. Is that intended?
^ Double click the trackinfo panel
^ Double click the trackinfo panel
Ahh, thanks for the quick reply.
May I suggest a toggle in the context menu?
How do I do this in de track info mod panel cause I really cant figure it out.
The text keeps going down when it is too long en then my whole panel isn't correct.
kan somebody please tell me how to align all this and how to put lines in there I would be VERY gratefull,I'm getting really desperate!
http://img156.imageshack.us/img156/2209/fo...hristophzc9.jpg (http://img156.imageshack.us/img156/2209/foobar2000christophzc9.jpg)
thanks in advance
in the normal trackinfopanel i just did this with tabs but I want to use the modified version to do rating buttons like I saw on the stereo skin.
How do I do this in de track info mod panel cause I really cant figure it out.
The text keeps going down when it is too long en then my whole panel isn't correct.
As scrolling and ellipses for line ending were removed from the settings in foo_uie_trackinfo_mod it has to be implemented in the code.
i would suggest to
cut off the text which is too long:
//////////////////////////////////////////////////////////////////////////////
$puts(winlen,29)
//////////////////////////////////////////////////////////////////////////////
$alignrel(left,top)
Filename:
$alignrel(right,top)
$ifgreater($add($len2(filename: ),$len2(%filename%)),$get(winlen)
,$cut(%filename%,$sub($get(winlen),$len2(filename: )))
,%filename%)
$alignset()
as $cut does not work with $calcwidth and %width%, you have to define the width of your panel in characters -> just change the 29 behind winlen to your needs.
if you want to
scroll the text instead of cutting it, take a look at
russel's home stereo display code (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47714&view=findpost&p=424177) (especially the Trackinfo-Code in the SDK).
if you want to
"swap" infos if they are to long, you can get impressions later in the same thread (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47714&view=findpost&p=443045).
hope i could help you fighting your desperation!
thanks for the quick reply
edit: But isn't it possible to just do it like the previous panel with the tab functions?
And it maybe sounds stupid but what's the difference between alignabs and alignrel and alignset cause I don't really get it?
Hello, i experimented a little bit with the component and especially the $button(). Now I would like to perform two actions with one click. How can I achieve that?
I have experienced another problem but I don't know if its foo_cwb_hacks or trackinfo's fault. Depending on %cwb_playback_state% i change the appearance of some buttons. At the start of foobar the playback is stopped. But the buttons aren't shown the right way. I either have to doubleclick the panel two times or resize it before everything looks the way it is supposed. Has anyone else experienced that behaviour?
can some1 help me out. how do i :
1. retrieve the album art ie folder.jpg from the playing album
2. (not sure if this is relevant) in the appearance thread ppl have album art in their playlists. is this through this plug in? if so how
can some1 help me out. how do i :
1. retrieve the album art ie folder.jpg from the playing album
2. (not sure if this is relevant) in the appearance thread ppl have album art in their playlists. is this through this plug in? if so how
You can do both with the $imageabs or $imageabs2 function
can some1 help me out. how do i :
2. (not sure if this is relevant) in the appearance thread ppl have album art in their playlists. is this through this plug in? if so how
They're using foo_uie_single_column_playlist (http://www.hydrogenaudio.org/forums/index.php?showtopic=47810) to put images inside their playlist.
Just wndering: Does %_selected% not work with the trackinfo_mod?
i have a question . i use track info mod. look at this code, it´s the code i use for showing the rating of album/track.. if i have some tracks rated 0 i want it to display (NOT RATED). is it possible. and if so, how do i do it...
$font(Swis721 Cn BT D-Type,8,bold glow-91-100-111 glowblur-10,203-206-211)$get(head)Rating: $font(Swis721 Cn BT D-Type,8,bold glow-129-138-150 glowblur-10,255-255-255)$get(info)$if(%rating%,%rating%,)
$char(10)
$if($strcmp(%rating%,0),NOT RATED,Rest of the code)?
$if($strcmp(%rating%,0),NOT RATED,Rest of the code)?
cheers, that worked just fine =)
@terrestrial
If Foobar2000 is the inactive window on my desktop and I click anywhere on a trackinfo_mod panel of Foobar2000 it does not make Foobar2000 the active window. Whereas if I click another area of Foobar2000 while it's the inactive window, such as the title bar, Foobar2000 becomes the active window. Is this trackinfo_mod behaviour intentional or a bug?
Hello, i experimented a little bit with the component and especially the $button(). Now I would like to perform two actions with one click. How can I achieve that?
you currently can't have two buttons overlapping. maybe in the next version.
Just wndering: Does %_selected% not work with the trackinfo_mod?
nope.
@terrestrial
If Foobar2000 is the inactive window on my desktop and I click anywhere on a trackinfo_mod panel of Foobar2000 it does not make Foobar2000 the active window. Whereas if I click another area of Foobar2000 while it's the inactive window, such as the title bar, Foobar2000 becomes the active window. Is this trackinfo_mod behaviour intentional or a bug?
I'll try to fix it for the next version.
--------------
I've uploaded a new version. Two new buttons to filter and sort playlists. Two examples on how to use the new buttons:
$font(calibri,9,,0-0-0)
$alignabs(18,2,$sub(%_width%,20),40,left,top)$if2(%filterstring%,No Filter)
$button2(2,2,0,0,14,14,'$font(wingdings 3,9,bold,0-0-0)u','$font(wingdings 3,9,bold,82-18-18)u','FILTER:source|!source!:genre|%genre%:decade|$mul($div(%date%,10),10):composer|%composer%:artist|%artist%:album|%album%',)
$alignabs(18,18,$sub(%_width%,20),40,left,top)$if2(%sortstring%,No Sort)
$button2(2,18,0,0,14,14,'$font(wingdings 3,9,bold,0-0-0)u','$font(wingdings 3,9,bold,82-18-18)u','SORT:genre|%genre%:date|%date%:composer|%composer%:artist|%artist%:album|%album%',)
and
$button2(2,8,0,0,18,24,'$font(Wingdings 3,12,,0-0-0)u','$font(Wingdings 3,12,,255-0-0)u','FILTER:source|!source!',)
$if($filtered(genre),
$alignabs(20,2,40,16,left,top)$font(calibri,9,underline,0-0-0)genre
$alignabs(20,16,40,16,left,top)$font(,,,)$filtered(genre)
,
$button2(20,2,0,0,40,16,'$font(calibri,9,,0-0-0)genre','$font(calibri,9,,255-0-0)genre','FILTER:genre|%genre%',)
)
$if($sorted(album),
$button2(62,4,0,0,20,16,'$font(Wingdings 3,9,,255-0-0)q$font(calibri,9,,255-0-0)$sorted(album)','$font(Wingdings 3,9,,0-0-0)q$font(calibri,9,,255-0-0)$sorted(album)','SORT:album|%album%',)
,
$button2(62,4,0,0,20,16,'$font(Wingdings 3,9,,0-0-0)q','$font(Wingdings 3,9,,255-0-0)q','SORT:album|%album%',)
)
$if($filtered(decade),
$alignabs(86,2,40,16,left,top)$font(calibri,9,underline,0-0-0)decade
$alignabs(86,16,40,16,left,top)$font(,,,)$filtered(decade)
,
$button2(86,2,0,0,40,16,'$font(calibri,9,,0-0-0)decade','$font(calibri,9,,255-0-0)decade','FILTER:decade|$mul($div(%date%,10),10)',)
)
$if($sorted(date),
$button2(128,4,0,0,40,16,'$font(Wingdings 3,9,,255-0-0)q$font(calibri,9,,255-0-0)$sorted(date)','$font(Wingdings 3,9,,0-0-0)q$font(calibri,9,,255-0-0)$sorted(date)','SORT:date|%date%',)
,
$button2(128,4,0,0,40,16,'$font(Wingdings 3,9,,0-0-0)q','$font(Wingdings 3,9,,255-0-0)q','SORT:date|%date%',)
)
terrestrial, could you somehow make it possible to identify menu commands in button functions by their full path? i would need this especially for the jump feature of foo_menu_addons.
Thank you terrestrial,the update is really a great thing to happen to foobar!
I have one question:in normal way i use grouping of SCP by %album%,but then i apply sorting by %rating%
via trackinfo mod panel it still sorts the playlist by albums and their rating.How can i make the SCP to recognize
the custom sorting and not to group my playlist by albums,but by tracks along with suppressing the headers?
(I want to achieve a playlist which will be sorted by individual rating of the tracks with no headers)TIA.
Ok,i found a workaround for the problem i described above,yet another question:
When you using a sorting\filtering commands the playlist won't change until you select "source",is it possible
to set source automaticly when "sort" selected?
terrestrial, could you somehow make it possible to identify menu commands in button functions by their full path? i would need this especially for the jump feature of foo_menu_addons.
yes, I'll try to add it in for the next version.
Thank you terrestrial,the update is really a great thing to happen to foobar!
I have one question:in normal way i use grouping of SCP by %album%,but then i apply sorting by %rating%
via trackinfo mod panel it still sorts the playlist by albums and their rating.How can i make the SCP to recognize
the custom sorting and not to group my playlist by albums,but by tracks along with suppressing the headers?
(I want to achieve a playlist which will be sorted by individual rating of the tracks with no headers)TIA.
cannot currently set the grouping in scp. will be in a future version.
Ok,i found a workaround for the problem i described above,yet another question:
When you using a sorting\filtering commands the playlist won't change until you select "source",is it possible
to set source automaticly when "sort" selected?
filtering creates a new playlist (if you don't select a source first, it should use the media library). sort sorts the currently active playlist. make sure you have version 0.7.1 (not 0.7).
Im using latest version, and when i use this function: (
$imageabs(0,0,C:\Program Files\foobar2000\images\0s1.png, )
It gives me [UNKNOWN FUNCTION]
What im doing wrong?
(http://i13.tinypic.com/4c25soz.png)
Sorry,but what's the relation to the columns ui playlist?This command works only from trackinfo mod panel or single column playlist.
On a different note:such a great tool terrestrial had provided us with!I've already added Mood>x,Mood=x,
Rating>x,Rating=x filter strings and it just kicks ass!
(http://img265.imageshack.us/img265/8537/hahakw2.png)
Allright, now i know i was doing somehting really wrong...
PS: i dont think it was a good idea to post this here, maybe u could look here: http://www.hydrogenaudio.org/forums/index....showtopic=49581 (http://www.hydrogenaudio.org/forums/index.php?showtopic=49581)
The recent feature additions look really promising, especially if they ever get proper support for tags with multiple values (TAG:SET, FILTER, etc).
I think it would be useful to have a third button function for text/code that does not require absolute positioning co-ordinates, nor mouse-over co-ordinates; all the text/code within this button function would be "clickable," and would be positioned relative to the code before it. Something like
$button3(text, font properties, hover font properties, command).
Basic example:
$button3(%artist%,underline 255-0-0,underline 0-0-255,Search for Same Artist) released the album $button3(%album%,underline 255-0-0,underline 0-0-255,Search for Same Album) in the year $button3(%date%,underline 255-0-0,underline 0-0-255,playlist command here).
Would be parsed as: <Artist tag> (http://) released the album <album tag> (http://) in the year <date tag> (http://).
Im using latest version, and when i use this function: (
$imageabs(0,0,C:\Program Files\foobar2000\images\0s1.png, )
It gives me [UNKNOWN FUNCTION]
What im doing wrong?
(http://i13.tinypic.com/4c25soz.png)
You have to use $imageabs() in Track info mod (foo_trackinfo_mod) panel only; this string is not valid or recognized in other panels or in standard playlist view (foo_ui_columns).
You need a much more complex layout, and u have to put a track info mod panel in the right end of your layout, and i don't surly know how to do it.
i have searched for it but i couldnt find anything. so my question is, whether there is a list of available buttons.
i am wondering if there is the possibility to add a "File/Open..." button, in particular.
please help me.
thx in advance.
@terrestrial Is it possible in some way to have sub menus inside of sub menus?I mean "artist" gives you
a list of first letters of available artists (a,b,c,d) and selecting a letter gives you additional menu with artist names.I tried but with no luck,mayby something with the syntax that i don't know about?
i have searched for it but i couldnt find anything. so my question is, whether there is a list of available buttons.
i am wondering if there is the possibility to add a "File/Open..." button, in particular.
please help me.
thx in advance.
Something like this?
$button(0,0,0,0,25,25,images\fileopen.png,images\fileopen_hover.png,Open...,)BTW, the Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#Buttons) is helpful as a reference for this component.
Something like this? $button(0,0,0,0,25,25,images\fileopen.png,images\fileopen_hover.png,Open...,)
BTW, the Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#Buttons) is helpful as a reference for this component.
sweet! thank you man. i have looked at that wiki before and i tried "file/open" and all kinds of variations of it. apparently all but the most obvious one...
THX!
@terrestrial Is it possible in some way to have sub menus inside of sub menus?I mean "artist" gives you
a list of first letters of available artists (a,b,c,d) and selecting a letter gives you additional menu with artist names.I tried but with no luck,mayby something with the syntax that i don't know about?
you currently can't have sub menus. I'm going to replace the menu control with something else that should handle long lists better.
Thanks!I'll be waiting.
Is the wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#TAG:SET_-_To_edit_a_tags_value) information up to date? I'm playing with adding buttons and just to see what it looks like, I copied and pasted the examples but I'm getting an unknown function message.
(http://img112.imageshack.us/img112/3782/f2kinfopanelmd4.png) (http://imageshack.us)
Here's my code for that section.
$if(%tempo%,,
// TEMPO BUTTONS
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)S e t T e m p o $get(text1)']'
$char(10)
$button2(0,0,0,0,$calcwidth(Remove Tempo),13,'$font(tahoma,8,,0-0-0)Remove Tempo','$font(tahoma,8,underline,0-0-0)Remove Tempo',TAG:SET:tempo:,)
$button2(0,0,0,0,37,13,'$font(tahoma,8,,0-0-0)Freeflow','$font(tahoma,8,underline,0-0-0)Freeflow',TAG:SET:tempo:1,)
$button2(0,0,0,0,37,13,'$font(tahoma,8,,0-0-0)Slow','$font(tahoma,8,underline,0-0-0)Slow',TAG:SET:tempo:2,)
$button2(0,0,0,0,37,13,'$font(tahoma,8,,0-0-0)Medium','$font(tahoma,8,underline,0-0-0)Medium',TAG:SET:tempo:3,)
$button2(0,0,0,0,37,13,'$font(tahoma,8,,0-0-0)Fast','$font(tahoma,8,underline,0-0-0)Fast',TAG:SET:tempo:4,)
$button2(0,0,0,0,37,13,'$font(tahoma,8,,0-0-0)Frenetic','$font(tahoma,8,underline,0-0-0)Frenetic',TAG:SET:tempo:5,)$char(10))
Also, how do I add padding on the left side of the panel?
$padding(4,0)
$padding(4,0)
That blanks the entire panel.
you currently can't have sub menus. I'm going to replace the menu control with something else that should handle long lists better.
What's the menu control you guys are talking about? Did I miss something?
Is the wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#TAG:SET_-_To_edit_a_tags_value) information up to date? I'm playing with adding buttons and just to see what it looks like, I copied and pasted the examples but I'm getting an unknown function message.
Here's my code for that section.
I cannot reproduce the [unknown function] message with the code you provided. I'm assuming you want all your tempo buttons adjacent to one another, but from your code I can tell you that a.) all your tempo buttons are overlapping and b.) they're getting clipped.
a. The first two parameters (DstX, DstY) in all your buttons are 0,0 so you're telling the buttons to align at co-ordinates 0,0 hence the overlapping. The buttons don't output text relatively, they have absolute position like the
$alignabs function, which you have to specify.
b. The text in your buttons is getting clipped because you have all their bounding rectangles the same width (37). Instead of the number 37, use $calcwidth() to get the precise width of your buttons text as you did with your Remove Tempo button... $calcwidth(
Freeflow), $calcwidth(
Slow), etc.
Hope that helps.
$padding(4,0)
That blanks the entire panel.
works fine for me
$padding(4,0)
That blanks the entire panel.
works fine for me
I tested on 2 machines, same problem. Maybe I'm using it incorrectly?
I cannot reproduce the [unknown function] message with the code you provided.
I tried creating a single button and still get the same error. Here's the entire code (very long sorry). It's based on Habla's settings.
// Original code by necropimp, modified by AstreaEdge, final by KockRoach
// Appearance changed by Habla. Muchas gracias to those above!
// Best viewed with vert pad 10, hor pad 13, line space 2, Segoe UI 7pt font, black background
// !!!!BEGIN USER CONFIGURATION!!!!
// Show Artist? (1 = show, 0 = don't show)
$puts(arts,1)
// Show Album?
$puts(albs,1)
// Show Title?
$puts(tils,1)
// Info Heading Color e.g. "Title:"
$puts(head,$rgb(61,129,193))
// Info Color e.g. "Black Dog"
$puts(info,$rgb(255,255,255))
// Info Annotation Color (e.g. kbps is the annotation)
$puts(anno,$rgb(255,255,255))
// Separator
// the separators (Song,Play,Tech info) will change to a different color if the panel mode is set to Follow cursor.
// change "followcursorcol" to change this color. It is currently set to flash orange.
$puts(followcursorcol,$rgb(200,150,50))
$puts(text2,$rgb(255,255,255))
$puts(text1,$if(%_trackinfo_nowplaying%,$rgb(61,129,193))$if(%_trackinfo_followcursor%,$get(followcursorcol)))
$puts(fadeend,$rgb(0,0,0))
$puts(seplen,83)
$puts(sepchar,'.')
// Set Rating character
$puts(ratingchar,'?')
// !!!!END USER CONFIGURATION!!!!
// Day Conversion
$puts(day,$substr(%last_played%,9,10))
$if(%last_played%,
$if($strcmp($left($get(day),1),0),$puts(day,$right($get(day),1))))
$if($strcmp($get(day),11),$puts(xx,th),
$if($strcmp($get(day),12),$puts(xx,th),
$if($strcmp($get(day),13),$puts(xx,th),
$if($strcmp($right($get(day),1),1),$puts(xx,st),
$if($strcmp($right($get(day),1),2),$puts(xx,nd),
$if($strcmp($right($get(day),1),3),$puts(xx,rd),
$puts(xx,th)))))))
// Month Conversion
$puts(month,$substr(%last_played%,6,7))
$puts(month_name,$select($get(month),
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec))
// Year Conversion
$puts(year,$substr(%last_played%,1,4))
// Time Conversion
$puts(hour,$substr(%last_played%,12,13))
$puts(min,$substr(%last_played%,14,16))
$puts(sec,$substr(%last_played%,17,19))
// 24 Hour to 12 Hour Conversion
$if($strcmp($left($get(hour),1),0),$puts(hour1,$right($get(hour),1)))
$if($strcmp($left($get(hour),1),1),$puts(hour1,$sub($get(hour),12)))
$if($strcmp($left($get(hour),1),2),$puts(hour1,$sub($get(hour),12)))
$if($strcmp($get(hour),00),$puts(hour1,12))
$if($strcmp($get(hour),10),$puts(hour1,10))
$if($strcmp($get(hour),11),$puts(hour1,11))
$if($strcmp($get(hour),12),$puts(hour1,12))
// AM/PM Conversion
$if($strcmp($get(hour),00),$puts(yy,am))
$if($strcmp($get(hour),10),$puts(yy,am))
$if($strcmp($get(hour),11),$puts(yy,am))
$if($strcmp($get(hour),12),$puts(yy,pm))
$if($strcmp($get(hour),24),$puts(yy,am))
$if($strcmp($left($get(hour),1),0),$puts(yy,am))
$if($strcmp($left($get(hour),1),1),$puts(yy,pm))
$if($strcmp($left($get(hour),1),2),$puts(yy,pm))
// Date Format
$puts(time_of_year,$get(month_name) $get(day)$get(xx)',' $get(year))
// Time Format
$puts(time_of_day,$get(hour1)$get(min)$get(sec) $get(yy))
// SONG INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)S o n g I n f o $get(text1)']'$char(10)
$if($strcmp(1,$get(tils)),$if(%title%,$get(head)Title: $get(info)%title%[ $char(40)%version%$char(41)]$char(10),),)
$if($strcmp(1,$get(arts)),$if(%artist%,$get(head)Artist: $get(info)%artist%$char(10),),)
$if($strcmp(1,$get(albs)),$if(%album%,$get(head)Album: $get(info)%album%[ $char(40)%subtitle%$char(41)][ $char(91)%edition%$char(93)]$char(10),),)
$if(%disc%,$get(head)Disc: $get(info)%disc%$get(head)$if(%disc%, of $get(info)%totaldiscs%)$char(10),)
$if(%date%,$get(head)Year: $get(info)%date%$char(10),)
$if(%tracknumber%,$get(head)Track #: $get(info)%tracknumber%$char(10),)
$transition($repeat($get(sepchar),$get(seplen)),$get(text1),$get(fadeend))$char(10)
$if(%genre%,$get(head)Genre: $get(info)%genre%$char(10),)
$if(%style%,$get(head)Style: $get(info)%style%$char(10),)
$if(%mood%,$get(head)Mood: $get(info)%mood%$char(10),)
$if(%tempo%,$get(head)Tempo: $get(info)$select(%tempo%,Freeflow,Slow,Medium,Fast,Frenetic,Choose between 1-5)$char(10),)
$if(%bpm%,$get(head)BPM: $get(info)$num(%bpm%,1)$char(10),)
$if(%rating%,$get(head)Rating: $repeat($get(info)$get(ratingchar),%rating%)
$repeat($rgb(70,70,70)$get(ratingchar),$sub(5,%rating%))$char(10),)
// TECH INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)T e c h I n f o $get(text1)']'$char(10)
$get(head)Length: $get(info)$if(%_length%,%_length%,)$if(%_isplaying%, / %_time_elapsed%$get(anno)$if(%_length%, / -%_time_remaining%),%_length%)$char(10)
$get(head)Type:$if(%__codec%, $get(info)%__codec%) $get(info)
$if2(%__bitrate_dynamic%,%__bitrate%) $get(anno)Kb/s $if($stricmp(%__codec%,mp3),$if($stricmp(%__extrainfo%,vbr),VBR,CBR))
$char(10)
$if(%__lame_version%,$get(head)Preset: $get(info)$left(%__lame_version%,4) $right(%__lame_version%,4) [$upper(%__lame_profile%)]$char(10),)
$if(%__flac_vendor%,$get(head)Encoder: $get(info)$if($stricmp(%__flac_vendor%,reference libFLAC 1.1.2 20050205),FLAC 1.1.2 -8)$char(10),)
$if(%__mpc_profile%,$get(head)MPC Profile: $get(info)%__mpc_profile%$char(10),)
$get(head)Compression: $get(info)$div(1411,%__bitrate%).$substr($muldiv(1411,100,%__bitrate%),2,3):1 '('$get(info)$muldiv(%__bitrate%,100,1411)$get(anno)'%)'$char(10)
$get(head)Channels: $get(info)$if($stricmp($codec(),MP3),$get(space2)$caps(%__mp3_stereo_mode%),
$if(%__channels%,$ifgreater(%__channels%,1,Stereo,Mono),'?'))$char(10)
$if(%__bitspersample%,$get(head)Bitdepth: $get(info)%__bitspersample% bits/sample$char(10),)
$if(%__samplerate%,$get(head)Samplerate: $get(info)$div(%__samplerate%,1000).$substr(%__samplerate%,3,3) KHz $char(10))
$if(%__replaygain_album_gain%,$get(head)Replay Gain: $get(info)A,$if(%__replaygain_track_gain%,$get(head)Replay Gain: $get(info)T,$get(head)Replay Gain: $rgb(255,0,0)X))$char(10)
$transition($repeat($get(sepchar),$get(seplen)),$get(text1),$get(fadeend))$char(10)
$if(%path%,$get(head)Path: $get(info)%path%$char(10),)
$if(%_filesize%,$get(head)Filesize: $get(info)
$div(%_filesize%,1048576).$left($num($muldiv($mod(%_filesize%,1048576),100,1048576),2),2) $get(anno)'MB'$char(10),)
$if(%last_played%,
// PLAY STATS SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)P l a y I n f o $get(text1)']'
$char(10),)
$if(%play_count%,$get(head)Played: $get(info)%play_count% times$char(10),)
$if(%last_played%,$get(head)Last played on: $get(info)$get(time_of_year) at $get(time_of_day)$char(10),)
$get(head)$progress(%_time_elapsed_seconds%,%_time_total_seconds%,52,$get(info)'()',$get(head)'-')
$get(info)$muldiv(%_time_elapsed_seconds%,100,%_length_seconds%)'%'$char(10)
$if(%mood%,,
// MOOD BUTTONS
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)S e t M o o d $get(text1)']'
$char(10)
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,0-0-0)Properties','$font(tahoma,8,underline,0-0-0)Properties', properties,))
[!--sizeo:1--][span style=\"font-size:8pt;line-height:100%\"][!--/sizeo--]Edit: Changed CODE to CODEBOX.[/size]
I tried creating a single button and still get the same error. Here's the entire code (very long sorry). It's based on Habla's settings.
Weird, I'm still not getting that error. Make sure you're using the latest version of the component -- 0.7 beta [Oct 24 2006 - 18:45:32]
There's a more recent one.
Track info panel mod 0.7.1 beta [Oct 24 2006 - 22:48:54]
hi. I wanted to ask if there is a way to lock the panel mode.. I mean, keep it always in "now playing mode", not allowing it to change when you double click on it
I ask this cause I have made some playback buttons. The pause button switches to play when it is paused, and viceversa. So I've had to use something like: $if(%isplaying%, , ) but when I double click to turn volume up with another button I have on the panel, the mode switches, and the play/pause button does not display as it should. I hope I made myself clear.
If it's not possible consider it as a feature request
thanks in advance
sune
Weird, I'm still not getting that error. Make sure you're using the latest version of the component -- 0.7 beta [Oct 24 2006 - 18:45:32]
I did have an older version. After updating, I no longer get the error message but I dont' get a properties button either. All the code prior to the button works and if I create a new panel and just add
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,0-0-0)Properties','$font(tahoma,8,underline,0-0-0)Properties', properties,))
I still get nothing.
Also, adding $padding(4,0) still blanks the entire panel.
I don't know what to say because I copied and pasted that exact piece of code into a fresh panel and it works for me. All I can think of is you possibly made your background colour black so you cannot see the buttons black font?
Is it possible to implement base64 decoding in some way? That way there's no need to meddle around with image files. Instead you just use base64 hash. That way it would be easier for people to post scripts without the need to provide the image files.
I don't know what to say because I copied and pasted that exact piece of code into a fresh panel and it works for me. All I can think of is you possibly made your background colour black so you cannot see the buttons black font?
Well I thought that too since I am using a black background for the full code but I don't see anything with just the button code on a white background either. This is quite frustrating. Do you have a simple config you can post that I could test? It seems pointless sense this one line of could works for you but...
As a test, I uninstalled F2K.8 from the only machine I had not upgraded and did a clean F2K.9 install, only adding Columns UI 0.1.3 beta 1v6 and Track Info Panel Mod 0.7.1 beta. I still don't have a button with
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
and with
$padding(4,0)
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
I get an [UNKNOWN FUNCTION] message again.
As a test, I uninstalled F2K.8 from the only machine I had not upgraded and did a clean F2K.9 install, only adding Columns UI 0.1.3 beta 1v6 and Track Info Panel Mod 0.7.1 beta. I still don't have a button with
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
and with
$padding(4,0)
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
I get an [UNKNOWN FUNCTION] message again.
Do you have
Requires:
MS Visual C++ 2005 Runtime Library
GDI+ - only needed for Windows 2000
Links to above in the first post.
Would it be possible to add a boolean value to $imageabs2() to reflect if an image exists? The current function appears to return a boolean of TRUE no matter what I throw at it. This would be useful so that we could do things like:
$if2($imageabs2(code for cover image),$imageabs2(code for no-cover image))
instead of the current layering approach which has some limitations and wastes resources.
yes I second that, I also want wild card value possible ie so I could do Folder.* and have it display any gfx type..
$padding(4,0)
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
I get an [UNKNOWN FUNCTION] message again.
You have one too many ")" at the end.
Do you have
Requires:
MS Visual C++ 2005 Runtime Library
GDI+ - only needed for Windows 2000
Links to above in the first post.
Yes. Otherwise it wouldn't work at all.
$padding(4,0)
$button2(0,0,0,0,$calcwidth(Properties),13,'$font(tahoma,8,,255-0-0)Properties','$font(tahoma,8,underline,255-0-0)Properties', properties,))
I get an [UNKNOWN FUNCTION] message again.
You have one too many ")" at the end.
Good catch but still doesn't work.
I just tried the pause button example in the wiki and it displays but nothing happens when I click it. Just substituting properties for pause seems to break something.
Also, still can't get padding to work at all. After removing the extra closing parens, I at least don't get an error and the screen doesnt' go blank but nothing happens either. Could someone document this command in the wiki please? The only reference to it is under drawing a rectangle.
So I played a bit more and noticed a few oddities.
$button2(0,0,0,0,$calcwidth("Properties"),$calcheight("Properties"),'$font(tahoma,8,,0-0-0)Properties','$font(tahoma,8,underline,0-0-0)Properties', properties,)
&
$button2(0,0,0,0,$calcwidth("Properties"),$calcheight(Properties),'$font(tahoma,8,,0-0-0)Properties','$font(tahoma,8,underline,0-0-0)Properties', properties,)
Will display correctly but the button doesn't work.
While
$button2(0,0,0,0,$calcwidth(Properties),$calcheight(Properties),'$font(tahoma,8,,0-0-0)Properties','$font(tahoma,8,underline,0-0-0)Properties', properties,)
&
$button2(0,0,0,0,$calcwidth("Properties"),$calcheight("Properties"),'$font(tahoma,10,,0-0-0)Properties','$font(tahoma,10,underline,0-0-0)Properties', properties,)
Will not display at all.
The slightest change in values seems to break buttons.
hi. I wanted to ask if there is a way to lock the panel mode.. I mean, keep it always in "now playing mode", not allowing it to change when you double click on it
I ask this cause I have made some playback buttons. The pause button switches to play when it is paused, and viceversa. So I've had to use something like: $if(%isplaying%, , ) but when I double click to turn volume up with another button I have on the panel, the mode switches, and the play/pause button does not display as it should. I hope I made myself clear.
If it's not possible consider it as a feature request
thanks in advance
sune
yeah, I don't like the double-click to change mode either... I will change it to a context menu option in the next version.
Would it be possible to add a boolean value to $imageabs2() to reflect if an image exists? The current function appears to return a boolean of TRUE no matter what I throw at it. This would be useful so that we could do things like:
$if2($imageabs2(code for cover image),$imageabs2(code for no-cover image))
instead of the current layering approach which has some limitations and wastes resources.
I'll add a $fileexists or something similar (as well as wildcard support).
So I played a bit more and noticed a few oddities.
I'm guessing the font you have chosen in the "Font" section isn't tahoma 8.
Try this:
$calcwidth(Properties)|
$font(tahoma,8,,0-0-0)$calcwidth(Properties)
which should illustrate the problem.
also the command should match exactly with the menu item, so remove the space before properties.
this should work
$button2(0,0,0,0,$calcwidth($font(tahoma,10,,0-0-0)Properties),$calcheight($font(tahoma,10,,0-0-0)Properties),'$font(tahoma,10,,0-0-0)Properties','$font(tahoma,10,underline,0-0-0)Properties',Properties,)
or
$font(tahoma,10,,0-0-0)
$button2(0,0,0,0,$calcwidth(Properties),$calcheight(Properties),'$font(tahoma,10,,0-0-0)Properties','$font(tahoma,10,underline,0-0-0)Properties',Properties,)
I'm guessing the font you have chosen in the "Font" section isn't tahoma 8.
Yes. I see the problem.
also the command should match exactly with the menu item, so remove the space before properties.
Looks like the problem was in the example on the wiki but Metal termite has corrected it already (Thanks!).
I'm still not sure how to use $padding(x,x) though. I tried adding it to the first example you gave and it works fine but it still doesn't work with the properties example.
Is a clickable progress bar possible? I'd love this
a clickable progress bar wouldnt be too hard using buttons but the actual event of skipping to position x is the hangup. do you know of any way to tell foobar to jump to a given time index?
no. this would be nice special feature of track info panel mod to have.
A nice feature would be the ability to use Ctrl - A to select all the code in the formatting strong part of the config window
I am also having some problems with the WMP11 layout. Buttons just don't work at all. I cleared the very bottom trackinfo_mod panel and just used some basic button code and it still not liking me.
$button2(489,11,0,0,48,48,$imageabs(489,11,images\play.png,),$imageabs(489,11,images\play_h.png,),Playpause,)
The image appears but it is the hover image not the normal one and the button is unclickable.
foo_run is setup correctly to work with Playpause. I also tried it with Play or Pause. No luck though.
WMP11 thread is here (http://www.hydrogenaudio.org/forums/index.php?showtopic=49401&st=0&gopid=445230&#entry445230) for details on the code and layouts
hi. I wanted to ask if there is a way to lock the panel mode.. I mean, keep it always in "now playing mode", not allowing it to change when you double click on it
"........"
sune
yeah, I don't like the double-click to change mode either... I will change it to a context menu option in the next version.
Hi
I agree that the double-click system is annoying now that we have the possibility to insert buttons and an option to choose the mode we want would be better.
But also i find it a bit frustrating to have to choose between a panel that will only display 'now playing' infos or only 'follow cursor' infos. Of course we can set up 1 panel for each mode. But wouldn't it be better if we could display both at the same time in just one panel ? With 2 functions maybe ?
An exemple would maybe explain better what i would like:
$nowplaying(...Some code that would take its infos from the now playing file...)
$followcursor(...Some code that would take its infos from the file selected by the cursor...)
Thanks
hello
i love the plugin!!!!
in fact i have two panels displayed as described by the above poster.
my question though is this:
on my "follow cursor" panel i can't seem to make it completely blank out.
even when i clear the playlist the panel will not empty.
the info for the last track i had selected is still displayed in the panel.
am i doing something wrong or is this normal ?
and is there a way to make it be blank when there is nothing in my playlist ?
i hope i am making sense
-pete
Is there a way to have buttons set up to open up say the lyrics panel. Either as a new panel say using the floating panel plug in (dockable or whatever it is) or better yet as a new splitter.
I already have a splitter on auto hide containing the lyrics panel, but would prefer it if i could have a button for the playlist and one for the lyrics and click to alternate between.
What im trying to say is replace foo_uie_tabs with buttons is it possible?
Is there a way to have buttons set up to open up say the lyrics panel. Either as a new panel say using the floating panel plug in (dockable or whatever it is) or better yet as a new splitter.
I already have a splitter on auto hide containing the lyrics panel, but would prefer it if i could have a button for the playlist and one for the lyrics and click to alternate between.
What im trying to say is replace foo_uie_tabs with buttons is it possible?
There is a modification of foo_uie_tabs in which you can access it's commands via context menu=via buttons too.
Is there a way to have buttons set up to open up say the lyrics panel. Either as a new panel say using the floating panel plug in (dockable or whatever it is) or better yet as a new splitter.
I already have a splitter on auto hide containing the lyrics panel, but would prefer it if i could have a button for the playlist and one for the lyrics and click to alternate between.
What im trying to say is replace foo_uie_tabs with buttons is it possible?
There is a modification of foo_uie_tabs in which you can access it's commands via context menu=via buttons too.
Do you have any links on how to do it or where i can download the mod? would i need to use foo_run?
Download (http://tmp.reharmonize.net/foobar/foo_uie_tabs_0.2.5.zip)
It acts exactly like the the usual foo_uie_tabs,but adds a few commands that you can assign to buttons.
Download (http://tmp.reharmonize.net/foobar/foo_uie_tabs_0.2.5.zip)
It acts exactly like the the usual foo_uie_tabs,but adds a few commands that you can assign to buttons.
thanks i found it but this is a newer version so cheers
thanks i found it but this is a newer version so cheers
The one that russell777 mentioned actually is the newest version. Version 0.2.5 is a modified version, which was spawned from version 2.07
Is there a way to have buttons align with the preceeding text? I need something like:
Line 1
Line 2
Line 3
Button
But I can't specify a height because in some cases Line 2 may not be displayed. I've tried using $button2(,,,,,,x,x,x,x) but the button is still positioned as if the values were 0.
Also, if I change underline in the following to bold, the screen is blank. Any ideas?
$button2(0,0,0,0,30,13,'$font(tahoma,8,,0-0-0)pause','$font(tahoma,8,underline,0-0-0)pause',pause,)
i want to display my album art to a max of 300by300 centrally is there a code i can use? so it remains centered even if the window resizes?
also is there a way so the images resizes due to the visible space (again if the window resizes?)
I'm having trouble with playback commands within $button. None of them seem to work including: play, pause, playpause, previous, prev, next, stop, playback/play, playback/prev, playback/previous, etc, etc, etc.
I've tried the wiki that includes all foobar commands, but they just aren't working.
I'm having trouble with playback commands within $button. None of them seem to work including: play, pause, playpause, previous, prev, next, stop, playback/play, playback/prev, playback/previous, etc, etc, etc.
I've tried the wiki that includes all foobar commands, but they just aren't working.
Make sure there is no space between the previous comma and the command and the command is exactly as it appears in the wiki. There was a space in the example on the wiki that was causing it not to work for me.
Hi, terrestrial and gang.
I've been using foobar for about a week and this plug-in for about as long. (version: 0.7.1 beta [Oct 24 2006 - 22:48:54])
I'm using the following code to display album art:
$imageabs2(125,125,,,,,2,2,$replace(%path%,%filename_ext%,)folder.jpg,)
and this works great for everything except whenever I'm playing/viewing a song from the directory ...My Music\Albums\Big Star\#1 Record
Since the image file is viewable with the same code if I move it to another directory, and the
$replace(%path%,%filename_ext%,) prints in trackinfo_mod by itself as one would expect, I'm guessing the bug is with your plug-in, and has something to do with the path to the file containing a #.
Thank you.
I'm trying to make a button for playing an audio cd, like this:
$button(21,0,0,0,18,17,images\icons\opencd.png,,play audio cd...,) and it does not work
I've also tried: $button(21,0,0,0,18,17,images\icons\opencd.png,,play audio cd,) but still, nothing
The "play audio cd..." command belongs to the Main Menu Items.
Anybody else has made that button? is it not possible?
EDIT: nvm, the right command is "Open Audio CD". It's wrong in the commandline guide in the wiki
Does anyone know if there would be a way to know the state of a tabbed panel, i mean which view it is on, inside the code of a track info mod panel?
Edit: It appears that images loaded in track info mod are locked so we cant modify album arts for example. Would there be a way for those images not to be locked?
Also i really hope fileexists will be implemented in track info mod too
Cant wait for that and the full path commands
Thanks a lot for your work terrestrial!
If you guys find a mistake in the Wiki, don't be shy, fix it!
Does anyone know if there would be a way to know the state of a tabbed panel, i mean which view it is on, inside the code of a track info mod panel?
It's not possible to my knowledge. There's no way to detect what state a tabbed panel is in.
If you guys find a mistake in the Wiki, don't be shy, fix it!
Does anyone know if there would be a way to know the state of a tabbed panel, i mean which view it is on, inside the code of a track info mod panel?
It's not possible to my knowledge. There's no way to detect what state a tabbed panel is in.
That s what i thought
Could I make a button to load a specific playlist?
Closest command I can find is: Playlist/Load playlist...
Is there a way to specify one? I'm kind of assuming thats why it's ...
Currently when you resize the panel, images are not updated. Consequently if the size of an imageabs2 depends on the width or height, the image does not resize itself when you resize the panel.
Could it be possible terrestrial to add that feature?
Currently when you resize the panel, images are not updated. Consequently if the size of an imageabs2 depends on the width or height, the image does not resize itself when you resize the panel.
Could it be possible terrestrial to add that feature?
I was going to ask the same thing. Also, are you planning to implement the new features in single_column into this (NOKEEPASPECT,filecheck,image wildcards)?
When I upgraded to the Oct. 24 version of trackinfomod my buttons linked to foo_run services and tabs stopped working. I downgraded to my previous version and they started working again. I re-upgraded to Oct.24 and they stopped. However, my buttons linked to main menu playback commands such as previous, next, play/pause, and volume functions all function properly in both versions. Is anyone experiencing this problem? I'll have to wait until this weekend to give it a proper debugging.
my tabs are still working in the current version
Well I solved my problem, there appears to have been a change in the button command:
$button(x,y,a,b,w,h,image,hover,option)
Before I had left a and b blank, this used to work fine but the newer version appears to be a bit more sensitive. I replaced the empty parameters with 0's and now all is well.
is there a way to display the total number of tracks selected in this panel somehow ?
i see a way to display selected time...and a way to show the number of tracks in a playlist.
but is there a way to display how many tracks i have selected ?
thanks!
quick requests, could you make it so setting tags/running scripts targets all of the tracks selected, right now it is only doing one. Also the same imageabs2 options you added to single columns playlists would be awesome(nokeepaspect/image aligning)
thanks for the great work on these components
i hope $fileexists is being added to this plugin too
Feature Request
Allow buttons, rectangles and images to flow with text instead of specifying a position. Thanks!
Feature Request
Allow buttons, rectangles and images to flow with text instead of specifying a position. Thanks!
use $calcwidth to find the length of text and size them that way
is it possible for a button to switch to a different foobar layout?
and going even further specifying which tabbed panel?
Using last build of TrackInfo.. I don't have ability to bring my foobar window on top when clicking on trackinfo area.. Could it be fixed? Older builds don't have such problem..
is it possible for a button to switch to a different foobar layout?
and going even further specifying which tabbed panel?
You should be able to just use the panel/layout name as the button command.. I think
is it possible for a button to switch to a different foobar layout?
and going even further specifying which tabbed panel?
You should be able to just use the panel/layout name as the button command.. I think
yep, thats what i do
Feature Request
Allow buttons, rectangles and images to flow with text instead of specifying a position. Thanks!
use $calcwidth to find the length of text and size them that way
That really only would apply to horizontal placement on a line of text. What I really want is vertical positioning after several rows of text. I can't specify height because I'm hiding empty lines with $if statements.
I dont have much knowledge with that sintax, but I was trying to create a info pannel.
My fb2k uses a sidebar to display the coverart pannel, the specrum analyse pannel and the trackinfomod pannel with tha code:
$drawrect(0,0,0,20,brushcolor-190-190-190 width-1)
$drawrect(0,19,0,189,brushcolor-51-103-189 width-1)
$drawrect(10,30,120,170,brushcolor-43-86-159 pencolor-null)
$alignabs(0,1,140,210,center,top)$font(aerial,9,glow-157-0-79 glowblur-5,255-255-255)%_trackinfo_mode%$char(10)$if(%_trackinfo_notrack%,$align(center,middle)$font(Lucida Sans Unicode,15,glow-255-255-255 glowexpand-2 glowblur-5,0-0-160)No track playing,
$align(CENTER,MIDDLE)$font(Microstyle Extended,10,bold glow-255-255-255 glowexpand-2 glowblur-5,0-0-160)%artist%$char(10)$char(10)
$font(Microstyle Extended,10, bold glow-255-255-255 glowexpand-2 glowblur-5,0-0-160)%title%$char(10)$char(10)
$font(Microstyle Extended,10,bold glow-255-255-255 glowexpand-2 glowblur-5,0-0-160)%album%
$alignabs(-22,85,150,210,right,middle)
$font(Visitor TT2 -BRK-,10,glow-255-255-255 glow- glowexpand-0,0-0-0)%samplerate%Hz %__bitrate%kbps %__codec%$char(10)
%channels% [%playback_time% / ]%length%)
I want to optimize it, with the ability to cut off or minimize the font size for too long %titles% and %albums% and add a background. But I dont know how to do it. if anyone could help me, I'll be grateful.
Feature Request
Allow buttons, rectangles and images to flow with text instead of specifying a position. Thanks!
use $calcwidth to find the length of text and size them that way
That really only would apply to horizontal placement on a line of text. What I really want is vertical positioning after several rows of text. I can't specify height because I'm hiding empty lines with $if statements.
Actually you can if you make a counter that increments itself every time an if-statement is true. Then multiply the counter by the amount of space you want between each button, then put that formula in the Y co-ordinate of each button function. There you have dynamic "line spacing" or whatever you want to call it. But I noticed, if you have a lot of them it makes foobar a bit sluggish on track changes. So I agree with you, it would good if there were buttons that positioned themselves relatively.
Feature Request
Allow buttons, rectangles and images to flow with text instead of specifying a position. Thanks!
Actually you can if you make a counter that increments itself every time an if-statement is true. Then multiply the counter by the amount of space you want between each button, then put that formula in the Y co-ordinate of each button function. There you have dynamic "line spacing" or whatever you want to call it. But I noticed, if you have a lot of them it makes foobar a bit sluggish on track changes. So I agree with you, it would good if there were buttons that positioned themselves relatively.
Yeah. The code I'm using now is already quite long and testing for each line would be fairly difficult to maintain with changes and I'd rather not it up any more processor time than necessary.
I have noticed what may be a bug. Leading spaces are not always respected.
Elsewhere on this forum I found a little dancing stick figure. The code for this consists of a select that picks a 3x3 grid of text.
Two choices are shown below.
... o>$char(10)<! $char(10) <>$char(10),
<o>$char(10) ! $char(10)< >$char(10),
...
I would show output versus expected output, but I cannot see how to do so using this forum software (as all leading spaces are ignored in both the code and font environments).
When the first character of the output is a space this is displayed correctly (as in the first choice). However, when the second or third line starts with a space the output line starts with the first non space character. Placing each line of output in single quotes does not fix the problem. Placing a non space character first on each line results in correct output. I am using a fixed width font.
hello,
can you make the $button() detect when its option is active or not? I dream the day I will be able to see when the "stop after current" is on or off...
maybe keeping the button in hover state?
ty in anyway
apoglogies in advance if this has been discussed before, but i didnt really know what to search for in this case.
has anyone else encountered the bug where your buttons are not getting displayed after you opened a file without foobar running already?
i.e. whenever i start up foobar via opening a file my buttons will not be shown in the panel. however they will still work. only the images cannot be seen.
i hope someone can help me with this
brdgs
hello,
can you make the $button() detect when its option is active or not? I dream the day I will be able to see when the "stop after current" is on or off...
maybe keeping the button in hover state?
ty in anyway
Look for cwb_hooks, it allows you to get some items (like stop after current) into titleformatting variables. You could then put your $button in an $if and have one for when its on and one when its off.
Hey guys, I'm crazy with this. Is it possible to stretch or repeat an image from one position to another, to make the panel (or whole fb2k) stretchable itself.
I mean, if I have an image with stuff on it on both sides and I want to fill the space in between with an 1px width image from position A (eg. right end of the left image) to position B (left end of the right image)... how do I do that (if it's possible ")
understand what I mean? fine!
thx for help, callisto
Well, You could make a really long image, position it absolutely and have whatever is on the left cover it up.
Don't you think, that I thought about this possibility? That's not what I want, because of transparency...
Sorry about trying to help.
Don't worry, I won't make the same mistake twice.
I am not very familiar with the track info (mod) plugin so i am not sure if the following strange behavior is a bug:
When i use %cwb_activelist% or %cwb_activelist_count% in track info mod with enabled notification optin in cwb_hooks this happens: every click with the mouse inside the track info on empty area turns the correct display to the display of "?" and the next click back to correct display and so on...
Sorry about trying to help.
Don't worry, I won't make the same mistake twice.
sry, I didn't meant it the way it seemed to be... thx for your try, I'm just really curious 'bout the thing
I am not very familiar with the track info (mod) plugin so i am not sure if the following strange behavior is a bug:
When i use %cwb_activelist% or %cwb_activelist_count% in track info mod with enabled notification optin in cwb_hooks this happens: every click with the mouse inside the track info on empty area turns the correct display to the display of "?" and the next click back to correct display and so on...
Probably not a bug. It sounds like you're switching between Now Playing and Follow Cursor modes. I'm guessing that those fields won't display properly in Follow Cursor but I'm not sure what the do since I'm not using that component. You could enclose them with brackets so nothing is displayed.
Probably not a bug. It sounds like you're switching between Now Playing and Follow Cursor modes. I'm guessing that those fields won't display properly in Follow Cursor but I'm not sure what the do since I'm not using that component. You could enclose them with brackets so nothing is displayed.
The strange thing is that %cwb_playinglist% or %cwb_playinglist_count% is displayed always correctly.
my image buttons aren't drawing on foobar start... does anyone know how I fix that?
EDIT: it fixed itself and I don't know how :S
is it possible for a button to switch to a different foobar layout?
and going even further specifying which tabbed panel?
You should be able to just use the panel/layout name as the button command.. I think
yep, thats what i do
couple of things:
i know how to have a button to a different layout, but is there a way to have it load a specific playlist?
as i have a media library layout and it requires the browser playlist
Also can buttons specify which tab they load from a different layout ^ thats what i mean? ie change to a different layout and switch to a specified tab?
So far, I've been using a Samurize screensaver to show the playing song info in very big letters.
(http://img355.imageshack.us/img355/9092/sanscrsv8hh.th.png) (http://img355.imageshack.us/my.php?image=sanscrsv8hh.png)
Now I'm thinking to use a trackinfo panel to do the screensaver job.
Do you think I can build something similar?
Where should I look to find the information to build it?
The key points, for me, are:
1) to hide everything on the screen and just see the info on a black background
2) to show a small picture when an $if statement returns "true" or has a certain value from 1 to 10
3) to scroll vertically inside a section of the screen if a tag content is long (see the performers area)
Thanks.
Does anybody know how to make some text scroll vertically if it is too long to fit in an area, please?
I need to show info with very big letters.
I had a look at the thread but couldn't find anything.
Thanks.
What do you mean by vertically?Like to break the text into letters and to scroll it from top to bottom?
So far, I've been using a Samurize screensaver to show the playing song info in very big letters.
[a href="http://img355.imageshack.us/my.php?image=sanscrsv8hh.png" target="_blank"]
What do you mean by vertically?Like to break the text into letters and to scroll it from top to bottom?
Not into letters but into lines as wide as the middle box (minus some margins). As you can see in the screenshot, I have the performer field filled (sorry for the twistongue) with many names but I want to use fo it only the middle bordered space. With such a long text, you can't really think to use the horizontal scrolling so I have to go for the vertical one. (That one used for credits at the end of movies). Of course I would need a wrapping too with the ability to show a separator from the end line and the first one to give readers a key to know the starting point. Not sure about bouncing.
So, different problems are involved: calculate how many lines, the height of the text block, where to break the text as to not break a word, etc.
I'm going to study the wiki and examples and try to create the thing but any help or shortcut would be welcome.
Thanks.
So far, I've been using a Samurize screensaver to show the playing song info in very big letters.
[a href="http://img355.imageshack.us/my.php?image=sanscrsv8hh.png" target="_blank"]
Yes, I have already thought to use the dockable panel, in the end. But for now, at development time, I'd rather use a tab (or many) of the foo tab stack. After playing around a few minutes, it seems more stable and predictable, to me.
Of course, I will love the ability to hide everything but the black and the info...
Thanks.
Another thing I'm thinking on is if there will be a way to make the info block, once built, move like a screensaver does...
Let's go back studying and testing...
I think I found a bug. It has been mention a few times in the thread, but no one seams to know a way out.
My buttons won't show unless I start foobar "manually" (with shortcut or executable directly). If it starts from a executed media file or with the media key on my keyboard, no buttons show. The strange thing is as soon as I manage to apply changes in the configuration without even modifing the code (I simply press a key, erase it and press apply), buttons appear.
* I'm on Windows XP SP2 french,
* foobar2000 0.9.4.2 (it happens with 0.9.4.1 too) fresh installation (the only configuration that has been done was adding trackinfo_mod panel in the layout)
* Only stock components plus ColumnUI, trackinfo mod, single column - all latest version,
* MS Visual C++ 2005 Runtime Library.
Here is my (pretty basic) code:
$button(764,4,0,0,42,21,images\pref.png,images\pref_h.png,Preferences,)
Wow. That does seem to be a bug indeed. I started foobar via clicking an associated media file as you described and the same happened to me. None of the buttons in my track info mod configuration appear, except for the pause button (for whatever reason). Here's my code with the pause button. Maybe it will help shed some clues for the developer.
// VARIABLES //
$puts(dir,'images\buttons\ifoo\')
// PREVIOUS BUTTON //
$button(0,0,0,0,33,35,$get(dir)prev.png,$get(dir)prev2.png,Previous,)
// PLAY-PAUSE BUTTON //
$if($and(%isplaying%,$not(%ispaused%)),
// Show pause button...
$button(36,0,0,0,35,37,$get(dir)pause.png,$get(dir)pause2.png,Play or pause,),
// Show play button...
$button(36,0,0,0,35,37,$get(dir)play.png,$get(dir)play2.png,Play or pause,))
// NEXT BUTTON //
$button(76,0,0,0,33,35,$get(dir)next.png,$get(dir)next2.png,Next,)
Good thing to know that I'm not the only one experiencing this... although I'm a little surprised to be the first one to notice/report it.
I have noticed what may be a bug. Leading spaces are not always respected.
use a non-breaking space if you want leading spaces.
I think I found a bug. It has been mention a few times in the thread, but no one seams to know a way out.
My buttons won't show unless I start foobar "manually" (with shortcut or executable directly). If it starts from a executed media file or with the media key on my keyboard, no buttons show. The strange thing is as soon as I manage to apply changes in the configuration without even modifing the code (I simply press a key, erase it and press apply), buttons appear.
* I'm on Windows XP SP2 french,
* foobar2000 0.9.4.2 (it happens with 0.9.4.1 too) fresh installation (the only configuration that has been done was adding trackinfo_mod panel in the layout)
* Only stock components plus ColumnUI, trackinfo mod, single column - all latest version,
* MS Visual C++ 2005 Runtime Library.
Here is my (pretty basic) code:
$button(764,4,0,0,42,21,images\pref.png,images\pref_h.png,Preferences,)
try using an absolute path.
Great it works, thanks.
terrestrial, are you going to add the nokeepaspect option to image functions in this, like in the single column playlist?
try using an absolute path.
First of all, thank you for the wonderful plugin.
Second, IMHO, using absolute path is not a good solution. It may be even unacceptable for some people. I've also noticed this bug some time ago using Foobar at home. But the strange thing is that at work I'm not experiencing this behaviour. Both Foobars are in the same directory using the same settings without user's profile thing (e.g. all the files are in the same directory at c:\progs\foobar2000 ). It has to be something else. Some difference in parameters of Windows' file assosiation or maybe something else in registry (for example, I've installed new versions of Foobar in other directories for the purpose of upgrading, 'cause merely unpacking the installation .exe with 7z had not worked for me as expected. I've properly removed these temporary installations, but have not checked the registry). Maybe if I do have time, I'll check this thoroughly.
Also, could somebody give me a good tip, please, how to maintain my two configs of Foobar depending on the screen resolution (1280*1024 at home and 1600*1200 at work) with minimal user interference. Perhaps I must use a variable with resolution in the track info panel and base all the calculations of buttons places as offsets or something. Thanks
Is there a way to make part of the info update every second and other part (a rectangle) update every 20 secs?
I'm trying to reproduce the behaviour of a screensarver and I thought of using two vars (offsex,offsety) set by a rand() function every 20 seconds of playing time but I don't know how to keep the setting of the vars when the if criteria in sont matched:
$if($greater($mod(%playback_time_seconds%,20),18),$puts(offsetx,$mod($mul($rand(),1000),280)),$puts(offsetx,$get(offsetx)))
$if($greater($mod(%playback_time_seconds%,20),18),$puts(offsety,$mod($mul($rand(),1000),350)),$puts(offsetx,$get(offsety)))
$drawrect($add(0,$get(offsetx)),$add($get(offsety)),1000,160,pencolor-0-128-255 brushcolor-null width-1)
This doesn't seem to work. The rectangle moves to a new position once every 20 secs but the next second it goes back to 0,0 origin.
Any help, please?
Thanks.
terrestrial, you've done a great job! Thank you!
But, while configuring the panel, I'vegot stuck into something:
$imageabs2 doesn't seem to accept long paths for images. For example I have a picture with an 81 characters path (including spaces and filename) that doesn't apear on the panel but when I copy it in the root directory it's ok.
The problem is that I'm trying to put albumarts and the pictures are in albums' folders which, after sorting, went 4 levels below root directory.
Any idea what's the problem? I'm gonna have to rearange my library in order to work with foo_trackinfo_mod?
PS: I haven't tryied to find from which path lenght the problem occurs, but I think it's 64.
Edit: After a few minutes I've found the problem and it's not the lenght of the path but the ( and [ inside it. With the path put within apostrophes it works.
Sorry for posting.
nevermind
I have noticed what may be a bug. Leading spaces are not always respected.
use a non-breaking space if you want leading spaces.
Thanks, that works.
Can we draw rectangles with rounded corners?
and...
let me a little bumping about this:
Is there a way to update a couple of vars (offsetx and offsety) only once in a time (say 20 secs) and let them keep their last value till the next update?
I'm trying to reproduce the behaviour of a screensaver, mooving info randomly around every 20 secs.
Thanks.
terrestrial, are you going to add the nokeepaspect option to image functions in this, like in the single column playlist?
I too am waiting patiently for this
[a href="http://img133.imageshack.us/my.php?image=fb2kct1.jpg" target="_blank"]
Can somebody help me with coding Track Info ? How to get scrolling Artist and Title ? My current code is
$alignabs(15,15,%_width%,%_height%,center,top)
$font(calibri,24,glow-255-0-0 glowexpand-2 glowblur-4 blur-2,255-255-255)
$caps2([%artist% - ][%title%])$alignset()
And is any way to convert progressbar to seekbar ? (press on center of progressbar and song jumps to center)
$puts(directory,G:\Programos\foobar2000\)
$puts(progressblength,630)
//// Progress Bar
//////////////////////////////////////
$if(%isplaying%,
$puts(percent,$muldiv(%_time_elapsed_seconds%,$get(progressblength),%_time_total_seconds%))
$puts(progress,$muldiv($get(percent),1000,1000))
$if($greater($get(percent),0),
$drawrect(15,55,$get(progress),1,brushcolor-110-149-255 pencolor-null)
$drawrect(15,56,$get(progress),1,brushcolor-40-70-154 pencolor-null)
$drawrect(15,57,$get(progress),1,brushcolor-97-121-190 pencolor-null)))
$ifgreater($get(progress),14,$imageabs($get(progress),55,images/pb.png,),)
Sorry for bad English
Can we draw rectangles with rounded corners?
Can already be done using images. And if you use a 24-bit .png with transparency, the corners can even be anti-aliased.
and...
let me a little bumping about this:
Is there a way to update a couple of vars (offsetx and offsety) only once in a time (say 20 secs) and let them keep their last value till the next update?
I'm trying to reproduce the behaviour of a screensaver, mooving info randomly around every 20 secs.
Thanks.
Can already be done using $mod() and either %playback_time_seconds% or %cwb_systemdatetime%
checkout my config (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=49783&view=findpost&p=447726) for an example.
Is there a way to update a couple of vars (offsetx and offsety) only once in a time (say 20 secs) and let them keep their last value till the next update?
I'm trying to reproduce the behaviour of a screensaver, mooving info randomly around every 20 secs.
Thanks.
Can already be done using $mod() and either %playback_time_seconds% or %cwb_systemdatetime%
What he's looking for is a way to change a variable value every 20 seconds and keep this value between the intervals. Using $mod can trigger a fonction ($rand in this case) and put it in a variable for 1 second only. The other 19 seconds, either the variable will equal 0 or it will constantly call a new random number. AFAIK calling $rand fonction and keep it in memory for a certain amount of time is currently not possible.
Psudeo-random would be less than satisfactory I'm asumming?
If you worked with %playback_time_remaining seconds% psudeo-random would be even less noticable.
Is there a way to update a couple of vars (offsetx and offsety) only once in a time (say 20 secs) and let them keep their last value till the next update?
I'm trying to reproduce the behaviour of a screensaver, mooving info randomly around every 20 secs.
Thanks.
Can already be done using $mod() and either %playback_time_seconds% or %cwb_systemdatetime%
What he's looking for is a way to change a variable value every 20 seconds and keep this value between the intervals. Using $mod can trigger a fonction ($rand in this case) and put it in a variable for 1 second only. The other 19 seconds, either the variable will equal 0 or it will constantly call a new random number.
Yes.
Now, I will try to use some track characteristics (length, lenght+title length or any other combination of tag values) after the needed normalization, to create a "fake random" value and keep the info block in the same position for the whole song.
Maybe some statistics expert will come up saying it's not the best way to evenly distribute points on an xy plane but, on a screensaver point of view, I think it can be enough.
No?
updated. there are a couple more changes than noted in the changelog because I forgot what they were
+ mode changes through the context menu instead of double click
Brilliant! Thanks terrestrial
Thanks for the update,this component keeps getting better and better!I've noticed that ow it updates emidiatly
on event,and not once per second.For example volume changes show up right away.
Does this plugin support $meta(x,y)?
Thanks.
updated. there are a couple more changes than noted in the changelog because I forgot what they were
Still no way to have buttons that aren't absolutely aligned.
Is there a way to show a working clock even when nothing is playing?
If yes, linked to which variable?
I tried with %cwb_systemdatetime% but I see it only while playing.
Thanks.
updated. there are a couple more changes than noted in the changelog because I forgot what they were
CPU usage: previosly was 6-7 %, but now - 10-12%
This latest release causes my foobar to explode, consuming all the resources it can grab and making my system unresponsive for several minutes before I can finally kill the process and return to normality. This happens during the initial foobar loading so there is little I can do to narrow down the problem other than remove the component.
Request: Would you consider continuing to host the last known stable release of your component on your download page in addition to any recent releases so that those of us who forgot to backup their component or configuration can roll back when things like this happen?
This latest release causes my foobar to explode, consuming all the resources it can grab and making my system unresponsive for several minutes before I can finally kill the process and return to normality. This happens during the initial foobar loading so there is little I can do to narrow down the problem other than remove the component.
Request: Would you consider continuing to host the last known stable release of your component on your download page in addition to any recent releases so that those of us who forgot to backup their component or configuration can roll back when things like this happen?
must be a conflicting plugin?
To investigate if this is a matter of a conflicting plugin I have installed a separate copy of foobar using only:
foo_input_std.dll
foo_ui_columns.dll
foo_uie_trackinfo_mod.dll
I have used both foobar 0.9.4.1 and 0.9.4.2 beta 2
I have used both ColumnsUI v0.1.3 b1v6 and 0.1.3 b1v7
I continue to experience the problem of foobar consuming excessive resources and becoming non-responsive during load when using the latest version of trackinfomod. The problem goes away when trackinfomod is removed.
Does anyone have a mirror for the previous version of trackinfomod?
unfortunately I don't have older versions... but I should hopefully be able to fix the problem
maybe it has something to do with your code... please post it and I will take a look.
also does it happen with the default code, plus have you tried removing trackinfo mod completely to see if the problem persists?
After a long process of rebuilding my foobar piece by piece I tracked the problem down to a typo in the code. Sorry to bother you :)
Changelog:
+ mode changes through the context menu instead of double click
ooooh thanks a lot for this Terrestrial!! Now I can use the volume controls in my track info panel in a comfortable way.. cool
Still waiting for NOKEEPASPECT and file exist checking , these are the things I need to implement the new designs I am thinking of.
Still waiting for NOKEEPASPECT and file exist checking , these are the things I need to implement the new designs I am thinking of.
You can do file exists with foo_cwb_hooks now.
I still need inline instead of absolute positioned buttons.
Still waiting for NOKEEPASPECT and file exist checking , these are the things I need to implement the new designs I am thinking of.
its in there... most stuff automatically gets added to both components since they share a lot of the same source code.
Is there any way to calculate the size of a rezised image?
For example:
I have an image of size 180x350 (CD Single Cover).
I use this function to load the image:
$imageabs2(85,85,,,,,,,image.jpg,)
The resulting image is 43x85 (scaled as expected).
How do I calculate that the width will be 43 from an arbitrary image? Not all my images are this same aspect ratio.
Is there any way to calculate the size of a rezised image?
For example:
I have an image of size 180x350 (CD Single Cover).
I use this function to load the image:
$imageabs2(85,85,,,,,,,image.jpg,)
The resulting image is 43x85 (scaled as expected).
How do I calculate that the width will be 43 from an arbitrary image? Not all my images are this same aspect ratio.
That's the sort of thing I'd like to know.
Also, in your example, the 43x85 pic is displayed in the middle of a 85x85 box. It would be nice to choose whether the pic is displayed in the left/middle/right of the box, or top/centre/bottom.
Still waiting for NOKEEPASPECT and file exist checking , these are the things I need to implement the new designs I am thinking of.
its in there... most stuff automatically gets added to both components since they share a lot of the same source code.
Oh excellent
Is there anyway to force an image resize when the window is resized?
@terrestrial
Is there some sort of feature list that you're working on? Is my request even being considered? I ask because I've never seen any comment on it.
Is there any way to calculate the size of a rezised image?
not currently.
Also, in your example, the 43x85 pic is displayed in the middle of a 85x85 box. It would be nice to choose whether the pic is displayed in the left/middle/right of the box, or top/centre/bottom.
you can specify where teh image is aligned in the image options-- you might have to check the scpl changelog for the exact syntax.
Is there anyway to force an image resize when the window is resized?
nope. will do for the next version.
@terrestrial
Is there some sort of feature list that you're working on? Is my request even being considered? I ask because I've never seen any comment on it.
yes that feature will make it in, but it will have to wait for a rewrite of the drawing code- which I don't know when I'll get to
Also, in your example, the 43x85 pic is displayed in the middle of a 85x85 box. It would be nice to choose whether the pic is displayed in the left/middle/right of the box, or top/centre/bottom.
you can specify where teh image is aligned in the image options-- you might have to check the scpl changelog for the exact syntax.
Or you can go the wiki. I've made a couple of updates today, hopefully it is now up to date. And while you are there, you can also take a look for some informations that I would have missed.
@terrestrial
Is there some sort of feature list that you're working on? Is my request even being considered? I ask because I've never seen any comment on it.
yes that feature will make it in, but it will have to wait for a rewrite of the drawing code- which I don't know when I'll get to
Thanks for the update. I'll be patient now.
its in there... most stuff automatically gets added to both components since they share a lot of the same source code.
Does that mean buttons will be implemented into the single column playlist code?
As a side note, I'd just like to comment on terrestrial's awesome attitude towards bug reports and\or feature requests, as well as questions most developers find annoying (and i can understand those too, being one myself) like "when is the next version done".
It's nice to see such friendly and active developers in the community. Kudos
As a side note, I'd just like to comment on terrestrial's awesome attitude towards bug reports and\or feature requests, as well as questions most developers find annoying (and i can understand those too, being one myself) like "when is the next version done".
It's nice to see such friendly and active developers in the community. Kudos
Here! Here!
Can values be appended with buttons? I just realised that what I want to do with non-aligned buttons really requires that as well. I'd like to be able to click each button and add the value instead of replacing the existing value.
I've got a couple of small problems to which I haven't been able to find a solution yet. I hope this is the right place to ask for help, otherwise I apologize.
1. I've set the default font to Verdana 7pt, but whenever I try to use a larger amount of pt (like 20 pt on the second line below //Track in the codebox) that line get's drawn but the other lines don't See the screenshots.
(http://img205.imageshack.us/img205/6066/foobar2000lq5.th.jpg) (http://img205.imageshack.us/my.php?image=foobar2000lq5.jpg)
(How it's supposed to look like with small font)
//Track
$alignabs(665,87,50,12,,)$font(Verdana,,,)$transition(Track:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,87,280,12,center,middle)$font(Verdana,,,)$if(%title%,$transition(%title%,$rgb(25,100,255),$rgb(0,0,0)),$transition(Unknown titlet,$rgb(25,100,255),$rgb(0,0,0)))
(http://img215.imageshack.us/img215/1919/foobarred2000ym5.th.jpg) (http://img215.imageshack.us/my.php?image=foobarred2000ym5.jpg)
(What happens with 20pt)
//Track
$alignabs(665,87,50,12,,)$font(Verdana,,,)$transition(Track:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,87,280,50,center,middle)$font(Verdana,20,,)$if(%title%,$transition(%title%,$rgb(25,100,255),$rgb(0,0,0)),$transition(Unknown titlet,$rgb(25,100,255),$rgb(0,0,0)))
2. Whenever I enable "Update every second" using the code below, CPU usage goes up to 14% (P4 2.4GHZ). I don't use a lot of code, i suspect it has to do with my code for the $imageabs2 functions but i can't seem to solve the problem. Do variables on lines that have been commented out still get evaluated? Because commenting out the line with $puts and $alignabs doesn't seem to do much, makes up for a difference of 1 or 2%. With the "Update every second" CPU usages simply is 0%.
//Background
$imageabs2(1280,350,0,0,1280,350,0,0,images/background.png,)
$imageabs2(1280,350,0,0,1280,350,0,0,images/overlay.png,alpha-25)
//Albumart path
$puts(coverlocation,$replace(%path%,%filename%.mp3,)folder.jpg)
//Album art
$imageabs2(248,248,0,0,248,248,100,63,$if($fileexists($get(coverlocation)),$get(coverlocation),images/nocover.png),imageOptions)
//Trackinfo
//Track
$alignabs(665,87,50,12,,)$font(Verdana,,,)$transition(Track:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,87,280,12,center,middle)$font(Verdana,,,)$if(%title%,$transition(%title%,$rgb(25,100,255),$rgb(0,0,0)),$transition(Unknown title,$rgb(25,100,255),$rgb(0,0,0)))
//Artist
$alignabs(665,122,50,12,,)$font(Verdana,,,)$transition(Artist:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,122,280,12,center,middle)$font(Verdana,,,)$if(%artist%,$transition(%artist%,$rgb(25,100,255),$rgb(0,0,0)),$transition(Unknown artist,$rgb(25,100,255),$rgb(0,0,0)))
//Album
$alignabs(665,145,50,12,,)$font(Verdana,,,)$transition(Album:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,145,280,12,center,middle)$font(Verdana,,,)$if(%album%,$transition(%album%,$rgb(25,100,255),$rgb(0,0,0)),$transition(No album,$rgb(25,100,255),$rgb(0,0,0)))
//Album
$alignabs(665,168,50,12,,)$font(Verdana,,,)$transition(Album:,$rgb(25,100,255),$rgb(0,0,0))
$alignabs(700,168,280,12,center,middle)$font(Verdana,,,)$if(%album%,$transition(%album%,$rgb(25,100,255),$rgb(0,0,0)),$transition(No album,$rgb(25,100,255),$rgb(0,0,0)))
Here's some sample code for displaying album art inside a cd case when it exists, but otherwise displaying a nocover image:
// Album Art
$if($fileexists($replace(%path%,%filename_ext%,$if2(%cdid%,[%artist% - ]$replace(%album%,?,,:,)).*)),
$imageabs2(150,,,,,,10,10,images\emptycd.png,)
$imageabs2(103,103,,,,,36,13,$replace(%path%,%filename_ext%,$if2(%cdid%,[%artist% - ]$replace(%album%,?,,:,)).*),)
,
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
$imageabs2(150,150,,,,,8,2,images\online-radio.*,)
,
$imageabs2(150,150,,,,,8,2,images\no-cover.*,)
))
EDIT: Added image for online radio.
is there a way to have clickable (searchable) progress bars?
is there a way to have clickable (searchable) progress bars?
Same question here
There would be a way, if there was a command to seek to a certain point in a given song. As far as i know, foobar only has commands to seek relative to the current position -- for example, 'Playback/Seek ahead by 1 minute'.
What you would need to make a functioning searchable progress bar is a command to do that absolutely, like maybe a 'Seek to 50% of track length' kind of deal. And then you would need several of those (at the very minimum, i suppose, 0%, 25%, 50%, 75%, and 100%; but preferably even more than that) which you could assign to various buttons along the length of the progress bar.
The problem is, i don't think that such a command exists for foobar. It'd probably be trivial to write a component for it though, so if you can get someone to do that for you you'd be OK.
Yeah, I think that and the ability to control volume through Track Info Panel in the same way would be just perfect. I mean right now you can customize almost everything with columnUI, track info mod and single column... except for those two things (volume and seekbar) which look pretty ugly if you don't have a nice Visual Style.
edit : More generaly, it would be useful to have "clickable" buttons in Trackinfo, for exemple if you display stars to chow your rating, you could make each star a button which would allow you to quickly set your rating. Or is it already possible ?
edit : More generaly, it would be useful to have "clickable" buttons in Trackinfo, for exemple if you display stars to chow your rating, you could make each star a button which would allow you to quickly set your rating. Or is it already possible ?
Yes, it's already possible. Just set buttons to use the 'TAG' command. There are examples of this all over in the appearance thread.
Yeah, I think that and the ability to control volume through Track Info Panel in the same way would be just perfect. I mean right now you can customize almost everything with columnUI, track info mod and single column... except for those two things (volume and seekbar) which look pretty ugly if you don't have a nice Visual Style.
You actually already
can do volume through Track Info Panel. foobar includes volume commands (like 'Playback/Set volume to 0dB' and 'Playback/Volume up') out of the box, so it's only a matter of setting buttons to perform those actions. What foobar
doesn't include is a method of retrieving the current volume level (which is necessary if you want to make a bar that fills up as the volume increases); however, cwbowron's foo_cwb_hooks component offers variables for this.
If you dig through the recent threads and find the 'Home Stereo Display' one you'll see how this is accomplished.
thanx a lot lav-chan! I overlooked the whole button thing in the wiki, looks like this plugin is far more complete (and complexe ^^; ) than I first thought.
I'll check foo_cwb_hooks the "stereo display" strings and see if I can get it to work the way I want =)
There would be a way, if there was a command to seek to a certain point in a given song. As far as i know, foobar only has commands to seek relative to the current position -- for example, 'Playback/Seek ahead by 1 minute'.
I suppose you could have a dynamically sized button that followed the seekbar, if your click to one side it seeked back by 10sec/1minute, on the other side forward. It wouldn't be perfect but it would be usable.
To that progressbar thingy...
I personnally think, that it would be easier to make the original progressbar skinnable (eg: choosing pic for the progress bg-line + pic for the dot thing), than making the whole thing up in the trackinfo_mod.
but then it would be on the to-do-list of the fb2k developers and I dunno if they are willingly to do that and have enough time...
I would prefer a clickable/dragable progress/seek bar in trackinfomod as opposed to a separate toolbar component because then I can put it in the middle of a trackinfomod panel without adding the ugly splitter lines you get from columns ui. Also, I'd like to be able to do stuff like make vertical progress bars, circlular progress bars, progress bars that turn into other things on certain conditions... trackinfomod just opens up a whole level of flexibility you dont get with the traditional control.
I have already enjoyed migrating all my buttons to trackinfomod:
(http://img180.imageshack.us/img180/7916/fooyl8.th.png) (http://img180.imageshack.us/my.php?image=fooyl8.png)
In the above example I could have made the bottom section of my layout from several button toolbars on a horizontal splitter and a custom statusbar but instead I have used a single trackinfomod panel. This allows me to move my playback controls to virtually any position I desire including halfway on top of my status bar. This also allows me to position controls based off of %_width% and %_height% so that they reposition effortlessly when switching from windowed to fullscreen mode. This sort of flexibility just isnt there with the traditional controls. I also have an auto-hide trackinfo panel .. I would like to do things like change all my buttons to a seekbar when it unhides etc. I would like to replace the dropdown main menu controls on the top with trackinfomod code so that I can change the code based on playback conditions.
New version uploaded
It might break some some code as leading tabs / spaces are removed to allow for more legible code---------------------------------------------------------------------------
Or you can go the wiki. I've made a couple of updates today, hopefully it is now up to date. And while you are there, you can also take a look for some informations that I would have missed.
Thanks for keeping the wiki up to date
its in there... most stuff automatically gets added to both components since they share a lot of the same source code.
Does that mean buttons will be implemented into the single column playlist code?
most stuff, not all... I'm still thinking over whether to/the best way to add buttons to scpl.
As a side note, I'd just like to comment on terrestrial's awesome attitude towards bug reports and\or feature requests, as well as questions most developers find annoying (and i can understand those too, being one myself) like "when is the next version done".
It's nice to see such friendly and active developers in the community. Kudos
thanks bug reports and well thought out feature requests are always nice.
1. I've set the default font to Verdana 7pt, but whenever I try to use a larger amount of pt (like 20 pt on the second line below //Track in the codebox) that line get's drawn but the other lines don't See the screenshots.
your alignabs box isn't big enough to display the text.
2. Whenever I enable "Update every second" using the code below, CPU usage goes up to 14% (P4 2.4GHZ). I don't use a lot of code, i suspect it has to do with my code for the $imageabs2 functions but i can't seem to solve the problem. Do variables on lines that have been commented out still get evaluated? Because commenting out the line with $puts and $alignabs doesn't seem to do much, makes up for a difference of 1 or 2%. With the "Update every second" CPU usages simply is 0%.
try the new version and move your background images drawing to the "// Background" section.
Maybe i'm missing something,but it stopped updating every second with the new version:playback time is frozen
P.S. Thanx for the text editor!It rules!
put stuff that needs to update every second under "// PerSecond"
Sorry,i missed that part in the changelog.
One question can //Per second declaration be made number of times or is it defining one solid section of the code?
haven't tested it but you should be able to have multiple "// PerSecond" declarations. (note, it has to be exactly that, capitalization and all).
Any hope to have a: "//PerSempre" (Italian for "forever")?
I mean, having some system date and time keep showing and updating even if nothing is playing.
Thanks.
Any tips on how to make buttons work again?And also does //Per Second declaration affects all the lines that come after it until the next declaration,or is it only for the line under it?
Ok it goes as following:if you define the whole code as //Per Second,then everything works fine except for buttons,if you make no decaration,then the buttons work ok,but everything else is frozen.
Bottom line:? (what should i do?)
affects all the lines after.
buttons only work under "// PerTrack" (which is the default)
affects all the lines after.
buttons only work under "// PerTrack" (which is the default)
Yeah,figured that out already,another problem though:i have buttons that has no symbols displayed (empty fields),they placed on top of symbols that indicates their command output (for example on top of rating stars)
it worked fine in previous versions,but now when the button is hovered i get new background drawn on top of everything else.
(http://img67.imageshack.us/img67/4672/44ny0.png)
put the stuff over the button on // PerTrack also.
The stuff on top of the button is the overlay glass image,if i put it on //PerTrack mode,all other info is drawn over it and not beneath
+ different redraw times for different sections.
// Background
// Put background stuff here (eg images). Only drawn once.
// PerTrack
// Put stuff that changes per track here (%album%, %artist%, etc.) Buttons go here as well.
// PerSecond
// Stuff that needs to update every second (%playback_time%, etc)
So, for backwards compatibility we can just put a //PerSecond at the very beginning, and the other options are kinda just for resource management?
Another bug:when in //PerTrack mode some buttons response only once per track play.
I have a button that circles the playback modes,it only works once per track now.
The stuff on top of the button is the overlay glass image,if i put it on //PerTrack mode,all other info is drawn over it and not beneath
for best performance you could break up the overlay image (I'm assuming the stuff over/under the button isn't updating every second).
however, for the next version, I will add the ability to have buttons in the // PerSecond section.
So, for backwards compatibility we can just put a //PerSecond at the very beginning, and the other options are kinda just for resource management?
pretty much, except for buttons which have to go under // PerTrack.
Another bug:when in //PerTrack mode some buttons response only once per track play.
I have a button that circles the playback modes,it only works once per track now.
I can't reproduce this... can you post a code snipped which shows this behavior?
I can't reproduce this... can you post a code snipped which shows this behavior?
$button2(72,21,0,0,13,12,,,
$if($stricmp(%cwb_playback_order%,'Shuffle (tracks)'),'Shuffle (albums)',
$if($stricmp(%cwb_playback_order%,'Shuffle (albums)'),'Shuffle (directories)',
'Shuffle (tracks)')),)
$alignabs(90,21,%_width%,%_height%,,)%cwb_playback_order%
It's noted in the wiki that %cwb_playback_order% (and one other variable, i forget which) won't update until a track is played. You think that might have something to do with it?
I use $puts and $get to store my font styles and some other stuff. I need to use $puts in both // PerTrack and // PerSecond to usse the variable in both sections. Is this intended?
Thanks again Terrestrial for these wonderful components.
I have a couple feature requests for the foo_trackinfo_mod:
* Follow cursor mode when not playing. This is how the albumart component behaves, and I think it makes sense.
* Double-click function
* Not a feature request, but I notice that clicking on the panel doesn't give foobar focus from behind another window.
* Another non-request, but I get the same problem Russell does with buttons, where they put black rectangles over images.
I don't want to sound too critical but I do not like the idea of parsing comments as code. I don't like the idea of parsing rem statements in cue sheets for meta tags and I don't like using // comments in code to flag different sections. Comments should be just that, comments. Perhaps there is a better approach to implementing these features, maybe a separate code box for each one? Maybe separate tabbed pages for each type in the config? I am hesitant to upgrade this component until all the button functionality is sorted out.
I don't want to sound too critical but I do not like the idea of parsing comments as code. I don't like the idea of parsing rem statements in cue sheets for meta tags and I don't like using // comments in code to flag different sections. Comments should be just that, comments. Perhaps there is a better approach to implementing these features, maybe a separate code box for each one? Maybe separate tabbed pages for each type in the config? I am hesitant to upgrade this component until all the button functionality is sorted out.
Yeah, I partially agree with you. This commenting is kind of weird. I think the best solution would be to handle it like in SCP, a own box for every rendering type. Tabs would be nice, too.
It appears that if you don't have "Update every second" enabled on the old version, then upgrade, the update function is disabled in the new version : < (e.a // PerSecond %playback_time% shows up as ?)
Fix: Get the old plugin back and enable the option, then reinstall the new version.
Just so you know
CPU usage appears to be better now, thanks for the update terrestrial!
I think the best solution would be to handle it like in SCP, a own box for every rendering type. Tabs would be nice, too.
I like the tab idea. A forth tab/box for global values (e.g. $puts, $font, etc.) would be über.
Thanks so much terrestrial, with // Background & // PerSecond the panel has reached perfection for me (and my slow hardware). Now I can use my fullscreen trackinfo panel (http://galsch.de/files/open/screenshots/2006-12-02-fb2k-htpc-2.png) without having to wait 3 seconds after each tagging action.
ojdo
I can't reproduce this... can you post a code snipped which shows this behavior?
$button2(72,21,0,0,13,12,,,
$if($stricmp(%cwb_playback_order%,'Shuffle (tracks)'),'Shuffle (albums)',
$if($stricmp(%cwb_playback_order%,'Shuffle (albums)'),'Shuffle (directories)',
'Shuffle (tracks)')),)
$alignabs(90,21,%_width%,%_height%,,)%cwb_playback_order%
works fine for me... make sure you have notifications turned on in cwb_hooks.
I use $puts and $get to store my font styles and some other stuff. I need to use $puts in both // PerTrack and // PerSecond to usse the variable in both sections. Is this intended?
yes. the there sections run at different times, separately.
* Follow cursor mode when not playing. This is how the albumart component behaves, and I think it makes sense.
yep, seems logical.
* Double-click function
why would you need this (instead of using buttons)?
I don't want to sound too critical but I do not like the idea of parsing comments as code. I don't like the idea of parsing rem statements in cue sheets for meta tags and I don't like using // comments in code to flag different sections. Comments should be just that, comments. Perhaps there is a better approach to implementing these features, maybe a separate code box for each one? Maybe separate tabbed pages for each type in the config? I am hesitant to upgrade this component until all the button functionality is sorted out.
well, it can be any string to separate sections... the advantage of comments is that it maintains compatibility with older versions, and (more importantly) with scpl. Tabs would also be good, but would be a lot more work for me (especially when using an external editor).
It appears that if you don't have "Update every second" enabled on the old version, then upgrade, the update function is disabled in the new version : < (e.a // PerSecond %playback_time% shows up as ?)
Fix: Get the old plugin back and enable the option, then reinstall the new version.
nice debugging will fix for the next version.
Is it possible for variables created in one section, be available in another section. If not, would it be possible to allow this.
-anishbenji
To terrestrial!
Can you create //Global section.
Example: in Russell7777 code I must use
$puts(write_tags,1)
twice
in // PerSecond section and // PerTrack section too.
When I place string
$puts(write_tags,1)
as first string of script - it's value available only in // PerTrack section.
works fine for me... make sure you have notifications turned on in cwb_hooks.
With all the respect ,terrestrial,this means to kill my foobar and to make it slow and useless=
to discard all the advantages of resource managment you've put in the last version+more
Can you create //Global section.
I can make $get_global and $set_global persist across different sections.
With all the respect ,terrestrial,this means to kill my foobar and to make it slow and useless=
to discard all the advantages of resource managment you've put in the last version+more
have you tried it with the latest version? What kind of cpu usage are you seeing with notifications on and off?
2terrestrial:I take everything i said back,you was right and i was wrong,sorry and thank you
Can you create //Global section.
I can make $get_global and $set_global persist across different sections.
I think it would be convenient just to have all our globals out of the way, on a separate tab if possible. Otherwise they clog up whichever box they're in, and it would be easy to forget where you defined them, making changing them more difficult.
I have very complicated code in some cases. Can I have:
// PerTrack
command1
command2
// PerSecond
command3
// PerTrack
command4
?
Additionally, I don't like the comment style of your new commands. Comments are comments. Why not using a command style ($section(background) etc?)
The dll update fails!
Arrg! At startup fb2k first asked about changing settings, as the module has been removed?!
Then the problem "Failed to load DLL: foo_uie_trackinfo_mod.dll"
So you changed runtime dependencies?
fb2k 0.9.4.2 here on W2K. The vc++ redistributable is installed.
Now I can't even revert to an older version of your component: I always get the above error message. ???
EDIT: I got it working but I do not understand at all:
1) Another foobar instance worked.
2) In the broken foobar, I could even put back old trackinfomod dlls and a 3 days old foobar2000.cfg: "could not load dll".
3) I put the components from the other fb2k into the broken one. Now it worked. Then I put back all the components from the broken one except for the new trackinfo mod. Still works now.
To me it looks like your component has a dependency to another component. I have no idea.
I also can't work with button, no response at all
// PerSecond
$imageabs($sub($div(%_width%,2),454),5,neo1\back2.png,)
$if(%isplaying%,
$puts(volume,$add($mul($substr($num(%cwb_volume%,4),2,4),-1),100))
$alignabs(10,20,60,200,,)
$font(Calibri,7,glow-50-70-90,170-230-250)
Volume: $get(volume) '%'
$imageabs($sub(%_width%,58),12,'neo1\vol\'$div($add($get(volume),5),10)'.png',)
$alignabs($sub(%_width%,70),45,60,200,right,)
$get(spacer)%_time_elapsed%$if(%_time_total%,' / '%_time_total%,)
$if(%_time_remaining%,$get(spacer),)
$alignabs(10,45,200,200,,)
$if($strstr(%_path_raw%,'tone://'),$if(%_time_total%,%_length%' Seconds of '$replace(%title%,'Tone: ',)' Tone',%title%),)
$if($strstr(%_path_raw%,'silence://'),%_length%' Seconds of Silence',)
$if($strstr(%_path_raw%,'cdda://'),'CDDA',)
$if2(%mp3%,$if2(%__codec%,))
$if($strstr(%_path_raw%,'cdda://'),$get(spacer)'1411kbps',$if(%__bitrate%,$get(spacer)%__bitrate%' kbps ',))
$if(%__extrainfo%,$get(spacer)%__extrainfo% ,)
$if(%__samplerate%,$get(spacer)$cut(%__samplerate%,2)' kHz' ,)
$if(%__channels%,$get(spacer)$ifgreater(%__channels%,1,'Stereo','Mono'),)
,)
// PerTrack
$button($sub($div(%_width%,2),64),32,0,0,0,0,neo1\pause1b.png,neo1\pause2b.png,Pause,)
$button($sub($div(%_width%,2),40),31,0,0,0,0,neo1\prev1.png,neo1\prev2.png,Previous,)
$button($add($div(%_width%,2),17),31,0,0,0,0,neo1\next1.png,neo1\next2.png,Next,)
$button($add($div(%_width%,2),44),32,0,0,0,0,neo1\stop1.png,neo1\stop2.png,Stop,)
$button($sub($div(%_width%,2),15),26,0,0,0,0,neo1\play1.png,neo1\play2.png,Play,)
I have put // Per Track before $button definition
A feature request: I'd like to be able to flip vertically or horizontally the image I am showing. I'd like to use this for reflections.
To me it looks like your component has a dependency to another component. I have no idea.
nope... sounds like something got corrupted somewhere along the way.
------------------------------------
I've uploaded a new version with support for a "// Globals" section and ability to flip and rotate images.
Terrestrial: Did you just add that awesome function for rotation since my request? That's so incredibly awesome.
Hello, hope somebody can help me.
Just downloaded this plugin, but i can't figure out how to get it to work properly.
Everything seems fine, but the display is not getting updated.
i.e. I use %_time_elapsed%, but the trackinfo_mod only displays 0:00.
What am i doing wrong?
http://wiki.hydrogenaudio.org/index.php?ti...%29#Redraw_type (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#Redraw_type)
So how can I set spaces at the beginning of a code line now? ' ' doesn't work as well as $char(32).
How do I put a fixed png overlay over the top of something that updates every second?
update that .png every second.
i have foo_uie_tabs is there a way to have a button which is not directly linked to one tab but works by:
if displaying tab 1 on click go to tab 2 & if displaying tab 2 on click go to tab 1?
i have foo_uie_tabs is there a way to have a button which is not directly linked to one tab but works by:
if displaying tab 1 on click go to tab 2 & if displaying tab 2 on click go to tab 1?
I wanted this too, and there is a main menu command for it (Panel #0 Cycle Forward, 0 may be different), but it doesn't seem to work with trackinfo_mod..?
probably because of the '#'
Trackinfo mod has weird issues with #
So how can I set spaces at the beginning of a code line now? ' ' doesn't work as well as $char(32).
Maybe restructure your code to look more like:
Blah
$char(10) Blah
Instead of:
Blah$char(10)
Blah
Small feature request: Could you perhaps make a checkbox or something to use system default background color (depending on msstyle) instead of custom. That would be awesome.
I also can't work with button, no response at all
// PerTrack
$button($sub($div(%_width%,2),64),32,0,0,0,0,neo1\pause1b.png,neo1\pause2b.png,Pause,)
$button($sub($div(%_width%,2),40),31,0,0,0,0,neo1\prev1.png,neo1\prev2.png,Previous,)
$button($add($div(%_width%,2),17),31,0,0,0,0,neo1\next1.png,neo1\next2.png,Next,)
$button($add($div(%_width%,2),44),32,0,0,0,0,neo1\stop1.png,neo1\stop2.png,Stop,)
$button($sub($div(%_width%,2),15),26,0,0,0,0,neo1\play1.png,neo1\play2.png,Play,)
I have put // Per Track before $button definition
The last two numeric arguments in the $button function are the width and height of the button, so your buttons have zero width and height.
You should look at the following page before asking questions in this thread:
http://wiki.hydrogenaudio.org/index.php?ti...rackinfo_mod%29 (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29)
Perhaps a little off topic, but a few pages back, I saw the function $sorted(field) used in an $if statement. I tried it in my modified info pannel, but it said [UNKNOWN FUNCTION], so I assume that it is a part of some plugin that I don't have. Does anybody know how to get it, what plugin it might be part of?
Answered my own question; $sorted(field) is supposed to display '[UNKNOWN FUNCTION]' when the playlist is not sorted by using the SORT:etc method; I was sorting by the Columns UI column titles.
Minor feature request: auto reseting sorting context menu; from what I can tell, reseting only resets the context menu and the values of $sorted(field), and it's inconvenient to have to check too see if the field that I want to sort by now has already been used.
Terrestrial: Did you just add that awesome function for rotation since my request? That's so incredibly awesome.
you caught me at a good time and it only took about three lines to add
So how can I set spaces at the beginning of a code line now? ' ' doesn't work as well as $char(32).
test
' 'test
test
probably because of the '#'
Trackinfo mod has weird issues with #
yep. anything with # won't work in buttons.
Small feature request: Could you perhaps make a checkbox or something to use system default background color (depending on msstyle) instead of custom. That would be awesome.
$drawrect(0,0,%_width%,%_height%,pencolor-null brushcolor-SYSCOL-15)
I think 15 is correct, but you may have to try different ones.
Minor feature request: auto reseting sorting context menu; from what I can tell, reseting only resets the context menu and the values of $sorted(field), and it's inconvenient to have to check too see if the field that I want to sort by now has already been used.
sorry, I don't quite understand....
Small feature request: Could you perhaps make a checkbox or something to use system default background color (depending on msstyle) instead of custom. That would be awesome.
$drawrect(0,0,%_width%,%_height%,pencolor-null brushcolor-SYSCOL-15)
I think 15 is correct, but you may have to try different ones.
Thanks. Code is just as good.
Minor feature request: auto reseting sorting context menu; from what I can tell, reseting only resets the context menu and the values of $sorted(field), and it's inconvenient to have to check too see if the field that I want to sort by now has already been used.
sorry, I don't quite understand....
When you click on the button and the sorting context menu comes up, one choice in the context menu is "Reset", which resets the $sorted(field) values and brings back all of the original choices of fields to sort by (when you sort by artist, it goes away after). Why couldn't you have all of the choices (eg Artist, Album,etc) remain in the context menu after sorting by them, and adjust the values of $sorted(field) with each sorting selection?
Also, the following would be nice:
1-Inline buttons
2-Right click, double click, and Click-and-drag (for seekbar among other things) for button commands
3-Minimum pannel width option
4-Command to switch between Now playing/Follow cursor mode that can be used as a button command
5-Function to calculate the of number of lines of text resulting from word wrapping of given text (helpful for adjusting display to match different sized fields)
6-Ability to use the standard functions in SORT (would like to sort by path, but %path% contains ':' which has a special meaning in SORT command, and causes it not to work
7-Ability to place pannels anywhere in info box, so they can be seemlessly and attractively incorporated into the info pannel
8-Ability to do both SORT and FILTER in the same button
Is there a way to add support for dynamical button position?
I want to make my progress clickable where the "already played area" acts as a seek back button and the other part, as a seek ahead button.
Right now, seek back button works, but not the other one. It seems to me the button width and height support dynamic values, but coordinates does not.
Here is my code:
$puts(pbarLength,996)
$puts(percentage,$muldiv(%_time_elapsed_seconds%,$get(pbarLength),%_time_total_seconds%))
$puts(pbarProgress,$muldiv($get(percent),1000,1000))
$button(15,3,0,0,$get(pbarProgress),3,,,'Seek back by 10 seconds',)
$button($get(pbarProgress),3,0,0,$sub($get(pbarLength),$get(pbarProgress)),3,,,'Seek ahead by 10 seconds',)
Is there a way to add support for dynamical button position?
I want to make my progress clickable where the "already played area" acts as a seek back button and the other part, as a seek ahead button.
Right now, seek back button works, but not the other one. It seems to me the button width and height support dynamic values, but coordinates does not.
Here is my code:
$puts(pbarLength,996)
$puts(percentage,$muldiv(%_time_elapsed_seconds%,$get(pbarLength),%_time_total_seconds%))
$puts(pbarProgress,$muldiv($get(percent),1000,1000))
$button(15,3,0,0,$get(pbarProgress),3,,,'Seek back by 10 seconds',)
$button($get(pbarProgress),3,0,0,$sub($get(pbarLength),$get(pbarProgress)),3,,,'Seek ahead by 10 seconds',)
In the meantime, you could put the seek ahead button underneath the seek back button, have the seek ahead button span the entire bar.
^
Haven't thought about that, thanks bro.
Edit: Although I'd still like to know if my request is feasible.
probably because of the '#'
Trackinfo mod has weird issues with #
yep. anything with # won't work in buttons.
Ah yea, I didn't realise about the #. Any chance of this being fixed in a future version, or not do-able?
Button bug: I have a large 300x300 button overlaying some artwork. The bug seems to be that when I open up the preferences foobar box if this box is over the button I can't click anything within it and the button essentially acts through it.
Button bug: I have a large 300x300 button overlaying some artwork. The bug seems to be that when I open up the preferences foobar box if this box is over the button I can't click anything within it and the button essentially acts through it.
Same here. That could get REALY annoying if one had a lot of button area.
Feature Request - TAG:APPEND
To add values to multi-value fields.
I'm testing a simple button\rating configuration using the following code:
//Global
$puts(rating,$if(%rating%,%rating%,0))
//PerTrack
$button(3,300,0,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating1.png,r1,)
$button(3,300,13,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating2.png,r2,)
$button(3,300,26,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating3.png,r3,)
$button(3,300,39,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating4.png,r4,)
$button(3,300,52,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating5.png,r5,)
The problem is that the code never gets loaded when I open foobar and start playing a track. The only
way to get it to work is to go into my trackinfo settings and click "ok". From there on out everything
works fine.
Is there something I'm missing to get trackinfo to load my script when foobar fires up?
Thanks for any tips!
When you click on the button and the sorting context menu comes up, one choice in the context menu is "Reset", which resets the $sorted(field) values and brings back all of the original choices of fields to sort by (when you sort by artist, it goes away after). Why couldn't you have all of the choices (eg Artist, Album,etc) remain in the context menu after sorting by them, and adjust the values of $sorted(field) with each sorting selection?
why would you need the choices after you've used it? eg you can's sort by "artist" twice. There's another way you can sort which may be what you're after.
$button2(2,8,0,0,18,24,'$font(Wingdings 3,12,,0-0-0)u','$font(Wingdings 3,12,,255-0-0)u','FILTER:source|!source!',)
$if($filtered(genre),
$alignabs(20,2,40,16,left,top)$font(calibri,9,underline,0-0-0)genre
$alignabs(20,16,40,16,left,top)$font(,,,)$filtered(genre)
,
$button2(20,2,0,0,40,16,'$font(calibri,9,,0-0-0)genre','$font(calibri,9,,255-0-0)genre','FILTER:genre|%genre%',)
)
$if($sorted(album),
$button2(62,4,0,0,20,16,'$font(Wingdings 3,9,,255-0-0)q$font(calibri,9,,255-0-0)$sorted(album)','$font(Wingdings 3,9,,0-0-0)q$font(calibri,9,,255-0-0)$sorted(album)','SORT:album|%album%',)
,
$button2(62,4,0,0,20,16,'$font(Wingdings 3,9,,0-0-0)q','$font(Wingdings 3,9,,255-0-0)q','SORT:album|%album%',)
)
$if($filtered(decade),
$alignabs(86,2,40,16,left,top)$font(calibri,9,underline,0-0-0)decade
$alignabs(86,16,40,16,left,top)$font(,,,)$filtered(decade)
,
$button2(86,2,0,0,40,16,'$font(calibri,9,,0-0-0)decade','$font(calibri,9,,255-0-0)decade','FILTER:decade|$mul($div(%date%,10),10)',)
)
$if($sorted(date),
$button2(128,4,0,0,20,16,'$font(Wingdings 3,9,,255-0-0)q$font(calibri,9,,255-0-0)$sorted(date)','$font(Wingdings 3,9,,0-0-0)q$font(calibri,9,,255-0-0)$sorted(date)','SORT:date|%date%',)
,
$button2(128,4,0,0,20,16,'$font(Wingdings 3,9,,0-0-0)q','$font(Wingdings 3,9,,255-0-0)q','SORT:date|%date%',)
)
$if($filtered(composer),
$alignabs(152,2,50,16,left,top)$font(calibri,9,underline,0-0-0)composer
$alignabs(152,16,50,16,left,top)$font(,,,)$filtered(composer)
,
$button2(152,2,0,0,50,16,'$font(calibri,9,,0-0-0)composer','$font(calibri,9,,255-0-0)composer','FILTER:composer|%composer%',)
)
$if($sorted(composer),
$button2(204,4,0,0,20,16,'$font(Wingdings 3,9,,255-0-0)q$font(calibri,9,,255-0-0)$sorted(composer)','$font(Wingdings 3,9,,0-0-0)q$font(calibri,9,,255-0-0)$sorted(composer)','SORT:composer|%composer%',)
,
$button2(204,4,0,0,20,16,'$font(Wingdings 3,9,,0-0-0)q','$font(Wingdings 3,9,,255-0-0)q','SORT:composer|%composer%',)
)
5-Function to calculate the of number of lines of text resulting from word wrapping of given text (helpful for adjusting display to match different sized fields)
you can use $calcheight then divide by the font size.
Is there a way to add support for dynamical button position?
I want to make my progress clickable where the "already played area" acts as a seek back button and the other part, as a seek ahead button.
Right now, seek back button works, but not the other one. It seems to me the button width and height support dynamic values, but coordinates does not.
Here is my code:
$puts(pbarLength,996)
$puts(percentage,$muldiv(%_time_elapsed_seconds%,$get(pbarLength),%_time_total_seconds%))
$puts(pbarProgress,$muldiv($get(percent),1000,1000))
$button(15,3,0,0,$get(pbarProgress),3,,,'Seek back by 10 seconds',)
$button($get(pbarProgress),3,0,0,$sub($get(pbarLength),$get(pbarProgress)),3,,,'Seek ahead by 10 seconds',)
buttons have to be // PerTrack so you can't have buttons depend of // PerSecond variables. I will try to add button support to the // PerSecond section for the next version.
Ah yea, I didn't realise about the #. Any chance of this being fixed in a future version, or not do-able?
yes, eventually.
Button bug: I have a large 300x300 button overlaying some artwork. The bug seems to be that when I open up the preferences foobar box if this box is over the button I can't click anything within it and the button essentially acts through it.
the preferences buttons don't work or the trackinfo buttons?
I'm testing a simple button\rating configuration using the following code:
//Global
$puts(rating,$if(%rating%,%rating%,0))
//PerTrack
$button(3,300,0,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating1.png,r1,)
$button(3,300,13,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating2.png,r2,)
$button(3,300,26,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating3.png,r3,)
$button(3,300,39,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating4.png,r4,)
$button(3,300,52,0,13,13,images\trackinfo\rating$get(rating).png,images\trackinfo\rating5.png,r5,)
The problem is that the code never gets loaded when I open foobar and start playing a track. The only
way to get it to work is to go into my trackinfo settings and click "ok". From there on out everything
works fine.
Is there something I'm missing to get trackinfo to load my script when foobar fires up?
Thanks for any tips!
for relative paths start with a "/" character... eg "/images\trackinfo\rating$get(rating).png", etc.
you can use $calcheight then divide by the font size.
That's the first thing I tried, but $calcheight only calculates the height before word wrapping; wrapped text still returns only the height of the individual letters.
the preferences buttons don't work or the trackinfo buttons?
The bug is that buttons are overlayed over the preferences window, so that you can accidentally activate the info pannel button when clicking on the preferences window.
This also renders that area on the preferences dialogue unusable.
The problem is that the code never gets loaded when I open foobar and start playing a track. The only
way to get it to work is to go into my trackinfo settings and click "ok". From there on out everything
works fine.
Is there something I'm missing to get trackinfo to load my script when foobar fires up?
Thanks for any tips!
I've experienced the same problem before, when I changed from foobar 0.9.3 to 0.9.4.1.
Try to remove your foobar shortcuts and create new ones. It works for me.
The problem is that the code never gets loaded when I open foobar and start playing a track. The only
way to get it to work is to go into my trackinfo settings and click "ok". From there on out everything
works fine.
Is there something I'm missing to get trackinfo to load my script when foobar fires up?
Thanks for any tips!
I've experienced the same problem before, when I changed from foobar 0.9.3 to 0.9.4.1.
Try to remove your foobar shortcuts and create new ones. It works for me.
Thanks for the responses. Turns out it was the relative paths in the button image parameters as terrestrial suggested. Works great now.
Thanks again!
It seems that there are a variety of issues regarding the refresing of the display. In that light, it would be handy to have a command to refresh the display that can be executed through either a button or a keyboad shortcut.
This is a great plugin that completely revolutionizes what a Foobar setup can be and opens up the door to almost limitless customization. I can't wait till I have the time to really get into it and put together a nice setup!
I haven't been following the button/button2 functions too close. My question... Is it possible to have a toggle display? For example if I want to toggle %playback_time% and %playback_time_remaining% in the same place with a left mouseclick, is that possible? I hope it's understandable what I mean.
I haven't been following the button/button2 functions too close. My question... Is it possible to have a toggle display? For example if I want to toggle %playback_time% and %playback_time_remaining% in the same place with a left mouseclick, is that possible? I hope it's understandable what I mean.
You could certainly have the regular text and mousover text be different, but as far as I know, only SORT, FILTER, and Main and Context menu commands are possible with left clicking on buttons. I actually tried for you using a function that changes the value of a variable, which would in turn effect the text displayed, but to no avail.
So no, I'm pretty sure there is currently no way to do that.
I haven't been following the button/button2 functions too close. My question... Is it possible to have a toggle display? For example if I want to toggle %playback_time% and %playback_time_remaining% in the same place with a left mouseclick, is that possible? I hope it's understandable what I mean.
You could certainly have the regular text and mousover text be different, but as far as I know, only SORT, FILTER, and Main and Context menu commands are possible with left clicking on buttons. I actually tried for you using a function that changes the value of a variable, which would in turn effect the text displayed, but to no avail.
So no, I'm pretty sure there is currently no way to do that.
EDIT: Never mind. Doesn't work with // PerSecond anyway.
I am trying to get the rotate flip working...
$imageabs2(100,100,,,,,0,200,C:\Documents and Settings\xxxx\Application Data\foobar2000\data\misc images\nocover.png,NOKEEPASPECT,rotateflip-2)
but it just makes the image dissapear - any idea what i am doing wrong?
I am trying to get the rotate flip working...
$imageabs2(100,100,,,,,0,200,C:\Documents and Settings\xxxx\Application Data\foobar2000\data\misc images\nocover.png,NOKEEPASPECT,rotateflip-2)
but it just makes the image dissapear - any idea what i am doing wrong?
The problem is the "," character in the image options.
Try this:
$imageabs2(100,100,,,,,0,200,C:\Documents and Settings\xxxx\Application Data\foobar2000\data\misc images\nocover.png,NOKEEPASPECT rotateflip-2)
thats awesome thanks - now my only other question is how do i make it so I flip the image horizontally and rotate it 180 degrees..
basically I am trying to make a mirror image below so that I can then add a fade out overlay like in itunes v7.0 should be a cool effect... also any idea when this feature will be added into single columns... I dont really use track info as scl caters for all of my needs...
ok so I worked out that rotateflip-6 is what I want... now to make an image overlay that fadetransparently to alpha 0 + but also makes the lower album cover go transparent..
any one have any ideas..
or better yet can I add an alpha channel overlay to an image?
4nt1:
You can make a transparent gradient PNG file like some people do. And put this image over the cover.
thats fine but it doesn't blend into my original bg - ie my alpha chanel is transparent to white - blended - but my bg isnt white its textured...
anyway to blend any image based on an overlay alpha chanel image...
see below
(http://www.chriscombe.com/pics/overlay.png)
Use the texture that the image is over instead of white, so it looks transparent even thought its not.
I'm trying to get some buttons in my trackinfo mod. But i have a hard time using the $font statement. It fucks the $button2 tag.
For example i used the example from the wiki and a simple play button:
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
$button2(20,50,0,0,50,50,Play,Play,Play,)
It generates:
(http://betse.no-ip.org/list/track_font.jpg)
The play button works, the seek ahead doesn't
What am i doing wrong?
Is there a way to add support for dynamical button position?
I want to make my progress clickable where the "already played area" acts as a seek back button and the other part, as a seek ahead button.
Right now, seek back button works, but not the other one. It seems to me the button width and height support dynamic values, but coordinates does not.
Here is my code:
$puts(pbarLength,996)
$puts(percentage,$muldiv(%_time_elapsed_seconds%,$get(pbarLength),%_time_total_seconds%))
$puts(pbarProgress,$muldiv($get(percent),1000,1000))
$button(15,3,0,0,$get(pbarProgress),3,,,'Seek back by 10 seconds',)
$button($get(pbarProgress),3,0,0,$sub($get(pbarLength),$get(pbarProgress)),3,,,'Seek ahead by 10 seconds',)
i got the seek ahead button to work. But i don't seem to get the dynamic seek back button to work.
I have problems getting buttons to work under // PerSecond, which is needed with the dynamic button. Did you find a solution?
I'm trying to get some buttons in my trackinfo mod. But i have a hard time using the $font statement. It fucks the $button2 tag.
For example i used the example from the wiki and a simple play button:
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
$button2(20,50,0,0,50,50,Play,Play,Play,)
It generates:
(http://betse.no-ip.org/list/track_font.jpg)
The play button works, the seek ahead doesn't
What am i doing wrong?
Try $button2(0,0,0,0,30,13,'$font(tahoma,8,,0-0-0)Forward','$font(tahoma,8,underline,0-0-0)Forward',Seek ahead by 10 seconds,) instead missed the 's
EDIT: Lol, i didn't see your last post..
Buttons won't work in // PerSecond for now.
Terrestrial might enable PerSecond buttons in the next version
Thanks for that
It seems that trying to show a tab with a track info mod button: Album list or ProjectM sometimes open up a new instance of Album list or ProjectM.
The names are right, and they worked like they should.
Anyone else has had this problem?
Hi folks, sorry for posting here too but after using // PerTRack and // PerSecond to refresh my progress bar my panel got messed up as you can see here:
You have only used normal align like top,left,middle..
To avoid this overwriting, try alignabs. Alignrel might work, too, I don't know.
//---------------------------// <---------(THIS PART SHIFTS ON TOP)
$alignrel(left,middle)
Jap, added it, works
(http://img523.imageshack.us/img523/150/ssszh1.png) (http://imageshack.us)
Thanks for your reply, i know it's a wasting of resources but this is the only way i was able to make it work. I tried adding alignrel as you told but this does'nt work properly for me, cause when i shrink the Info Panel i got overlapping ... so i removed all the align and placed on top a // PerSecond
$if(%isplaying%,
// PerSecond
$rgb(0,0,128)Artist: $rgb()$rgb(0,255,255)%album artist%$char(10)$rgb()
$rgb(0,0,128)Album: $rgb()$rgb(0,255,255)%album%$char(10)$rgb()
$rgb(0,0,128)Title: $rgb()$rgb(0,255,255)%title%$char(10)$rgb()
$char(10)
//---------------------------// <---------(THIS PART SHIFTS ON TOP)
$rgb(0,0,128)Duration: $rgb(200,255,255)[%_time_elapsed%]$rgb() $rgb(0,0,128)/ $rgb()$rgb(0,255,255)%_length%$rgb()
//ADDITIONAL CODE FOR PROGRESS BAR//
$puts(progchar,|)
$puts(progfore,ffff00)
$puts(progback,ddffff)
$puts(proglength,85)
$char(10)
$get(head)$get(file)
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglength),$get(progfore)$get(progchar),$get(progback)$get(progchar))$get(bright) $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)'%'
//END OF CODE
$char(10)
$char(10)
$rgb(0,0,128)Codec: $rgb()$rgb(0,255,255)%codec%$rgb()$char(10)
$rgb(0,0,128)Bitrate: $rgb()$rgb(200,255,255)%bitrate%$rgb()$rgb(0,255,255 ) kbps $rgb()$rgb(200,255,255)%codec_profile% $char(10)$rgb()
$rgb(0,0,128)Filesize: $rgb()$rgb(200,255,255)$div(%_filesize%,1048576).$num($div($mul($mod(%_filesize%,1048576),100),1048576),2)$rgb()$rgb(0,255,255 ) MB $char(10) $rgb()
$rgb(0,0,128)Samplerate: $rgb()$rgb(200,255,255)%samplerate%$rgb()$rgb(0,255,255) Hz %channels% $char(10)$rgb()
$char(10)
$rgb(0,0,128)Played: $rgb()$rgb(200,255,255)%play_count%$rgb()$rgb(0,255,255) times $char(10)$rgb()
)
In your case it wont be such a big waste of ressources, as theres only a little bit of text uselessly rendered every second.
But if you want it make more resource friendly, check out alignabs at the Trackinfo Mod Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#To_align_text_absolutely_.28with_no_checking_for_overwriting_text.29).
If you can't make it (or simply don't want to), perhaps I will try it.
I Would like to use the Track Info Panel with the Spektrum Analyzer in the back of the shown track info instead of an picture file. Is this possible somehow?
Edit: How can I switch formatting to get something like this?
Album
Title
... (centered)
Bitrate (left) (right) Sampling Rate
Codec (left) (right) Size
In your case it wont be such a big waste of ressources, as theres only a little bit of text uselessly rendered every second.
But if you want it make more resource friendly, check out alignabs at the Trackinfo Mod Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#To_align_text_absolutely_.28with_no_checking_for_overwriting_text.29).
If you can't make it (or simply don't want to), perhaps I will try it.
I've tried with alignabs... but i can't figure it, the main problem is that when i put // PerTrack in the title-artist-album section and then i add // PerSecond in the progressbar section the first section disappear, the way i did last time works fine but refreshing things every second a bit annoys me.
There's some correct order to put // PerSecond and //PerTrack? They are causing so much trouble to me
@powernemo: There isnt any special rule how they have to be sorted. You even can define every passage twice,trice, and so on.
p.ex:
// PerSecond
Some code
// PerTrack
...
// PerSecond
albumart
...
The code thats written last will be written on top, at least if you use alignabs.
EDIT:
If you want, post your faulty code in a codebox, I might take a look at it.
I Would like to use the Track Info Panel with the Spektrum Analyzer in the back of the shown track info instead of an picture file. Is this possible somehow?
Edit: How can I switch formatting to get something like this?
Album
Title
... (centered)
Bitrate (left) (right) Sampling Rate
Codec (left) (right) Size
I think the best way to do this is to put in the same text box everything that you want aligned to the left, and similarly with everything you want aligned in the center and to the right.
If you want to allow for things to word wrap to multiple lines, you can do something like this:
$rgb(text color)Album:$char(10)
$rgb(background color)%album%$char(10)
$rgb(text color)Title:$char(10)
$rgb(background color)%title%
And then of course go back and add %album% and %title% center aligned.
Also, as far as I know, there is currently no way to place a pannel in the track info mod pannel, though I have requested that feature, so we'll see...
Can somebody tell me how to make those transparent png images that make the manel look 3D and shinny?
@eisteh: this is my code
$if(%isplaying%,
// PerTrack
$rgb(0,0,128)Artist: $rgb()$rgb(0,255,255)%album artist%$char(10)$rgb()
$rgb(0,0,128)Album: $rgb()$rgb(0,255,255)%album%$char(10)$rgb()
$rgb(0,0,128)Title: $rgb()$rgb(0,255,255)%title%$char(10)$rgb()
$char(10)
// PerSecond
//---------------------------// <---------(THIS PART SHIFTS ON TOP)
$rgb(0,0,128)Duration: $rgb(200,255,255)[%_time_elapsed%]$rgb() $rgb(0,0,128)/ $rgb()$rgb(0,255,255)%_length%$rgb()
//ADDITIONAL CODE FOR PROGRESS BAR//
$puts(progchar,|)
$puts(progfore,ffff00)
$puts(progback,ddffff)
$puts(proglength,85)
$char(10)
$get(head)$get(file)
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglength),$get(progfore)$get(progchar),$get(progback)$get(progchar))$get(bright) $muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)'%'
//END OF CODE
$char(10)
$char(10)
$rgb(0,0,128)Codec: $rgb()$rgb(0,255,255)%codec%$rgb()$char(10)
$rgb(0,0,128)Bitrate: $rgb()$rgb(200,255,255)%bitrate%$rgb()$rgb(0,255,255 ) kbps $rgb()$rgb(200,255,255)%codec_profile% $char(10)$rgb()
$rgb(0,0,128)Filesize: $rgb()$rgb(200,255,255)$div(%_filesize%,1048576).$num($div($mul($mod(%_filesize%,1048576),100),1048576),2)$rgb()$rgb(0,255,255 ) MB $char(10) $rgb()
$rgb(0,0,128)Samplerate: $rgb()$rgb(200,255,255)%samplerate%$rgb()$rgb(0,255,255) Hz %channels% $char(10)$rgb()
$char(10)
$rgb(0,0,128)Played: $rgb()$rgb(200,255,255)%play_count%$rgb()$rgb(0,255,255) times $char(10)$rgb()
)
- moving //PerSecond on the bottom in the current position prevent the upper lines from being displayed
- adding // PerTrack does'nt solve this problem, i've tried with several alignabs but i can't figure how to make it works
- the if(x,y) statement it's now ignored, when there's no track selected or i'm not in playback the various TAGs are displayed as ' ? '
- i cannot figure a way to select a bunch of tracks (also during the playback) and to display in the Info Panel the properties as the total lengt, the total filesize or the average bitrate (this feature appeared by default on Foobar0.8 in the statusbar)
thanks for your precious help
@eboomer: Open Photoshop:
- Create a new image
- In the Layer Palette be sure that the Layer is named everything but
Background else you must double click it and it will turn into Layer 1 (this will prevent you to have a background layer)
- Press G to activate the Gradient tool (if the buckett tool instead is active as is by default press Shift+ G)
- On the top toolbox choose a gradient from white (or every color you like) to transparent from the dropdown list, there's already one made by default (it should be the second one)
- You can edit the gradients clicking directly on the swatch that appears on the toolbox
- Draw your gradient in the canvas
- Save as PNG enabling transparency
hope this is what you asked
@eboomer: Open Photoshop:
Thanks for the tip. Unfortunately I don't already have Photoshop, and it seems that it costs about $100 - not worth it to me just for this. Does anybody know of free (or pretty cheap) software that can acheive the same thing (creating the transparent png gradients)?
Use Paint.net
I think it will do his job, although I haven't tried what you want.
Transparency is quite easy to use:
open an picture an than go to the layers window go to properties and then put the opacity where you want it.
For 3D try to use some tools and maybe you can find out on hp of paint.net how it works
www.gimp.org
Please, terrestrial or anybody else, I'm looking for some clarification... I'm a bit confused right now.
$imageabs(,,images\art.png,)
It will seek for art.png in X:\%foobar_
profile_directory%\images\art.png.
$imageabs2(,,,,,,,,images\art.png,)
It will seek for art.png in X:\%foobar_
install_directory%\images\art.png.
$imageabs2(,,,,,,,,/images\art.png,)
It will also seek for art.png in X:\%foobar_
install_directory%\images\art.png.
Why the slash if it has the same behavior without it?
$imageabs2(,,,,,,,,X:\some_dir\art.png,)
It will seek for art.png in X:\some_dir\art.png.
but
$puts(dir,'X:\some_dir\)
$imageabs2(,,,,,,,,$get(dir)art.png',)
won't work, with or without the quotemarks. Is this a bug ? Because it works fine with button() or in SCP.
I had this idea.. Maybe you could had an option in the config window to specify the default image folder? All fonctions would point in this directory unless something different is specified. That would eliminate the ambiguities mentionned above. Just a suggestion
Thanks
EDIT: Nevermind about the slash. It fixes a problem I reported a couple of weeks ago.
$puts(dir,'X:\some_dir\)
$imageabs2(,,,,,,,,$get(dir)art.png',)
won't work, with or without the quotemarks. Is this a bug ? Because it works fine with button() or in SCP.
I've tryed this:
$puts(dir,X:\some_dir\)
$imageabs2(,,,,,,,,$get(dir)art.png,)
And it works fine for me.
I'm using a code like this for my backgrounds.
By the way, if you don't use the "/" character in $imageabs2, it will seek in the install folder.
And if you use the "/" it will seek in the profile folder.
It was changed in the new version.
- moving //PerSecond on the bottom in the current position prevent the upper lines from being displayed
- adding // PerTrack does'nt solve this problem, i've tried with several alignabs but i can't figure how to make it works
- the if(x,y) statement it's now ignored, when there's no track selected or i'm not in playback the various TAGs are displayed as ' ? '
the code in // PerSecond or // PerTrack section has to work independently. So you can't do this:
// PerTrack
$if(%isplaying%,
// PerSecond
%playback_time%,
// PerTrack
Not Playing
)
because it becomes
// PerTrack
$if(%isplaying%,
Not Playing
)
// PerSecond
%playback_time%
so you need to do something like:
// PerSecond
$if(%isplaying%,
// draw progress bar using $alignabs
)
// PerTrack
$if(%isplaying%,
...
)
although since you're just using text, it shouldn't really make a big difference if you just make everything persecond.
$imageabs(,,images\art.png,)
It will seek for art.png in X:\%foobar_profile_directory%\images\art.png.
yep.
$imageabs2(,,,,,,,,images\art.png,)
It will seek for art.png in X:\%foobar_install_directory%\images\art.png.
not quite... the path (images\art.png) is unaltered, and how it is interpreted is determined by windows (which uses the "working directory" as the base). The working directory is the foobar install directory if you run foobar from a shortcut, or launch it directly, but if foobar starts from you clicking an associate file (eg .mp3), then the working directory is the directory where the mp3 resides. I wouldn't recommend using this.
$imageabs2(,,,,,,,,/images\art.png,)
It will also seek for art.png in X:\%foobar_install_directory%\images\art.png.
yep. the path (/images\art.png) will be altered to %foobar_install_directory%\images\art.png.
$imageabs2(,,,,,,,,X:\some_dir\art.png,)
It will seek for art.png in X:\some_dir\art.png.
but
$puts(dir,'X:\some_dir\)
$imageabs2(,,,,,,,,$get(dir)art.png',)
won't work, with or without the quotemarks. Is this a bug ? Because it works fine with button() or in SCP.
looks like you're missing a couple of quotes
Thanks for fast responses guys. I found the problem... I forgot about the // Global section thing...
Thanx terrestrial, i'll recode it!
I've noticed a weird behaviour with buttons. I have one large album art image which I use as a big button to pause or play music. In the top left of this album art I place a picture of the artist, when this image is not available I display a no artist image and make the region a button to download the latest image.
If I place this button code below the album art button code it does not work, clicking the artist area pauses the track as the larger button seems to be overlaying the smaller one. However, if I place the button code for the image artist download BEFORE the large button code then it works just fine. Surely, by placing code beneath the album art section it should render later and should thus be on top and not visa versa?
I hope this is clear: basically:
button code 1
button code 2
If these overlap button code 1 executes instead of 2.
Here's a long shot: any chance of getting animated gifs working? They'd be very sexy for button overlays and other features.
One question: can it load fonts from foobar's difectory, fonts not installed in Windows?
highly doubt it
forgive my insolence and all but I am just starting out tinkering with this. I like.
when trying to align anything though, $alignrel or $alignabs both seem to render TOP and CENTER as the same thing... TOP. BOTTOM puts stuff to the bottom... but CENTER just goes to TOP. Anyone else seen this or am I a crazy person?
forgive my insolence and all but I am just starting out tinkering with this. I like.
when trying to align anything though, $alignrel or $alignabs both seem to render TOP and CENTER as the same thing... TOP. BOTTOM puts stuff to the bottom... but CENTER just goes to TOP. Anyone else seen this or am I a crazy person?
CENTER is for horizontal. MIDDLE is for vertical. Check it.
CENTER is for horizontal. MIDDLE is for vertical. Check it.
Oh my god. I'm retarded.
Ok... now I'm sure I'm just insolent... but say I position something with $align or $alignrel ... and I would like it to be just a few pixels lower than where it shows up... is there anything at all to accomplish that easy? I wish i could use CSS here lol... margin-top
You could use $alignabs(X,Y,width,height,H,V) and play with the ordinate value to specify the exact position where you want your text to be. Where H can be left,center or right and V, top, middle or bottom.
I don't know if you noticed, but you have answers to those questions you asked in the wiki for this component. Just a thought.
You could use $alignabs(X,Y,width,height,H,V) and play with the ordinate value to specify the exact position where you want your text to be. Where H can be left,center or right and V, top, middle or bottom.
I don't know if you noticed, but you have answers to those questions you asked in the wiki for this component. Just a thought.
Yeah, I've read the wiki. Not getting through to me, apparently... I've tried using alignabs, every combination I do just makes the content disappear...
One question: can it load fonts from foobar's difectory, fonts not installed in Windows?
The fonts can reside in any folder, but have to be installed.
So it cannot work with uninstalled fonts...
I guess that's more about Windows' API than foobar2000.
I've got a slight problem when displaying jpegs resized with $imageabs2. Some pictures are perfect, and others are slightly blurred, enough to make small writing unreadable or edges undefined.
I think the blurred pictures are jpegs saved using the 'progressive' option. Would that be a fault in foo_uie_trackinfo, or does it use an external .dll which I might have a problem with?
Also, is there an option to resize small pictures to larger sizes?
is there a button command i can use to minimize foobar?
"Hide"
oh duh, thanks
I've got a slight problem when displaying jpegs resized with $imageabs2. Some pictures are perfect, and others are slightly blurred, enough to make small writing unreadable or edges undefined.
I think the blurred pictures are jpegs saved using the 'progressive' option. Would that be a fault in foo_uie_trackinfo, or does it use an external .dll which I might have a problem with?
I noticed the same problem, too.
However, it seems that the cause is not progressive jpeg format but an embedded thumbnail image.
About fonts not installed : for the developper there is (was?) an easy way to use not installed fonts : it is an API called AddFontResource() I think. And you can load any font file.
If that can help...
When pressing "apply" in the trackinfo configuration editor window, the cursor always jumps the the first line. please fix this, this especially sucks when having lots of work and long code.
Another problem:
\\ Global
$puts(a, 5)
\\ PerTrack
Blah...
\\ PerSecond
$get(a)
a is undefined in the persecond section. Why? What does "global" mean then?
A massive cpu usage problemI migrated a columns ui layout with 4 track info panels (2 track info, 2 track info mod) to another layout with only one track info mod panel.
The cpu consumption of fb2k increased from 5 to 70% (on playback), but for whatever reason, only on my notebook. On my other PC, which is slower than the notebook, it's still at 5%. In how far can my layout be machine dependent???
It's a lot of code and work in progress, but maybe someone has an idea...
deleted, as the code was not the cause of problems...
EDIT: Is this behaviour a bug? I found out, if I delete the complete "PerSeconds" section, cpu usage is still high. If I delete the "// PerSecond" statement then, CPU usage decreases from 70 down to 5%.
EDIT2: It's terrible. No additional code, just the single line "// PerSecond" causes my fb2k to use 70% cpu.
EDIT3: I installed a second fb2k instance on the same. No cpu wasting there. Hmm.
Can someone tell me why images won't work? I have the proper PNG libraries, but I can't get ANY images to display. I have an image in C:\program files\foobar2000\icons named "asdf.png".
$imageabs(20,20,icons\asdf.png,)
That should display an image, correct? Because I'm not getting anything at all. Even if I restart foobar, there still nothing being displayed.
Can someone tell me why images won't work? I have the proper PNG libraries, but I can't get ANY images to display. I have an image in C:\program files\foobar2000\icons named "asdf.png".
$imageabs(20,20,icons\asdf.png,)
That should display an image, correct? Because I'm not getting anything at all. Even if I restart foobar, there still nothing being displayed.
The directory name of the $imageabs function is with respect to the
Profile directory, located at
C:\Documents and Settings\USERNAME\Application Data\foobar2000\, as expained on the wiki, http://wiki.hydrogenaudio.org/index.php?ti..._trackinfo_mod) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Track_Info_Panel_Mod_(foo_uie_trackinfo_mod)), which is linked on the first page of this topic. Although it's a little more complicated, you could use the $imageabs2 function.
If you have one profile for all user accounts, then you code should work. Otherwise, eboomer has explained it very well
Drop the images in the profile folder if you don't want to touch the more complicated $imgabs2().
I'd be surprised if this hasn't been suggested before, but I'd like to see some script control commands, along the lines of Sinclair BASIC to keep it nice and simple, but handy to speed up code execution and make it easier to code. We already have IF..THEN..ELSE, so I'd like to see:
GOTO - Used to jump to another piece of code. $goto(ARTIST INFO) could be used to jump forwards to a comment line containing '// ARTIST INFO'.
GO SUB..RETURN - Used to execute a sub routine, returning after finished. $gosub(ARTIST INFO) would jump to the same comment line as above, but at the end of that piece of code would be $return() to jump back to the $gosub command and continue from there.
END - Used to terminate code execution and tell foobar to go do something else (can't remember if this was in Sinclair BASIC). $end() could be used for this. Useful to store your subroutines after this so they don't get executed when they shouldn't.
FOR..NEXT - Creates a loop where a variable is incremented on each loop between two set values. $for(count,1,10) could create a loop that would be executed 10 times, each time the value of 'count' increasing by one. $get(count) would be used as normal to get the value. $next(count) would be at the end of the code, telling foobar to repeat the loop. A fourth parameter could be used to set the increment, so $for(count,2,10,2) would increment by 2, giving 5 loops where count would equal 2, 4, 6, 8 and 10.
Just an idea. I'm sure it would make code execution a little faster, skipping large amounts of code or making massive $if commands a thing of the past. The for next loop would be great for stepping through $meta variables one by one, without having to repeat the code for every instance.
I'm getting confused with all the alignment stuff cause I'm pretty new to all the fancy trackinfo mod functions. Whats the best way (least code!) to prevent wrapping?
I have a panel, the center part of it is reserved for three lines (Ensemble/Conductor, Title, Album/Work). The bounding rectangle is done with alignabs(). Problem: If the title line is too long, Album/Work will not show up, because the title wraps.
How would you resolve this if the horizontal alignment is "center"? Split the bounding rectangle to 3 rectangles with alignabs() and checking for the text width? Or is there a better possibility?
TIA
Squeller, you simply have to make the bounding box big enough (it can have negative x-pos or width exceeding the panel's width). you could then use semitransparent png with gradient to visually 'fade out' the parts of the string which could get into the rest of your design.
edit: i uploaded screenshot of my old trackinfo panel for sort of 'from the sofa visible track info panel' which i have as collapsed docking panel on side of my foobar. you can notice that the first line is longer that the available space and that i fade it out (using transparent png). in your case of centrally aligned text you of course have to make it overlap both sides by the same length.
(http://mazy.johanka.cz/my_pics/temp/foobar/foobar-mazy-infopanel_1.png)
i need some help here, ok i installed the newest version of trackinfo mod and my progress bar and time didnt work right here is my code for them:
time elapsed
%code%
$padding(0,11)
$align(left,bottom)
$font(Calibri,9,glow- glowexpand-0 glowalpha-125,180-184-194)
[%_time_elapsed%]
%/code%
progressbar
<%ode%
$padding(0,8)
$align(center,bottom)
$drawrect($muldiv(%_width%,8,100),4,$muldiv(%_width%,81,100),9,brushcolor-null pencolor-180-184-194)
$drawrect($add($muldiv(%_width%,8,100),2),6,$ifgreater($muldiv($sub($muldiv(%_width%,81,100),4),%playback_time_seconds%,%length_seconds%),0,$muldiv($sub($muldiv(%_width%,78,100),4),%playback_time_seconds%,%length_seconds%),1),5,brushcolor-240-240-240 pencolor-null)
%/code%
can anyone help me
I'm getting confused with all the alignment stuff cause I'm pretty new to all the fancy trackinfo mod functions. Whats the best way (least code!) to prevent wrapping?
I have a panel, the center part of it is reserved for three lines (Ensemble/Conductor, Title, Album/Work). The bounding rectangle is done with alignabs(). Problem: If the title line is too long, Album/Work will not show up, because the title wraps.
How would you resolve this if the horizontal alignment is "center"? Split the bounding rectangle to 3 rectangles with alignabs() and checking for the text width? Or is there a better possibility?
TIA
I don't know if you can disable the auto wrapping... if this is what you want and if you can stand the cutting.
I'm not a trackinfomod expert but I had to solve a similar problem.
My solution was:
Title:
as titles, usually are not endless, I used the auto font reduction code I found somewhere.
The max font size reduction I set is from 36 points down to 24
Performer:
with jazz, this field can become almost endless (think of a Basie or Goodman band) and, as I'm showing it in big letters,
it can take even more than ten lines if you don't want to reduce the font down to 10/12 points, so I set up a scrolling code that let me keep using a big font.
http://www.hydrogenaudio.org/forums/index....st&p=449186 (http://www.hydrogenaudio.org/forums/index.php?act=ST&f=33&t=47044&hl=&view=findpost&p=449186)
I had to use a trick so I don't know if it can work everywhere.
If you feel like giving it a try I'll be glad to post the code with some explanation.
The first question is where you put your code. Look at the wiki of track info mod. In the new version there were some changes. You must put time in the per second section.
ya i am still having troubles the %playback_time% doesnt update it every second it updates it like every 5 seconds, anyone know whats wrong?
ya i am still having troubles the %playback_time% doesnt update it every second it updates it like every 5 seconds, anyone know whats wrong?
Read the changelog and/or wiki for the redraw types
Is it possible to make the rating system like iTunes where there are blank stars for unrated tracks then you can click and rate within the info panel?
Is it possible to make the rating system like iTunes where there are blank stars for unrated tracks then you can click and rate within the info panel?
I'm pretty new to trackinfo mod and I know that there are many way better ways of doing this but if you put two imagefiles in your Images directory named greystar.png and yellowstar.png and then insert this code you should have something simular
$select(%rating%,
$puts(status1,yellow),
$puts(status1,yellow)$puts(status2,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow)$puts(status5,yellow))
$button(5,HORISONTAL Position,0,0,0,0,Images\$if3($get(status1),grey)star.png,Images\yellowstar.png,TAG:SET:rating:1,)
$button(23,HORISONTAL Position,0,0,0,0,Images\$if3($get(status2),grey)star.png,Images\yellowstar.png,TAG:SET:rating:2,)
$button(41,HORISONTAL Position,0,0,0,0,Images\$if3($get(status3),grey)star.png,Images\yellowstar.png,TAG:SET:rating:3,)
$button(59,HORISONTAL Position,0,0,0,0,Images\$if3($get(status4),grey)star.png,Images\yellowstar.png,TAG:SET:rating:4,)
$button(77,HORISONTAL Position,0,0,0,0,Images\$if3($get(status5),grey)star.png,Images\yellowstar.png,TAG:SET:rating:5,)
and of course change the HORISONTAL Position to what suites you
Why not show good some album art in this mod? Some covers show "pixelated" but the jpg is a big resolution...
Example:
(http://img398.imageshack.us/img398/2807/image8rz4.th.jpg) (http://img398.imageshack.us/my.php?image=image8rz4.jpg)
in your case of centrally aligned text you of course have to make it overlap both sides by the same length.
Thx mazy. The "problem" is, if the line length exceeds the %_width%, I want to have it left aligned. OK, I think I'll have to handle the 2 cases with ifgreater...
Why not show good some album art in this mod? Some covers show "pixelated" but the jpg is a big resolution...
Example:
(http://img398.imageshack.us/img398/2807/image8rz4.th.jpg) (http://img398.imageshack.us/my.php?image=image8rz4.jpg)
I have the same problem here.
That's something about the progresive option in JPEG formats (you can see it in Photoshop).
Has anyone else noted a problem with the edit box in the settings window scroll all the way to the top when you click "apply?" I'm fairly certain that it didn't behave this way before and it makes editing strings much more difficult.
This could be a incidental problem with Vista, but I don't immediately blame Microsoft for all of my problems.
Has anyone else noted a problem with the edit box in the settings window scroll all the way to the top when you click "apply?"
Yes. (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47044&view=findpost&p=457671)
Has anyone else noted a problem with the edit box in the settings window scroll all the way to the top when you click "apply?"
Yes. (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47044&view=findpost&p=457671)
Oh, I guess I'm just a bit behind the times then. Spent the last two days trying to get AIW 9600 to work with Vista, which is only as hard as getting it to work with XP (very hard).
*pets the kitty*
edit: typo
is there any way to make a button out of drawn rectangles?
specifically making a progress bar within foo_trackinfo_mod that is functional for scrolling through a song
is there any way to make a button out of drawn rectangles?
specifically making a progress bar within foo_trackinfo_mod that is functional for scrolling through a song
make the button image a transparent png and overlay it in the area
is there any way to make a button out of drawn rectangles?
specifically making a progress bar within foo_trackinfo_mod that is functional for scrolling through a song
This is what I use:
$puts(pbar_length,$sub(%_width%,31))
$puts(percent,$muldiv(%_time_elapsed_seconds%,$get(pbar_length),%_time_total_seconds%))
$puts(pbar_progress,$muldiv($get(percent),1000,1000))
$button(15,2,0,0,$get(pbar_progress),5,,,'Seek back by 10 seconds',)
$button(15,2,0,0,$get(pbar_length),5,,,'Seek ahead by 10 seconds',)
Buttons coordinates lead to where my progress bar is. The first button covers the already played area on the progress bar and the second one, the area left to play.
It does not work flawlessly though... Terrestrial said he might add "update PerSecond" support for buttons soon.
is there a way to display timestamped lyrics in a track info mod? I want to have lyrics over a background.
my lyrics are associated, but they are named the same as the mp3 filename with a lrc extention.
Hey is it "normal" that foobar completely stops up for about 20 seconds with some scripts in trackinfo_mod? I only get this problem when having a trackinfo_mod panel in my layout. I'm running on a 850 MHz AMD athlon with 256 MB ram
Noone having a CPU problem?
With a fullscreen panel and the only codeline: "// PerSecond" I'm having 75% CPU usage (most of the time) on my P3/800 Thinkbad notebook. With the same code, I have 5% on my P3/500 workstation. I can definitely say it's the Perseconds statement. Sometimes fb2k works fluently with Perseconds turned on, but most of the time it eats cpu. Could it be a graphics driver issue?
I want to underline Text with a progress bar made with drawrect(). The Problem: The texts position can vertically vary. So can I align rectangles relative to a peice of text? Thanks.
To describe what I mean. Basically I have:
$align(center,middle)
%artist%$char(10)
%title%$char(10)
...
Now I want to underline the %artist%. But it's vertical position varies depending on the line breaks.
Squeller I can also confirm extremely high CPU usage with the //persecond line, everyone remember how in the old track info you had to keep the scroll steps to like 1 I think. Maybe it's something like that. I really don't know, maybe in the next update.
Dunno if it's Track Info Panel problem, but it doesn't show me bitrate dynamically. Instead it just shows first bitrate number. Strangely enough, bitrate number starts to change whenever i resize the area of track info panel.
Iodine_Galaxy: Did you place your bitrate code beneath a // PerSecond header?
Iodine_Galaxy: Did you place your bitrate code beneath a // PerSecond header?
Mode: %_trackinfo_mode%$char(10)$char(10)$if(%_trackinfo_notrack%,No track,Artist: %artist%$char(10)Title: %title%$char(10)Album: %album%)$char(10)Bitrate: %bitrate% kbps)
Just added %bitrate% tag. Imma beginner in a foobar customization. Damn, i feel stupid. Added // PerSecond header. Works like charm. Thanks.
Is it possible to make the rating system like iTunes where there are blank stars for unrated tracks then you can click and rate within the info panel?
While there may be a more simple and straigt-forward way to do it, I managed to find a way for the ratings to work like Windows Media Player, where the hypothetical rating is displayed on mousover, and the actual rating is displayed without mousover. It gets complicated the way I did it because the ordering of button command layers is the opposite of that for display (with button commands, the button at the top of the code is on top of all others; with button display, the button at the bottom of the code is displayed above all others, soo that what you see is not quite in synch with what you would expect to get).
This method basically splits into two parts: getting the pretty dynamic display, and getting the tagging functionality.
(http://img440.imageshack.us/img440/9415/starillustrationfz9.png)
First you make text buttons ($button2) with no text, only rating commands that cover the stars, so that clicking on any star will make the appropriate change in the %rating% field.
Then you make one button that covers all of the stars plus a bit of area around it that has no command, but displays the actual rating on mousover and 'mousoff', as it were. If this button is not large enough, then moving the mouse to fast off of the stars might cause strange rating displays for a little while.
Then you make buttons that stack on on top of the other to display the hypothetical mousover rating. You want to stack them so that the fifth star is on top (last line of code), fourth star is beneath the fifth (code above that of the fifth), and so on. You want the button of the first star to start on the first star and go to the last star. The button for the second star then starts on the second star and spans the distance to the last star. The third similarly starts on the third and ends on the last. Each button should display a dark star when moused over, and else a dark star if the rating is greater than or equal to the number of the star, and a light star otherwise.
Here's the rating code that I've been using for a while. It works like WMP stars and is based on a scale of 1-10 so you can have half stars. I also made it so that you could change the size and position of the stars easily using variables:
//Start Variables
$puts(ratewidth,90)
$puts(xpos,15)
$puts(ypos,2)
$puts(imagedir,C:\Program Files\foobar2000\images\Ratings\)
//End Variables
$drawrect(,,,,brushcolor-SYSCOL-15 pencolor-null)
$puts(rating,$ifgreater(%RATING%,10,$puts(rate,$div($add(%RATING%,5),10)),$puts(rate,%RATING%)))
$imageabs2($get(ratewidth),$div($get(ratewidth),5),,,,,$get(xpos),$get(ypos),$get(imagedir)$if2(%rating%,0).png,alpha-95)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),9),0,$get(ratewidth),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'10.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'10.png,alpha-115)',TAG:SET:Rating:10,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),8),0,$mul($div($get(ratewidth),10),9),20,'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'9.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'9.png,alpha-115)',TAG:SET:Rating:9,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),7),0,$mul($div($get(ratewidth),10),8),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'8.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'8.png,alpha-115)',TAG:SET:Rating:8,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),6),0,$mul($div($get(ratewidth),10),7),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'7.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'7.png,alpha-115)',TAG:SET:Rating:7,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),5),0,$mul($div($get(ratewidth),10),6),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'6.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'6.png,alpha-115)',TAG:SET:Rating:6,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),4),0,$mul($div($get(ratewidth),10),5),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'5.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'5.png,alpha-115)',TAG:SET:Rating:5,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),3),0,$mul($div($get(ratewidth),10),4),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'4.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'4.png,alpha-115)',TAG:SET:Rating:4,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),2),0,$mul($div($get(ratewidth),10),3),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'3.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'3.png,alpha-115)',TAG:SET:Rating:3,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),1),0,$mul($div($get(ratewidth),10),2),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'2.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'2.png,alpha-115)',TAG:SET:Rating:2,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),0),0,$mul($div($get(ratewidth),10),1),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'1.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'1.png,alpha-115)',TAG:SET:Rating:1,)
$button2(0,0,0,0,$get(xpos),$div($get(ratewidth),5),,,TAG:SET:Rating:0,)
And use the images I uploaded here (make sure to set imagedir to wherever you extract them):
http://www.mytempdir.com/1131194 (http://www.mytempdir.com/1131194)
Now if only I could figure out how to get that tagging progressbar not to show up
I noticed the same problem, too.
However, it seems that the cause is not progressive jpeg format but an embedded thumbnail image.
It's nice when people find the problem, and then diagnose the cause also
I'd be surprised if this hasn't been suggested before, but I'd like to see some script control commands, along the lines of Sinclair BASIC to keep it nice and simple, but handy to speed up code execution and make it easier to code. We already have IF..THEN..ELSE, so I'd like to see:
this would all need to be implemented by the general titleformat processor in the foobar core.
Noone having a CPU problem?
With a fullscreen panel and the only codeline: "// PerSecond" I'm having 75% CPU usage (most of the time) on my P3/800 Thinkbad notebook. With the same code, I have 5% on my P3/500 workstation. I can definitely say it's the Perseconds statement. Sometimes fb2k works fluently with Perseconds turned on, but most of the time it eats cpu. Could it be a graphics driver issue?
the only code you have is "// PerSecond" and nothing else and you get 75% cpu usage? It
could be a driver issue, although I think you would notice a general sluggishness (especially when scrolling) in every other program as well. See what results you get when running this http://www.stereopsis.com/blttest/ (http://www.stereopsis.com/blttest/) benchmark.
the only code you have is "// PerSecond" and nothing else and you get 75% cpu usage? It could be a driver issue, although I think you would notice a general sluggishness (especially when scrolling) in every other program as well.
It definitily only happens with your plugin and "// PerSecond (PS)". I have no such problems since I turned of PS. Unfortunately it's kind of strange. If I add the PS to my configuration, fb2k may run fine at first, even with the PS layout loaded. But after using fb2k (may be because of changing layouts?) a couple of times, the cpu load increases and can only be decreased by removing the PS or change to another layout without PS.
$button2(0,20,0,0,25,25,$imageabs2(25,25,0,0,25,25,0,0,/images\gant\prev.png,),$imageabs2(25,25,0,0,25,25,0,0,/images\gant\prev.png,),previous,)
That won't work. It shows the image fine, but no matter what numbers I put in for the first two spots, the button is always placed at (0,0). Also, the button doesn't work when clicked on. Yes it is under PerTrack.
Is there a reason you need the $imageabs2() functions? Have you tried without them? $button2() should handle .png without a problem.
Is there a reason you need the $imageabs2() functions? Have you tried without them? $button2() should handle .png without a problem.
yes, but then it wont resize the image
edit: oh well doesnt matter, i just resized them myself
but another question:
Right now I have some buttons to rate the currently playing song, is there a way to get the panel to reload when i rate a song so the new rating buttons will show up?
I think that's easy to understand
terrestrial:
I think that you're coding to load images from file path with Gdiplus::Bitmap(pchar) now, but is there a plan to use Gdiplus::Bitmap(IStream) constructor? Then if so we get possible to use interface of archive or etc via filesystem::g_open().
I read earlier in this thread that a command exists to set line spacing, but it hasn't been published yet. Well, could you tell me what it is? I'd like to set a global linespacing so I don't have to use the #LINEHEIGHT# command after every line to space things out a bit. This would be for all text under my $alignabs() setting for the bounding box.
Also, can someone be more clear how the $pad(X,Y) command works? I can't get it to do anything useful. Is this a per line setting? Per section (like after an $alignabs() box)? Global value?
ok guys I have a problem - I want to display artist image in my track info.
I can do this if I hard code it.
The problem is - I want to pull the path of the cd/album and then go 1 oe 2 folders down back to the artist folder and display the artist image.
Dont know if that makes sense - basically I just want to have one copy of the artist image in the actual artist folder
eg
F:\music\_electro\Sneaky Sound System\Sneaky Sound System
my artist image is stored in
F:\music\_electro\Sneaky Sound System\Artist.jpg
I am currently using this to find/replace for my album art with great success.
$imageabs2(150,150,,,,,$sub(%_width%,150),0,$replace(%path%,%filename_ext%,Artist.*),NOKEEPASPECT)
This only displays the artists image if it is in the album folder itself.
Is there any way I can code it so that it checks the folder below the album folder & also if the folder below is CDX format then it goes one more folder down and then displays the artist.jpg if its present..
I hope all that makes sense
Appreciate your help
4nt1: try something like this:
$imageabs2(150,150,,,,,$sub(%_width%,150),0,
$replace(%path%,%directoryname%$char(92)%filename_ext%,Artist.*)
,NOKEEPASPECT)
thanks will try that - was thinking about that on the way to work in my car.
I did not know %directoryname% was a valid tag.
I have had some more ideas which I will try when I get home.
Thanks for the assitance, will let you know how I go.
Look here for tag reference -
http://wiki.hydrogenaudio.org/index.php?ti...ormat_Reference (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference)
You could also use -
$directory(x,n)
Extracts directory name from the file path x; goes up by n levels.
to go up multiple levels.
on the subject of artist images, my images are in 1 folder and are named %artist%.png
is there any way to retrieve them if the artist name includes a '.' eg 'Dr. Dre'
Also, can someone be more clear how the $pad(X,Y) command works? I can't get it to do anything useful. Is this a per line setting? Per section (like after an $alignabs() box)? Global value?
Posts seem to get lost quick in this thread. Anyone got an idea on this?
I figured out the LINEHEIGHT thing. If I set it once after my $alignabs() tag, it works for all my lines.
$button2(0,20,0,0,25,25,$imageabs2(25,25,0,0,25,25,0,0,/images\gant\prev.png,),$imageabs2(25,25,0,0,25,25,0,0,/images\gant\prev.png,),previous,)
you're missing single quotes around the button text (eg. '$imageabs2(....')
Right now I have some buttons to rate the currently playing song, is there a way to get the panel to reload when i rate a song so the new rating buttons will show up?
how are you rating the songs? If it's through tags then it should it should update automatically. If its by some other means, then maybe not...
terrestrial:
I think that you're coding to load images from file path with Gdiplus::Bitmap(pchar) now, but is there a plan to use Gdiplus::Bitmap(IStream) constructor? Then if so we get possible to use interface of archive or etc via filesystem::g_open().
I'll look into it, but I don't think so with the way things are currently structured.
I read earlier in this thread that a command exists to set line spacing, but it hasn't been published yet. Well, could you tell me what it is? I'd like to set a global linespacing so I don't have to use the #LINEHEIGHT# command after every line to space things out a bit. This would be for all text under my $alignabs() setting for the bounding box.
Also, can someone be more clear how the $pad(X,Y) command works? I can't get it to do anything useful. Is this a per line setting? Per section (like after an $alignabs() box)? Global value?
$alignabs(0,0,100,200,top,left)#LINEHEIGHT,43#test$char(10)test$char(10)test
you don't have to use it after every line, but after every $alignabs(2) etc.
ok so this is what I am currently using
$imageabs2(150,150,,,,,$sub(%_width%,150),0,$replace(%path%,%directoryname%$char(92)%filename_ext%,Artist.*),NOKEEPASPECT)
I have artist.jpg in 1 folder down from the album folder - this works.
My next problem however is what happens when I have multiple cd's in each album - this would then make album the folder that should infact be the band folder. Appreciate any ideas.
eg
F:\music\genre\band\album
F:\music\genre\band\album\CD1
the artist image is in the band folder
If you have a predictable directory structure this isn't that hard to accomplish. Using your above example you can do something like this:
$imageabs2(150,150,,,,,$sub(%_width%,150),0,
$replace(%path%,
$if($strcmp($lower($left(%directoryname%,2)),cd),$directory(%path%,2)$char(92),)
%directoryname%$char(92)
%filename_ext%,Artist.*)
,NOKEEPASPECT)
* Read the file
titleformat_help.html in your foobar directory for more information about basic functions.
Hello,
i want to make buttons that change their design according to the values of %cwb_volume%. As written in the wiki, i put the button into the //PerTrack section. On the first sight it looks ok, but when I change the volume with the volume slider, the design of the button doesn't change as long as the played track doesn't change. Now I thought I could move the button code to the //PerSecond section. But then the whole button isn't drawn at all.
Is there a way to have buttons that are updated every second? It is not only useful for volume but for many other things like the playback order for example.
Thanks in advance,
Radioactive Man
i was just wondering how you would code the trackinfo panel to scale the font size based on the amount of characters being displayed
If fb2k lays behind a window, and you try to activate fb2k window by clicking randomly in a trackinfo panel, fb2k becomes active, but are not sent to front.
Will this ever be fixed?
i was just wondering how you would code the trackinfo panel to scale the font size based on the amount of characters being displayed
I'd like to know how to do this too.
This can probably be done by using a calculation for the size parameter of the font statement.
$font(<fontname>,$unknownformula(),<color>,<options>)
I tried playing around a bit applying $len() and %_width% but only had moderate success. Does anyone know how to convert pixel size to font point size? I searched and found some vague answers but nothing specific.
// Sets the offsets for the screensaver mode
// It will change the position of the info block with every new track
$puts(wide,1000)
$puts(xgap,$sub(%_width%,1000))$char(10)
$puts(ygap,$sub(%_height%,680))$char(10)
$puts(offsetx,$mod($add(%_length_seconds%,$len(%title%),$len(%artist%),$len(%artist%),$len(%performer%),%date%),$get(xgap)))
$char(10)
$puts(offsety,$mod($add(%_length_seconds%,$len(%title%),$len(%artist%),$len(%artist%),$len(%performer%)),$get(ygap)))
//Auto resizing text for title tag
$font(,36,,)
$alignabs($add(0,$get(offsetx)),$add(0,$get(offsety)),1000,160,center,middle)
$puts(txt2,$ifgreater($calcwidth(%title%),$mul(2,$get(wide)),
$ifgreater($calcwidth(%title%),$mul(3,$get(wide)),
$ifgreater($calcwidth(%title%),$mul(4,$get(wide)),
24,26),28),36))
$font(,$get(txt2),,)$if(%_isplaying%,$rgb(255,255,0)[%title%],[%title%])
I set up a big info display with many boxes for the various tags.
To mimic a screensaver, at the start of a new track I recalculate the origin point of all the display so to make the boxes move to a different point than before. You can get rid of that replacing the "offsetx" and "offsety" with static x and y points in the first line after the font 36 one.
The title info box can hold 2 lines of text.
Feel free to ask for other explanation.
If anybody is interested, I also have set up an auto-vertical-scrolling for another info box.
Is it known that the window of this plugin steals the focus from others windows over it?
(Not sure if the term "steals the focus" is correct but if I open the properties over it and then try to click on it to drag it nothing happens unless I can click it in an area that is not over the trackinfomod panel.)
Thanks.
Here's the rating code that I've been using for a while. It works like WMP stars and is based on a scale of 1-10 so you can have half stars. I also made it so that you could change the size and position of the stars easily using variables:
//Start Variables
$puts(ratewidth,90)
$puts(xpos,15)
$puts(ypos,2)
$puts(imagedir,C:\Program Files\foobar2000\images\Ratings\)
//End Variables
$drawrect(,,,,brushcolor-SYSCOL-15 pencolor-null)
$puts(rating,$ifgreater(%RATING%,10,$puts(rate,$div($add(%RATING%,5),10)),$puts(rate,%RATING%)))
$imageabs2($get(ratewidth),$div($get(ratewidth),5),,,,,$get(xpos),$get(ypos),$get(imagedir)$if2(%rating%,0).png,alpha-95)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),9),0,$get(ratewidth),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'10.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'10.png,alpha-115)',TAG:SET:Rating:10,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),8),0,$mul($div($get(ratewidth),10),9),20,'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'9.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'9.png,alpha-115)',TAG:SET:Rating:9,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),7),0,$mul($div($get(ratewidth),10),8),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'8.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'8.png,alpha-115)',TAG:SET:Rating:8,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),6),0,$mul($div($get(ratewidth),10),7),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'7.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'7.png,alpha-115)',TAG:SET:Rating:7,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),5),0,$mul($div($get(ratewidth),10),6),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'6.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'6.png,alpha-115)',TAG:SET:Rating:6,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),4),0,$mul($div($get(ratewidth),10),5),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'5.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'5.png,alpha-115)',TAG:SET:Rating:5,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),3),0,$mul($div($get(ratewidth),10),4),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'4.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'4.png,alpha-115)',TAG:SET:Rating:4,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),2),0,$mul($div($get(ratewidth),10),3),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'3.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'3.png,alpha-115)',TAG:SET:Rating:3,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),1),0,$mul($div($get(ratewidth),10),2),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'2.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'2.png,alpha-115)',TAG:SET:Rating:2,)
$button2($get(xpos),$get(ypos),$mul($div($get(ratewidth),10),0),0,$mul($div($get(ratewidth),10),1),$div($get(ratewidth),5),'$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'1.png,alpha-25)','$imageabs2('$get(ratewidth)','$div($get(ratewidth),5)',,,,,,,'$get(imagedir)'1.png,alpha-115)',TAG:SET:Rating:1,)
$button2(0,0,0,0,$get(xpos),$div($get(ratewidth),5),,,TAG:SET:Rating:0,)
And use the images I uploaded here (make sure to set imagedir to wherever you extract them):
http://www.mytempdir.com/1131194 (http://www.mytempdir.com/1131194)
Now if only I could figure out how to get that tagging progressbar not to show up
Damn id like to use that system, i changed the image dir to my specs but the images dont show up.... the rating system works
Hi all
Is there some kind of syntax that will allow the $button function to run two commands at a time?
something like this:
$button(DstX,DstY,X,Y,W,H,IMAGE1,IMAGE2,CMD1;CMD2,OPTIONS)
Thanks
updated with a couple of little things + tag operations use the new async tag functions, so no more updating tag dialog.
Damn id like to use that system, i changed the image dir to my specs but the images dont show up.... the rating system works
Make sure you have a "\" at the end of the path.
Also, the newest version of the panel seems to have messed up the button and image alignment in my rating code. Ill have to play with it and figure out what's going on. Terrestrial, do you have a copy of the previous version (before the version released today) uploaded somewhere?
I would also like to request a couple of features. First, would it be possible to make persistent variables global to all trackinfo panels and SCPL? Second, could you maybe make some kind of support for multiple selections? Maybe you could have an alternate code box which would be shown when multiple tracks are selected, or just a code section like "//Multiple Items" I made a style tagging panel, but its not really useful right now because I can only tag one track at a time.
nope, I don't keep older binaries. If you have more details on your problem I can try and fix it for the next version, though
Both the feature requests are already on the todo list
... I place a picture of the artist...
Where did you find them?
Thanks.
I couldn't get my text buttons to work and then I took this piece of code of the wiki and found out it also doesn't work
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
so what's wrong with it or what do I have to do to get it to work? I have also noticed that alphaex32 rating code doesn't work correctly anymore. The text is just displayed wrong just try it out...
please fix this and great plugin by the way
I noticed the same problem, too.
However, it seems that the cause is not progressive jpeg format but an embedded thumbnail image.
It's nice when people find the problem, and then diagnose the cause also
Do you plan to make a "fix" for this issue?
Question: is it possible for $button to access context menu commands from foo_utils? When I had a "regular" button toolbar (before I started trying to convert my buttons into trackinfo_mod buttons), I had a button called "Insert into Playlist Bla" that triggered the command "Edit Other/Insert Into Specified Playlist/Bla". But now that I'm trying to make a button to do the same thing in trackinfo_mod, I can't get it to work. I assume this is because that command comes from foo_utils? Or am I missing something?
Thanks,
-Nate
nope, I don't keep older binaries. If you have more details on your problem I can try and fix it for the next version, though
Both the feature requests are already on the todo list
I'm not sure exactly what the problem is, but the code that I was using before for my rating buttons just doesnt work the way it did before I upgraded. The button image and actual clickable area doesnt seem to be aligning correctly. Here's the code I'm using if you want to try it yourself, because I've tried cleaning it up rechecking everything, and I can't figure out what's wrong:
//Start Variables
$puts(ratewidth,90)
$puts(xpos,8)
$puts(ypos,2)
$puts(imagedir,C:\Program Files\foobar2000\images\Ratings\)
//End Variables
$drawrect(,,,,brushcolor-SYSCOL-15 pencolor-null)
$puts(rateheight,$div($get(ratewidth),5))
$puts(halfstar,$div($get(ratewidth),10))
$puts(rating,$ifgreater(%RATING%,10,$puts(rate,$div($add(%RATING%,5),10)),$puts(rate,%RATING%)))
$imageabs2($get(ratewidth),$get(rateheight),,,,,$get(xpos),$get(ypos),$get(imagedir)$if2(%rating%,0).png,alpha-95)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),9),0,$mul($get(halfstar),10),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'10.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'10.png,alpha-115)',TAG:SET:Rating:10,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),8),0,$mul($get(halfstar),9),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'9.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'9.png,alpha-115)',TAG:SET:Rating:9,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),7),0,$mul($get(halfstar),8),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'8.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'8.png,alpha-115)',TAG:SET:Rating:8,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),6),0,$mul($get(halfstar),7),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'7.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'7.png,alpha-115)',TAG:SET:Rating:7,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),5),0,$mul($get(halfstar),6),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'6.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'6.png,alpha-115)',TAG:SET:Rating:6,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),4),0,$mul($get(halfstar),5),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'5.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'5.png,alpha-115)',TAG:SET:Rating:5,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),3),0,$mul($get(halfstar),4),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'4.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'4.png,alpha-115)',TAG:SET:Rating:4,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),2),0,$mul($get(halfstar),3),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'3.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'3.png,alpha-115)',TAG:SET:Rating:3,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),1),0,$mul($get(halfstar),2),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'2.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'2.png,alpha-115)',TAG:SET:Rating:2,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),0),0,$mul($get(halfstar),1),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'1.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'1.png,alpha-115)',TAG:SET:Rating:1,)
$button2(0,0,0,0,$get(xpos),$get(rateheight),,,TAG:SET:RATING:,)
And here are the images again: http://www.mytempdir.com/1131194 (http://www.mytempdir.com/1131194)
If anyone has a copy of the previous version so I can confirm this, please let me know.
... I place a picture of the artist...
Where did you find them?
I wrote a batch-script to download them from last.fm. I did this in C and used the URL2File command line app to do the downloading. Im working on making a service that other people can use yet does not give any undue and "impolite" strain on last.fm, this is also based on another's code and I need to receive their permission also.
I couldn't get my text buttons to work and then I took this piece of code of the wiki and found out it also doesn't work
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
you need single quotes around the code in the button:
$button2(0,0,0,0,30,13,'$font(tahoma,8,,0-0-0)Forward','$font(tahoma,8,underline,0-0-0)Forward','Seek ahead by 10 seconds',)
I noticed the same problem, too.
However, it seems that the cause is not progressive jpeg format but an embedded thumbnail image.
It's nice when people find the problem, and then diagnose the cause also
Do you plan to make a "fix" for this issue?
It should be fixed. (ie not use embedded thumbnails anymore).
Question: is it possible for $button to access context menu commands from foo_utils? When I had a "regular" button toolbar (before I started trying to convert my buttons into trackinfo_mod buttons), I had a button called "Insert into Playlist Bla" that triggered the command "Edit Other/Insert Into Specified Playlist/Bla". But now that I'm trying to make a button to do the same thing in trackinfo_mod, I can't get it to work. I assume this is because that command comes from foo_utils? Or am I missing something?
Thanks,
-Nate
should be no problem. the command has to match exactly though.
I'm not sure exactly what the problem is, but the code that I was using before for my rating buttons just doesnt work the way it did before I upgraded. The button image and actual clickable area doesnt seem to be aligning correctly. Here's the code I'm using if you want to try it yourself, because I've tried cleaning it up rechecking everything, and I can't figure out what's wrong:
I see the problem. Try this code:
//Start Variables
$puts(ratewidth,90)
$puts(xpos,8)
$puts(ypos,2)
$puts(imagedir,C:\Program Files\foobar2000\images\Ratings\)
//End Variables
$drawrect(,,,,brushcolor-SYSCOL-15 pencolor-null)
$puts(rateheight,$div($get(ratewidth),5))
$puts(halfstar,$div($get(ratewidth),10))
$puts(rating,$ifgreater(%RATING%,10,$puts(rate,$div($add(%RATING%,5),10)),$puts(rate,%RATING%)))
$imageabs2($get(ratewidth),$get(rateheight),,,,,$get(xpos),$get(ypos),$get(imagedir)$if2(%rating%,0).png,alpha-95)
$button2(0,0,0,0,$get(xpos),$get(rateheight),,,TAG:SET:RATING:,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),0),0,$mul($get(halfstar),1),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'1.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'1.png,alpha-115)',TAG:SET:Rating:1,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),1),0,$mul($get(halfstar),2),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'2.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'2.png,alpha-115)',TAG:SET:Rating:2,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),2),0,$mul($get(halfstar),3),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'3.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'3.png,alpha-115)',TAG:SET:Rating:3,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),3),0,$mul($get(halfstar),4),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'4.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'4.png,alpha-115)',TAG:SET:Rating:4,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),4),0,$mul($get(halfstar),5),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'5.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'5.png,alpha-115)',TAG:SET:Rating:5,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),5),0,$mul($get(halfstar),6),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'6.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'6.png,alpha-115)',TAG:SET:Rating:6,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),6),0,$mul($get(halfstar),7),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'7.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'7.png,alpha-115)',TAG:SET:Rating:7,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),7),0,$mul($get(halfstar),8),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'8.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'8.png,alpha-115)',TAG:SET:Rating:8,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),8),0,$mul($get(halfstar),9),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'9.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'9.png,alpha-115)',TAG:SET:Rating:9,)
$button2($get(xpos),$get(ypos),$mul($get(halfstar),9),0,$mul($get(halfstar),10),$get(rateheight),'$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'10.png,alpha-25)','$imageabs2('$get(ratewidth)','$get(rateheight)',,,,,,,'$get(imagedir)'10.png,alpha-115)',TAG:SET:Rating:10,)
The button order is just reversed. In previous versions, with overlapping buttons the last one would get executed, while the newer one executes the first one.
The button order is just reversed. In previous versions, with overlapping buttons the last one would get executed, while the newer one executes the first one.
Thank you so much, I was afraid that something had gone horribly wrong after the update. It works great!
Report on the cpu problem again. I found out fb2k consumes much (75%) cpu with an empty PerSeconds section when the panel is in full screen, 1024x768 on my notebook. When the panel is e.g. lke 50x100, fb2k only uses 5% cpu.
So this seems like a redraw inefficiency. If redrawing is that consuming on my notebook I wish the plugin would do it more efficiently?!
Do you plan to make a "fix" for this issue?
It should be fixed. (ie not use embedded thumbnails anymore).
Thank you very much!
Now I only need to download
high res artist pictures for all of my artists (hrrr):
(http://www.galsch.de/files/open/screenshots/2007-01-09-fb2k-htpc-1-thumb.png) (http://www.galsch.de/files/open/screenshots/2007-01-09-fb2k-htpc-1.png)
Is it possible to make the rating system like iTunes where there are blank stars for unrated tracks then you can click and rate within the info panel?
I'm pretty new to trackinfo mod and I know that there are many way better ways of doing this but if you put two imagefiles in your Images directory named greystar.png and yellowstar.png and then insert this code you should have something simular
$select(%rating%,
$puts(status1,yellow),
$puts(status1,yellow)$puts(status2,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow)$puts(status5,yellow))
$button(5,HORISONTAL Position,0,0,0,0,Images\$if3($get(status1),grey)star.png,Images\yellowstar.png,TAG:SET:rating:1,)
$button(23,HORISONTAL Position,0,0,0,0,Images\$if3($get(status2),grey)star.png,Images\yellowstar.png,TAG:SET:rating:2,)
$button(41,HORISONTAL Position,0,0,0,0,Images\$if3($get(status3),grey)star.png,Images\yellowstar.png,TAG:SET:rating:3,)
$button(59,HORISONTAL Position,0,0,0,0,Images\$if3($get(status4),grey)star.png,Images\yellowstar.png,TAG:SET:rating:4,)
$button(77,HORISONTAL Position,0,0,0,0,Images\$if3($get(status5),grey)star.png,Images\yellowstar.png,TAG:SET:rating:5,)
and of course change the HORISONTAL Position to what suites you ;)
I tried your code but I am unsure where the images should go and also how to align the rating star buttons to the bottom. Thank you for your time.
Report on the cpu problem again. I found out fb2k consumes much (75%) cpu with an empty PerSeconds section when the panel is in full screen, 1024x768 on my notebook. When the panel is e.g. lke 50x100, fb2k only uses 5% cpu.
So this seems like a redraw inefficiency. If redrawing is that consuming on my notebook I wish the plugin would do it more efficiently?!
did you do the bitblt benchmark?
found it...
Hi terrestrial,I want to hank you again for this wonderful pugin,it's hard to find a config thisdays that doesn't use your components,but i have a little request:I have an albumart dispalyed in the trackinfo mod,it works fine,except for one minor issue:every time a track chages it keeps allocating additional RAM,I mean it doesn' t
frees up the memory allocated for the previous track pic when moving to the next one.So my question is:is it possible to free up the memory allocated for the image when a track changes or is it impossible during to SDK
limitations?Would like to se it implemented (if possible),thanks for your time.
$if(%rating%,
$select(%rating%,
$puts(status1,yellow)$puts(status2,grey)$puts(status3,grey)$puts(status4,grey)$puts(status5,grey),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,grey)$puts(status4,grey)$puts(status5,grey),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,grey)$puts(status5,grey),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow)$puts(status5,grey),
$puts(status1,yellow)$puts(status2,yellow)$puts(status3,yellow)$puts(status4,yellow)$puts(status5,yellow)),
$puts(status1,grey)$puts(status2,grey)$puts(status3,grey)$puts(status4,grey)$puts(status5,grey)
)
$button(1,184,0,0,0,0,Images\$if3($get(status1),grey)star.png,Images\yellowstar.png,TAG:SET:rating:1,)
$button(18,184,0,0,0,0,Images\$if3($get(status2),grey)star.png,Images\yellowstar.png,TAG:SET:rating:2,)
$button(35,184,0,0,0,0,Images\$if3($get(status3),grey)star.png,Images\yellowstar.png,TAG:SET:rating:3,)
$button(52,184,0,0,0,0,Images\$if3($get(status4),grey)star.png,Images\yellowstar.png,TAG:SET:rating:4,)
$button(69,184,0,0,0,0,Images\$if3($get(status5),grey)star.png,Images\yellowstar.png,TAG:SET:rating:5,)
$if(%mood%,
$select(%mood%,
$puts(status1,red)$puts(status2,grey)$puts(status3,grey),
$puts(status1,red)$puts(status2,red)$puts(status3,grey),
$puts(status1,red)$puts(status2,red)$puts(status3,red)),
$puts(status1,grey)$puts(status2,grey)$puts(status3,grey)
)
$button(150,184,0,0,0,0,Images\$if3($get(status1),grey)heart.png,Images\redheart.png,TAG:SET:mood:1,)
$button(167,184,0,0,0,0,Images\$if3($get(status2),grey)heart.png,Images\redheart.png,TAG:SET:mood:2,)
$button(183,184,0,0,0,0,Images\$if3($get(status3),grey)heart.png,Images\redheart.png,TAG:SET:mood:3,)
(%isplaying%,
// PerSecond
$rgb(245,245,245)Artist: $rgb()$rgb(255,135,0)%album artist%$char(10)$rgb()
$rgb(245,245,245)Album: $rgb()$rgb(255,135,0)%album%$char(10)$rgb()
$rgb(245,245,245)Title: $rgb()$rgb(255,135,0)%title%$char(10)$rgb()
$char(10)
//---------------------------// <---------(THIS PART SHIFTS ON TOP)
$rgb(245,245,245)Duration: $rgb(255,255,200)[%_time_elapsed%]$rgb() $rgb(245,245,245)/ $rgb()$rgb(255,135,0)%_length%$rgb()
//ADDITIONAL CODE FOR PROGRESS BAR//
$puts(progchar,|)
$puts(progfore,0000ff)
$puts(progback,999999)
$puts(proglength,85)
$char(10)
$get(head)$get(file)
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglength),$get(progfore)$get(progchar),$get(progback)$get(progchar))$get(bright) $rgb(255,255,0)$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)'%'
//END OF CODE
$char(10)
$char(10)
$rgb(245,245,245)Codec: $rgb()$rgb(255,135,0)%codec%$rgb()$char(10)
$rgb(245,245,245)Bitrate: $rgb()$rgb(255,255,200)%bitrate%$rgb()$rgb(255,255,0) kbps $rgb()$rgb(255,255,200)%codec_profile% $char(10)$rgb()
$rgb(245,245,245)Filesize: $rgb()$rgb(255,255,200)$div(%_filesize%,1048576).$num($div($mul($mod(%_filesize%,1048576),100),1048576),2)$rgb()$rgb(255,255,0) MB $char(10) $rgb()
$rgb(245,245,245)Samplerate: $rgb()$rgb(255,255,200)%samplerate%$rgb()$rgb(255,135,0) Hz %channels% $char(10)$rgb()
$char(10)
$rgb(245,245,245)Played: $rgb()$rgb(255,255,200)%play_counter%$rgb()$rgb(255,135,0) times $char(10)$rgb()
This my code for my display and I also and going to add a screenshot plus the icons for the hearts and stars.
Screenshot (http://www.geocities.com/redmoon_rise/screenshot2.jpg)
The stars and hearts in the track info window are actually clickable and will edit the tracking rating or mood and can also be easily changed with any image too. I just figured I would share everything with you.
Grey Heart (http://www.geocities.com/redmoon_rise/greyheart.png)
Grey Star (http://www.geocities.com/redmoon_rise/greystar.png)
Red Heart (http://www.geocities.com/redmoon_rise/redheart.png)
Yellow Star (http://www.geocities.com/redmoon_rise/yellowstar.png)
Screenshot (http://www.geocities.com/redmoon_rise/screenshot2.jpg)
could you add an imageshack version, too?
Any chance of letting trackinfo panel to read from external files or databases?
I'd like to show last.fm wiki and tag information with my tracks.
Here's the trackinfo I just finished last night. First to give credit where credit is due, the original coding is not mine. You can see the credits at the top of the code. However, this was for the original version of trackinfo I think, so I've recoded it for the newest trackinfo_mod. It's also been tweaked to display what I want, and I removed the playcount code cause I don't use it.
The main reason I'm posting it is it's my first shot at buttons and images in trackinfo. I thought it would be useful since the placement of all elements and the sizing of the albumart+overlay is dynamic based on the size of your trackinfo panel. The images will grow and shrink with the panel (contrary to the trackinfo_mod wiki, you can stretch an image to greater than it's original size with the $imageabs2() function if you enable nokeepaspect).
Some tweaking may be necessary to the initial placement of elements depending on your screen resolution, but after that it should take care of itself. I'll try to make it clear in the comments. You'll also need a default.jpg image in case of no albumart.
A link to the images used for the cd case overlay and the buttons, and a screenshot are at the bottom. The overlay pic is from a thread in the uploads forums about album art overlay images. I'm using the newest version of uie_trackinfo_mod v0.8.0 beta dated Jan. 5th. Thanks to everyone from whom I borrowed stuff!
Questions and comments encouraged!
// Original code by necropimp, then modified by AstreaEdge, and again by KockRoach
// Habla likes things his way, and modified it more.
// Best viewed with vert pad 10, hor pad 8, line space 3, Calibri 8pt bold font, black background
// lots of info needs lots of space 8)
// !!!!BEGIN USER CONFIGURATION!!!!
// Global
// Show Artist? (1 = show, 0 = don't show)
$puts(arts,1)
// Show Album?
$puts(albs,1)
// Show Title?
$puts(tils,1)
// Info Heading Color e.g. "Title:"
$puts(head,$rgb(201,201,201))
// Info Color, e.g. "Black Dog"
$puts(info,$rgb(255,255,255))
// Info Annotation Color (e.g . "kbps" is the annotation)
$puts(anno,$rgb(255,255,255))
// Separator
$puts(text2,$rgb(255,255,255))
$puts(glow,$font(Calibri,8,bold glow-255-0-0 glowalpha-120,))
$puts(orig,$font(Calibri,8,bold,))
$puts(text1,$rgb(255,0,0))
$puts(fadeend,$rgb(0,0,0))
$puts(seplen,32)
$puts(sepchar,'-')
// Define center of panel
$puts(cenPx,$div(%_width%,2))
// Define starting height of info, button, and progress bar elements
$puts(infoY,$sub(%_height%,270))
$puts(butY,$sub(%_height%,63))
$puts(progY,$add($get(butY),38))
// Define case and art dynamic values
// Case width and height (pic has case and overlay as one)
$puts(caseW,$sub(%_width%,30))
$puts(caseH,$muldiv(400,$get(caseW),445))
// Old code with separate gloss overlay
//$puts(glossW,$muldiv(303,$get(caseW),360))
//$puts(glossX,$add($muldiv(45,$get(caseW),360),0))
//$puts(glossY,$add($muldiv(12,$get(caseH),330),4))
// Art width and height
$puts(artW,$muldiv(400,$get(caseW),445))
$puts(artX,$add($muldiv(45,$get(caseW),445),15))
// Border around case+art
$puts(border,15)
// Background
// Code for optional bg image
//$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,/components\default.jpg,alpha-40 nokeepaspect)
////////////////////////////////////////////////
////!!!END USER CONFIGURATION!!////
//////////////////////////////////////////////
// PerTrack
// Art is bottom layer, if no art then use a default image
$imageabs2($get(artW),$get(artW),0,0,$get(artW),$get(artW),$get(artX),$get(border),
$if($fileexists($replace(%path%,%filename_ext%,'folder.jpg')),
$replace(%path%,%filename_ext%,'folder.jpg')
,
'/components\default.jpg'
),valign-t nokeepaspect)
// CD case overlay
$imageabs2($get(caseW),$get(caseH),0,0,$get(caseW),$get(caseH),$get(border),$get(border),'/images\case\case2.png',valign-t nokeepaspect)
// Button code
$button($sub($get(cenPx),90),$get(butY),12,8,20,20,'/images\red\stop.png','/images\red\stopR_h.png','Stop',)
$button($sub($get(cenPx),54),$get(butY),0,8,36,20,'/images\red\prev.png','/images\red\prevR_h.png','Previous',)
$button($sub($get(cenPx),18),$get(butY),0,0,36,36,'/images\red\playR.png','/images\red\playR_h2.png','Play or pause',)
$button($add($get(cenPx),18),$get(butY),0,8,36,20,'/images\red\next.png','/images\red\nextR_h.png','Next',)
$button($add($get(cenPx),54),$get(butY),8,8,20,20,'/images\red\mute.png','/images\red\muteR_h.png','Volume mute',)
// PerSecond
// SONG INFO SEPARATOR
$alignabs(0,$get(infoY),%_width%,%_height%,center,top)
'#LINEHEIGHT,16#'
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(glow)$get(text2)S o n g I n f o $get(orig)$get(text1)']'$transition($repeat($get(sepchar),$get(seplen)),$get(text1),$get(fadeend))$char(10)
$if($strcmp(1,$get(arts)),$get(head)Artist: $get(info)[%artist%]$char(10),)
$if($strcmp(1,$get(albs)),$if(%album%,$get(head)Album: $get(info)$cut(%album%,37)
$ifgreater($len(%album%),37,'...',)$char(10),),)
$if($strcmp(1,$get(tils)),$get(head)Title: $if(%title%,$get(info)$cut(%title%,39)
$ifgreater($len(%title%),39,'...',))$char(10),$get(info)[%_filename%]$char(10))
$if(%tracknumber%,$get(head)Track #: $get(info)%tracknumber%$char(10),)
$if(%date%,$get(head)Date: $get(info)%date%$char(10),)
$if(%genre%,$get(head)Genre: $get(info)%genre%$char(10),)
// TECH INFO SEPARATOR
$char(10)
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(glow)$get(text2)T e c h I n f o $get(orig)$get(text1)']'$transition($repeat($get(sepchar),$get(seplen)),$get(text1),$get(fadeend))$char(10)
$get(head)Length: $if(%_length%,$get(info)$if(%isplaying%,%_time_elapsed%$get(anno)$if(%_length%, / %_length%,)$if(%_time_elapsed%, / $muldiv(%_time_elapsed_seconds%,100,%_length_seconds%)'%')$if(%_length%, / -%_time_remaining%),%_length%),$if(%isplaying%,$get(info)Streaming [%_time_elapsed%],))$char(10)
$get(head)Quality: $if(%__codec%, $get(info)%__codec% $get(info)
$if2(%__bitrate_dynamic%,[%__bitrate%]) $get(anno)Kb/s $if($stricmp(%__codec%,mp3),[%__codec_profile%]),)
$char(10)
$if(%__lame_version%,$get(head)Encoder: $get(info)$left(%__lame_version%,4) $right(%__lame_version%,4) [$upper(%__lame_profile%)]$char(10),)
$if(%__flac_vendor%,$get(head)Encoder: $get(info)$if($stricmp(%__flac_vendor%,reference libFLAC 1.1.2 20050205),FLAC 1.1.2 -8)$char(10),)
$if(%__mpc_profile%,$get(head)MPC Profile: $get(info)%__mpc_profile%$char(10),)
// $get(head)Compression: $get(info)$div(1411,%__bitrate%).$substr($muldiv(1411,100,%__bitrate%),2,3):1 '('$get(info)$muldiv(%__bitrate%,100,1411)$get(anno)'% of original quality)'$char(10)
$get(head)Channel Mode: $get(info)$if($stricmp($codec(),MP3),$get(space2)$caps(%__mp3_stereo_mode%),
$if(%__channels%,$ifgreater(%__channels%,1,Stereo,Mono),))$char(10)
$if(%__bitspersample%,$get(head)Bitdepth: $get(info)%__bitspersample% bits/sample$char(10),)
$get(head)Samplerate: $get(info)$if(%__samplerate%,$div(%__samplerate%,1000).$substr(%__samplerate%,3,3) KHz $char(10),$char(10))
$if(%_filesize%,$get(head)Filesize: $get(info)
$div(%_filesize%,1048576).$left($num($muldiv($mod(%_filesize%,1048576),100,1048576),2),2) $get(anno)'MB'$char(10),)
$get(head)Focus: $get(info)$if(%_trackinfo_nowplaying%,'Current Song'$if(%ispaused%,$get(text1)' [Paused]'),'Follow Cursor'$if(%ispaused%,$get(text1)' [Paused]'))$char(10)
$alignabs(0,$get(progY),%_width%,20,center,top)
$if(%isplaying%,$if(%_length%,$get(head)o$progress(%_time_elapsed_seconds%, %_time_total_seconds%,$div(%_width%,4),$font(Times New Roman,8,,)$get(info)$char(9835)$get(orig),$get(text1)'-')$get(head)o))
images (http://rapidshare.com/files/11210741/images.7z.html)
(http://img241.imageshack.us/img241/5121/trackinforj4.th.png) (http://img241.imageshack.us/my.php?image=trackinforj4.png)
Question: is it possible for $button to access context menu commands from foo_utils? When I had a "regular" button toolbar (before I started trying to convert my buttons into trackinfo_mod buttons), I had a button called "Insert into Playlist Bla" that triggered the command "Edit Other/Insert Into Specified Playlist/Bla". But now that I'm trying to make a button to do the same thing in trackinfo_mod, I can't get it to work. I assume this is because that command comes from foo_utils? Or am I missing something?
Thanks,
-Nate
should be no problem. the command has to match exactly though.
Hi terrestrial-
Thanks for the reply. Ok, then, I guess I must be misunderstanding something here.
I assumed that the code would be:
$button(120,120,0,0,40,40,IMAGES\button9.png,IMAGES\button9.png,Insert into Specified Playlist\Bla,)
but that's not working. I tried a couple of obvious tinkers with that code, but couldn't get anything to work. I assume it's something to do with the slash separating the command from the playlist name, but I can't figure out how else to specify the targeted playlist. What am I missing here?
Thanks,
-Nate
I have a question about imageabs2. Why isn't it possible to increase the size of images? I'd love to display covers with trackinfo instead of albumart but I don't have high res covers for all my albums. I never found any answers for that in this thread.
... I place a picture of the artist...
Where did you find them?
Thanks.
The artist image download service I mentioned is now up and running, check this thread for details:
http://www.hydrogenaudio.org/forums/index....showtopic=51736 (http://www.hydrogenaudio.org/forums/index.php?showtopic=51736)
I have a question about imageabs2. Why isn't it possible to increase the size of images? I'd love to display covers with trackinfo instead of albumart but I don't have high res covers for all my albums. I never found any answers for that in this thread.
I'm not sure why the wiki says that. I use $imageabs2() currently in trackinfo_mod to display albumart and the image will stretch larger if you use NOKEEPASPECT. See my post about 5 back.
I just had an idea... and I highly doubt its possible (or easy as a matter of fact lol), but I was thinking about a feature that would be cool for this plugin. We already have the ability to assign images/text to commands and buttons. Why not have an option to assign OTHER plugins to areas inside track info mod?
For example:
$newpanel(areaWidth,areaHeight,areaLeft,areaTop,panelOptions)
With something like this, we could include the lyrics panel to scroll lyrics inside the track info mod like this:
$newpanel(500,700,50,200,foo_uie_lyrics_panel)
Then of course that panel would be configurable from its own code, and no longer related to track info mod other than the fact that track info mod would be displaying it.
I think this would be cool... if it were possible.
If terrestrial could do this, then we will enter in a new foobar appearance age.
There isn't a possibility to write text vertically, is there?
I have a problem on Windows Vista. I can't seem to get things to update properly. My time elapsed and my progress bar no longer work. They update if I press Pause, Minimize or Maximize the screen, and switch between Follow Cursor & Now Playing Modes. Also, if the song I am listening to is VBR it doesn't update either. Here is the code I am using:
Time Elapsed
Length: $get(default)%_time_elapsed% / %_length%
Progress Bar
$puts(progress_char,'׀')
$puts(progress_length,90)
$puts(progressbar,$if(%length_seconds%,$puts(progress,$muldiv(%playback_time_seconds%,$get(progress_length),%length_seconds%))
$transition($repeat($get(progress_char),$get(progress)),$get(progress1),$get(progress1))
$transition($repeat($get(progress_char),$sub($get(progress_length),$get(progress))),$get(progress2),$get(progress2))$char(10)
$get(default)$pad_right($muldiv(%_time_elapsed_seconds%,100,%_length_seconds%),3)'%'
,))
$get(progressbar))
Bitrate
Bitrate: $get(default)$if(%__bitrate_dynamic%,%__bitrate_dynamic%,%__bitrate%)kbps $if($stricmp(%__codec%,mp3),$if($stricmp(%__extrainfo%,VBR),VBR,CBR)) $char(10)
This config worked perfectly under XP, but know is not working at all. Any suggestions?
i have the same problem here in with vista... worked fine on XP too..
JGray: Do you have a line anywhere in your code that looks like this?:
// PerSecond
If not, add it to the top of your code and see if that solves your problem.
Is it possible to have hyperlinks in the trackinfo panel?
JGray: Do you have a line anywhere in your code that looks like this?:
// PerSecond
If not, add it to the top of your code and see if that solves your problem.
Nope, I don't think that I do. I will check it on Monday morning. It is on my work PC.
Thanks for the suggestion!
worked for me... but the buttons stopped working..
edit:
emm,
// PerTrack
fixed it, but i should adjust it to the code.
thank you.
I cant get the panel to display images at all. Am I doing something wrong? Ive tried:
// Background
$imageabs(0,0,D:\Erich\Music\Album\iPod\%artist%\%album%\test.jpg,flow alpha-150)
// Background
$imageabs(0,0,D:\Erich\Music\Album\iPod\Matt Pond PA\(2004-05-18) Emblems\test.jpg,flow alpha-150)
and relative paths as well. But the images never show up. I hope im doing something wrong here.
I cant get the panel to display images at all. Am I doing something wrong? Ive tried:
// Background
$imageabs(0,0,D:\Erich\Music\Album\iPod\%artist%\%album%\test.jpg,flow alpha-150)
// Background
$imageabs(0,0,D:\Erich\Music\Album\iPod\Matt Pond PA\(2004-05-18) Emblems\test.jpg,flow alpha-150)
and relative paths as well. But the images never show up. I hope im doing something wrong here.
relative paths to what?
$imageabs(0,0,erichPics\test.jpg,flow alpha-150)
would reference (no profile support):
C:\Program Files\Foobar 2000\erichPics\test.jpg
or (with profile support)
C:\Documents and Settings\USERNAME\Application Data\foobar2000\erichPics\test.jpg
to use absolute paths you need to use $imageabs2()
got it,. thanks.
quick request, the ability to rotate text the same way you can rotate images.
is it possible to have buttons or clickable areas in the track info panel?
I'd like to click on those stars to rate my music kinda like in wmplayer. thanks
there are many examples of that in this thread.
JGray: Do you have a line anywhere in your code that looks like this?:
// PerSecond
If not, add it to the top of your code and see if that solves your problem.
That took care of it! Thanks for the help!
there are many examples of that in this thread.
thanks and sorry i didn't look at it before.
Does somebody has a config with the 5 "layers" of stars when multiple stars get lighten on mouse over, somebody talked about that earlier.
Does somebody has a config with the 5 "layers" of stars when multiple stars get lighten on mouse over, somebody talked about that earlier.
I use this:
$alignabs($sub(%_width%,100),$sub(%_height%,118),80,20,right,)
$font(wingdings,8,shadow,150-150-150)$repeat(?,5)
$alignabs($sub(%_width%,100),$sub(%_height%,118),80,20,right,)
$font(wingdings,8,shadow,255-255-255)$repeat(?,%rating%)
$button2($sub(%_width%,30),$sub(%_height%,118),0,0,10,10,'$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255) ','$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255)?',TAG:SET:rating:1,)
$button2($sub(%_width%,40),$sub(%_height%,118),0,0,10,10,'$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255) ','$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255)?',TAG:SET:rating:2,)
$button2($sub(%_width%,50),$sub(%_height%,118),0,0,10,10,'$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255) ','$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255)?',TAG:SET:rating:3,)
$button2($sub(%_width%,60),$sub(%_height%,118),0,0,10,10,'$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255) ','$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255)?',TAG:SET:rating:4,)
$button2($sub(%_width%,70),$sub(%_height%,118),0,0,10,10,'$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255) ','$font(wingdings,8,glow-75-80-120 glowalpha-10,220-220-255)?',TAG:SET:rating:5,)
Try this.
how do i align something to the right? $char(9) doesnt work in this one...
how do i create a vertical or horizontal buffer? so it doesnt stay in the extreme topleft of the box.
$alignabs(10,10,100,100,right,)
Where the first two parameters (10,10) specify the starting position of the text window and the second two parameters (100,100) specify the width and height of the text window. The fifth parameter (right) determines how to justify the text within that window.
you, by the way, win the contest for most helpful poster.
sorry, everyone else.
I am trying to figure out how to get the album art to load like in the album art panel where it find the picture by checking various locations and all I have been able to do is load some background images and such.
Can anyone point me in the right directions to finding the album art?
GreenSmurf: Post the source strings you use in albumart, and an $imageabs2() function from your current layout so we can see how you want to position the image. It shouldnt be hard to put the two together. Basically you'll want to use a layering approach for each image source:
$imageabs2(100,100,,,,,10,10,/images\nocover.*)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,folder.jpg)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,[%album artist% - ]%album%.*)
you, by the way, win the contest for most helpful poster.
sorry, everyone else.
I second that
i had this in my old trackinfo -->
$tab()
$select($add(1,$mod(%_time_elapsed_seconds%,10))
, o $tab()$char(10)$tab()<!>$tab()$char(10)$tab()< >
, o/$tab()$char(10)$tab()<! $tab()$char(10)$tab() <>
, o>$tab()$char(10)$tab()<! $tab()$char(10)$tab() <>
,<o>$tab()$char(10)$tab() ! $tab()$char(10)$tab()< >
,<o/$tab()$char(10)$tab() ! $tab()$char(10)$tab()/ >
, o $tab()$char(10)$tab()'/!,'$tab()$char(10)$tab()/ >
, o $tab()$char(10)$tab()',!>'$tab()$char(10)$tab()>>
, o $tab()$char(10)$tab()'<!,'$tab()$char(10)$tab()<<
, o/$tab()$char(10)$tab()/! $tab()$char(10)$tab()>>
, o> $tab()$char(10)$tab()/! $tab()$char(10)$tab()/ >
)$tab()
that creates a dancing ascii-man like this -->
[a href="http://imageshack.us" target="_blank"]
edit:i got it -->
// PerSecond
$alignabs($div(%_width%,2),$div(%_height%,2),50,50,center,top)
$rgb(58,79,108)$select($add(1,$mod(%_time_elapsed_seconds%,10))
, o $char(10)<!>$char(10)< >
, o/$char(10)<! $char(10) <>
, o>$char(10)<! $char(10) <>
,<o>$char(10) ! $char(10)< >
,<o/$char(10) ! $char(10)/ >
, o $char(10)'/!,'$char(10)/ >
, o $char(10)',!>'$char(10)>>
, o $char(10)'<!,'$char(10)<<
, o/$char(10)/! $char(10)>>
, o> $char(10)/! $char(10)/ >
)
Hi terrestrial,I want to hank you again for this wonderful pugin,it's hard to find a config thisdays that doesn't use your components,but i have a little request:I have an albumart dispalyed in the trackinfo mod,it works fine,except for one minor issue:every time a track chages it keeps allocating additional RAM,I mean it doesn' t
frees up the memory allocated for the previous track pic when moving to the next one.So my question is:is it possible to free up the memory allocated for the image when a track changes or is it impossible during to SDK
limitations?Would like to se it implemented (if possible),thanks for your time.
I didn't originally write the image functions with album art in mind, so images, once used, are stored in memory for faster display later on. This, obviously, is ideal for buttons and icons, but not the best for album art. I've mean meaning to add an option to have images be cached "per track", but haven't had the chance to yet.
Thanks for the reply. Ok, then, I guess I must be misunderstanding something here.
I assumed that the code would be:
$button(120,120,0,0,40,40,IMAGES\button9.png,IMAGES\button9.png,Insert into Specified Playlist\Bla,)
but that's not working. I tried a couple of obvious tinkers with that code, but couldn't get anything to work. I assume it's something to do with the slash separating the command from the playlist name, but I can't figure out how else to specify the targeted playlist. What am I missing here?
Thanks,
-Nate
You just need "Bla" as the name of the button action.
I just had an idea... and I highly doubt its possible (or easy as a matter of fact lol), but I was thinking about a feature that would be cool for this plugin. We already have the ability to assign images/text to commands and buttons. Why not have an option to assign OTHER plugins to areas inside track info mod?
For example:
$newpanel(areaWidth,areaHeight,areaLeft,areaTop,panelOptions)
With something like this, we could include the lyrics panel to scroll lyrics inside the track info mod like this:
$newpanel(500,700,50,200,foo_uie_lyrics_panel)
Then of course that panel would be configurable from its own code, and no longer related to track info mod other than the fact that track info mod would be displaying it.
I think this would be cool... if it were possible.
there really wouldn't be any advantages to this. ColumnsUI's layout/positioning system is already very flexible (and easy to set up and use), and any plugins loaded "inside" trackinfo_mod wouldn't inherit its background, so the net result would be the same as what you can do now.
Thanks for the reply. Ok, then, I guess I must be misunderstanding something here.
I assumed that the code would be:
$button(120,120,0,0,40,40,IMAGES\button9.png,IMAGES\button9.png,Insert into Specified Playlist\Bla,)
but that's not working. I tried a couple of obvious tinkers with that code, but couldn't get anything to work. I assume it's something to do with the slash separating the command from the playlist name, but I can't figure out how else to specify the targeted playlist. What am I missing here?
Thanks,
-Nate
You just need "Bla" as the name of the button action.
Thanks terrestrial. I tried that, but that just deletes everything from the "Bla" playlist. I assume that this is because there are several commands that could be accessed with just the name "Bla" - i.e. the button action "Bla" could be interpreted as "Edit other/Add to specified playlist and play/Bla" or "Edit other/Remove from specified playlist and play/Bla" or "Edit other/Send to specified playlist and play/Bla". So if the button action "Bla" is all that is needed, how do I specify which of these "parent" commands to use?
-Nate
How do I stretch an image? I want the height to be static @ 3px and the width to be 100% of the trackinfo_mod area, and it should be placed at the bottom.
http://wiki.hydrogenaudio.org/index.php?ti...29#.24imageabs2 (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29#.24imageabs2)
This should do, what you want:
$imageabs2(%_width%,3,0,0,100,100,0,$sub(%_height%,3),PATH_TO_IMAGE,nokeepaspect)
This should do, what you want:
$imageabs2(%_width%,3,0,0,100,100,0,$sub(%_height%,3),PATH_TO_IMAGE,nokeepaspect)
You almost got it. I replaced both 100 with 0 and now it works. Thanks.
i have modified this script from wraithdu --> http://www.hydrogenaudio.org/forums/index....st&p=463439 (http://www.hydrogenaudio.org/forums/index.php?showtopic=47044&view=findpost&p=463439) to match my needs
the needed images are here --> http://rapidshare.com/files/12037958/images.rar.html (http://rapidshare.com/files/12037958/images.rar.html)
the config-script is here --> http://phpfi.com/194343 (http://phpfi.com/194343)
(http://img101.imageshack.us/img101/2923/zwischenablage04ov6.th.jpg) (http://img101.imageshack.us/my.php?image=zwischenablage04ov6.jpg)
Thanks for such a great component!!!
Apparently it's been asked already but i didn't find it via the search:
Any chance to have a function for getting image X Y resolutoin?
Also, has anyone figured out the way to cycle a bunch of images during a single track playback... the same way foo_uie_albumart component does it?
Thanks in advance!
Also, has anyone figured out the way to cycle a bunch of images during a single track playback... the same way foo_uie_albumart component does it?
find and count the images with $fileexist()
then
$mod(%playback_time_seconds%,$mul($gets(counter),15))
then
use $switch()
or something to that effect. Play with it, it'd be very doable.
oh yeah! Thanks! Looks like it should work! Theoretically I see the way to create a transition between them as well.
Does anyone know how to cut down a text to a specific width and adding ... at the end if it's too long? I've searched but I've been unable to find an answer.
Here is the width I want.
$sub($div(%_width%,2),38)
EDIT: Never mind. Found a solution here: http://www.hydrogenaudio.org/forums/index....;p=446174&# (http://www.hydrogenaudio.org/forums/index.php?showtopic=49783&st=0&p=446174&#)
oh yeah! Thanks! Looks like it should work! Theoretically I see the way to create a transition between them as well.
Please post back what you come up with. I'd be interested to see it, especially the transition between art.
GreenSmurf: Post the source strings you use in albumart, and an $imageabs2() function from your current layout so we can see how you want to position the image. It shouldnt be hard to put the two together. Basically you'll want to use a layering approach for each image source:
$imageabs2(100,100,,,,,10,10,/images\nocover.*)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,folder.jpg)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,[%album artist% - ]%album%.*)
Source Strings for Album Art
$replace(%path%,%filename_ext%,)*
-$replace(%path%,%filename_ext%,)..\*
-components\default.*
$imageabs2(100,100,,,,,10,10,/components\default.*))
$imageabs2(100,100,,,,,10,10,$replace(%path%,%directory%\%filename_ext%,*))
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,*))
EDIT: Sorry I forgot to close my functions properly.
$imageabs2(100,100,,,,,10,10,/components\default.*)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%directory%\%filename_ext%,*)
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,*)
I keep getting the error unknown funtion. Was there another release of info panel after 0.8beta?
Does anyone know how to cut down a text to a specific width and adding ... at the end if it's too long? I've searched but I've been unable to find an answer.
Here is the width I want.
$sub($div(%_width%,2),38)
EDIT: Never mind. Found a solution here: http://www.hydrogenaudio.org/forums/index....;p=446174&# (http://www.hydrogenaudio.org/forums/index.php?showtopic=49783&st=0&p=446174&#)
That link doesn't appear to be very specific and I'd like to offer a solution to the problem because I've seen this asked many times. This can be handled like so:
$puts(text,This is a string of text to test with)
$puts(width,$sub($div(%_width%,2),38))
$alignabs(4,4,$get(width),$calcheight(X),,)$get(text)
$ifgreater($calcwidth($get(text)),$get(width),
$alignabs($add(4,$get(width)),4,%_width%,$calcheight(X),,)...
,)
The only drawback to this approach is that there sometimes appears a gap between the last character of the text and the ellipse. If anyone has a better solution please post.
Is there any way to disable wordwrapping?
$if($fileexists($replace(%path%,%filename_ext%,*.jpg)),
$imageabs2($get(size),$get(size),,,,,$get(artX),$get(artY),$replace(%path%,%filename_ext%,*.jpg),),
$imageabs2($get(size),$get(size),,,,,$get(artX),$get(artY),$replace(%path%,%filename_ext%,../*.jpg),))
$if($fileexists($replace(%path%,%filename_ext%,*.png)),
$imageabs2($get(size),$get(size),,,,,$get(artX),$get(artY),$replace(%path%,%filename_ext%,*.png),),
$imageabs2($get(size),$get(size),,,,,$get(artX),$get(artY),$replace(%path%,%filename_ext%,../*.png),))
This is the code I have so far for the album art display.
I am trying to firgure out a way to keep the functionality the way it is but also to display when there is no album art.
Has anyone figured out how to make the progress bar clickable yet?
i have foo_uie_tabs is there a way to have a button which is not directly linked to one tab but works by:
if displaying tab 1 on click go to tab 2 & if displaying tab 2 on click go to tab 1?
I wanted this too, and there is a main menu command for it (Panel #0 Cycle Forward, 0 may be different), but it doesn't seem to work with trackinfo_mod..?
probably because of the '#'
Trackinfo mod has weird issues with #
Sorry to bump a "more than 1 month agged" question in this topic but there is some kind of solution with the #.
Follow the link to my post in foo_run thread. (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=45223&view=findpost&p=465490)
EDIT: Avoid posting when you are drunk :P
Please fix the bug where the format string edit box in the configuration window scrolls to the when you hit apply. It makes editing string almost impossible to debug and write scripts at the same time. Thank you.
Does anyone know if there is a more accurate way to trim long text. The problem is currently that the more text that is trimmed the more inaccurate it gets. Cuts more than necessary. This is basically what I currently use.
$left($get(tracktitle),$sub($sub($len($get(tracktitle)),
$div($sub($calcwidth($get(tracktitle)),$get(areaWidth)),$get(charWidth))),3))'...'
Does anyone know if there is a more accurate way to trim long text. The problem is currently that the more text that is trimmed the more inaccurate it gets. Cuts more than necessary. This is basically what I currently use.
$left($get(tracktitle),$sub($sub($len($get(tracktitle)),
$div($sub($calcwidth($get(tracktitle)),$get(areaWidth)),$get(charWidth))),3))'...'
If you're not using a fixed-width font, the string will vary in length. There's no way to get the length of a string of text in pixels to use for trimming purposes. Too bad that most fixed-width fonts are ugly.
Does anyone know if there is a more accurate way to trim long text. The problem is currently that the more text that is trimmed the more inaccurate it gets. Cuts more than necessary. This is basically what I currently use.
$left($get(tracktitle),$sub($sub($len($get(tracktitle)),
$div($sub($calcwidth($get(tracktitle)),$get(areaWidth)),$get(charWidth))),3))'...'
If you're not using a fixed-width font, the string will vary in length. There's no way to get the length of a string of text in pixels to use for trimming purposes. Too bad that most fixed-width fonts are ugly.
... and still there is a way
$calcwidth(text)
Seems counter-intuitive because of differing font sizes. Oh well.
^Since charWidth is $div($calcwidth(text),$len(text)) you can't make it more accurate without loops I think.
That link doesn't appear to be very specific and I'd like to offer a solution to the problem because I've seen this asked many times. This can be handled like so:
$puts(text,This is a string of text to test with)
$puts(width,$sub($div(%_width%,2),38))
$alignabs(4,4,$get(width),$calcheight(X),,)$get(text)
$ifgreater($calcwidth($get(text)),$get(width),
$alignabs($add(4,$get(width)),4,%_width%,$calcheight(X),,)...
,)
The only drawback to this approach is that there sometimes appears a gap between the last character of the text and the ellipse. If anyone has a better solution please post.
Is there any way to disable wordwrapping?
It would take some doing to accomplish, but-
1. create a text box long enough to avoid wordwrapping
2. if the text is beyond your width limit, overlay the end of it with a PNG that fades from transparent to your background color, and the rest of the text box with a $drawrect the color of you background
3. optionally add the ellipsis at a point that is visually pleasing.
That should block out the text you don't want to see and add a nice fade effect to the end of your title, etc.
Or using mil3s's idea, this should get reasonably close -
$puts(text,'Text to calculate, ie %title%')
$puts(charWidth,$div($calcwidth($get(text)),$len($get(text))))
$puts(width,$sub($div(%_width%,2),38))
$ifgreater($calcwidth($get(text)),$get(width),
$cut($get(text),$sub($div($get(width),$get(charWidth)),3))'...'
,$get(text))
That should work, right? Uses average charWidth to determine approximate number of characters to cut the text length.
Why is my trackinfo empty when i start foobar, and I have to go into settings and click "apply" to make my buttons reappear?
im sure its been remarked before, but woah trackinfo is now so much more than.. a trackinfo panel. what code would i use to make the whole panel respond to mouse clicks? would i have to make the entire thing act like a giant button?
I'm not sure why the wiki says that. I use $imageabs2() currently in trackinfo_mod to display albumart and the image will stretch larger if you use NOKEEPASPECT. See my post about 5 back.
Sorry, I didn't discover that quirk with NOKEEPASPECT. All fixed in the wiki now. ;-)
Why is my trackinfo empty when i start foobar, and I have to go into settings and click "apply" to make my buttons reappear?
Try adding a leading '/' to your relative image paths. That did the trick for me.
@Terrestrial: Could you add an option (e.g. "NOCACHE") to the imageabs-functions that enables me to prevent specific images from being cached? At the moment my [a href='index.php?act=findpost&pid=464466']fullscreen config[/a] eats RAM like nothing.
i like my solution... its basically wraithdu/mil3s' idea, but lets you define the length of each item
$align(center,middle)
$puts(text,[%artist%])
$puts(charWidth,$div($calcwidth($get(text)),$len($get(text))))
$puts(width,$add($div(%_width%,.1),100))
$ifgreater($calcwidth($get(text)),$get(width),
$cut($get(text),$sub($div($get(width),$get(charWidth)),3))'...'
,$get(text))
$puts(text2,[ - %title%])
$puts(charWidth,$div($calcwidth($get(text2)),$len($get(text2))))
$puts(width,$add($div(%_width%,.1),100))
$ifgreater($calcwidth($get(text2)),$get(width),
$cut($get(text2),$sub($div($get(width),$get(charWidth)),3))'...'
,$get(text2))
$puts(text3,[ - %album%])
$puts(charWidth,$div($calcwidth($get(text3)),$len($get(text3))))
$puts(width,$add($div(%_width%,.1),100))
$ifgreater($calcwidth($get(text3)),$get(width),
$cut($get(text3),$sub($div($get(width),$get(charWidth)),3))'...'
,$get(text3))
i'd like to make it so that it judges how to shorten each item based on the total length of the text [%artist%][ - %title%][ - %album%]
and i still think that the easiest way would be to make the font size dependent upon the character length.
I've updated the handling of long song titles in my current config.
Here's the relevant parts:
//Display Art?
$if($and($greater(%_width%,400),$fileexists($replace(%path%,%filename_ext%,folder.*))),$puts(position,142),$puts(position,8))
////Main block of text////
$alignabs($get(position),18,$sub(%_width%,$get(position)),$sub(%_height%,54),left,middle)
$font(,16,bold glow-107-132-153,234-232-227)
'#LINEHEIGHT,21#'
%artist%
//cut bracketed info from title if needed
$ifgreater($calcwidth(%title%),$sub(%_width%,$get(position)),$puts(title,$cut(%title%,$sub($strchr(%title%,'['),2))),$puts(title,%title%))
//If the title is still too long, use smaller font
$ifgreater($calcwidth($get(title)),$mul(2,$sub(%_width%,$get(position))),'#LINEHEIGHT,22#'$char(10)'#LINEHEIGHT,14#'$font(,10,bold glow-107-132-153,234-232-227)$get(title),'#LINEHEIGHT,19#'$char(10)$get(title)'#LINEHEIGHT,22#')
$char(10)
'#LINEHEIGHT,14#'
$font(,10,bold glow-107-132-153,234-232-227)%album%
I put any version or mix info found in the track listing in square brackets in the title tag.
I doubt this is exactly to standard, but it really cuts down on a lot of formatting issues, especially with all the bonus content found on reissued CDs.
So, the first step is to trim that bracketed content if it's causing length issues.
If the title is still to long, I then switch to the smaller font.
terrestrial.
Why doesn't track_info_mod update when playback is paused or stopped?
I'd like to be able to use %cwb_systemdatetime% when stopped.
Thanks terrestrial. I tried that, but that just deletes everything from the "Bla" playlist. I assume that this is because there are several commands that could be accessed with just the name "Bla" - i.e. the button action "Bla" could be interpreted as "Edit other/Add to specified playlist and play/Bla" or "Edit other/Remove from specified playlist and play/Bla" or "Edit other/Send to specified playlist and play/Bla". So if the button action "Bla" is all that is needed, how do I specify which of these "parent" commands to use?
-Nate
you can't I've been meaning to rewrite the button to handle paths but haven't had the chance to yet.
Apparently it's been asked already but i didn't find it via the search:
Any chance to have a function for getting image X Y resolutoin?
on the todo list.
@Terrestrial: Could you add an option (e.g. "NOCACHE") to the imageabs-functions that enables me to prevent specific images from being cached? At the moment my [a href='index.php?act=findpost&pid=464466']fullscreen config[/a] eats RAM like nothing.
already on the todo list.
Why doesn't track_info_mod update when playback is paused or stopped?
I'd like to be able to use %cwb_systemdatetime% when stopped.
the "per second" is a bit of a misnomer. it should be "on playback time" which is the notification foobar sends when the track is playing. when paused/stopped no such notifications are sent.
Feature request. I was wondering if you might consider adding a function to calculate the number of characters in %text to check% that would fit in a specified width. To do this requires the use of a loop which is not possible in scripts.
$put(text2,text)
:loop:
$ifgreater or equal($calcwidth(text),$get(areawidth),$put(text2,$left($get(text2),$sub($len($get(text2)),1))) goto :loop:,:endloop:)
:endloop:
$get(text2)
This way it's possible to have much more accurate truncations (...) on long text.
Feature request. I was wondering if you might consider adding a function to calculate the number of characters in %text to check% that would fit in a specified width. To do this requires the use of a loop which is not possible in scripts.
$put(text2,text)
:loop:
$ifgreater or equal($calcwidth(text),$get(areawidth),$put(text2,$left($get(text2),$sub($len($get(text2)),1))) goto :loop:,:endloop:)
:endloop:
$get(text2)
This way it's possible to have much more accurate truncations (...) on long text.
What about non-fixed-width fonts? Obviously, an 'i' takes up less space than say 'B'. I could fit two 'i's in one 'B', if that makes sense.
I think it'd be a lot easier if the component automatically trimmed text when it exceeds the text bounding box, automatically appending '...'. At the moment it just cuts off the last word/s until it fits. [/feature request]
Or how about the ability to disable wordwrapping so that text will be chopped exactly at the end of an $alignabs() window? like maybe $alignabs(4,4,100,10,,nowrap)
Thanks terrestrial. I tried that, but that just deletes everything from the "Bla" playlist. I assume that this is because there are several commands that could be accessed with just the name "Bla" - i.e. the button action "Bla" could be interpreted as "Edit other/Add to specified playlist and play/Bla" or "Edit other/Remove from specified playlist and play/Bla" or "Edit other/Send to specified playlist and play/Bla". So if the button action "Bla" is all that is needed, how do I specify which of these "parent" commands to use?
-Nate
you can't I've been meaning to rewrite the button to handle paths but haven't had the chance to yet.
Ok, gotcha. At least I know it's not just me now . I'll keep an eye out for updates. Thanks!
-Nate
Feature request. I was wondering if you might consider adding a function to calculate the number of characters in %text to check% that would fit in a specified width. To do this requires the use of a loop which is not possible in scripts.
$put(text2,text)
:loop:
$ifgreater or equal($calcwidth(text),$get(areawidth),$put(text2,$left($get(text2),$sub($len($get(text2)),1))) goto :loop:,:endloop:)
:endloop:
$get(text2)
This way it's possible to have much more accurate truncations (...) on long text.
What about non-fixed-width fonts? Obviously, an 'i' takes up less space than say 'B'. I could fit two 'i's in one 'B', if that makes sense.
I think it'd be a lot easier if the component automatically trimmed text when it exceeds the text bounding box, automatically appending '...'. At the moment it just cuts off the last word/s until it fits. [/feature request]
Maybe you should read the post again or look at the code. This feature would allow better accuracy on
non-fixed-width fonts.
// TrackInfo_Mod
// Put Background RGB colors to 99-39-33 in Settings
$puts(centre,$div(%_width%,2))
$puts(addy,40)
$imageabs2(%_width%,340,0,0,%_width%,340,0,-130,'images4\horizon2.png',alpha-100nokeepaspect)
$imageabs2(339,300,0,0,339,300,25,$add(0,$get(addy)),'images4\cdcase.png',alpha-230nokeepaspect)
$imageabs2(339,250,0,0,339,250,25,$add(301,$get(addy)),'images4\cdcase.png',alpha-230nokeepaspectROTATEFLIP-6)
$imageabs2(292,287,0,0,292,287,61,$add(7,$get(addy)),'images4\nocover.png',alpha-255nokeepaspect)
$imageabs2(292,240,0,0,292,240,61,$add(307,$get(addy)),'images4\nocover.png',alpha-255nokeepaspectROTATEFLIP-6)
$if($fileexists($replace(%path%,%filename_ext%,*.jpg)),
$imageabs2(292,287,0,0,292,287,61,$add(7,$get(addy)),$replace(%path%,%filename_ext%,*.jpg),nokeepaspect)
$imageabs2(292,240,0,0,292,240,61,$add(307,$get(addy)),$replace(%path%,%filename_ext%,*.jpg),nokeepaspectROTATEFLIP-6),
$imageabs2(292,287,0,0,292,287,61,$add(7,$get(addy)),$replace(%path%,%filename_ext%,../*.jpg),nokeepaspect)
$imageabs2(292,240,0,0,292,240,61,$add(307,$get(addy)),$replace(%path%,%filename_ext%,../*.jpg),nokeepaspectROTATEFLIP-6)
)
$imageabs2(350,302,0,0,350,302,20,$add(300,$get(addy)),'images4\reverse_overlay7.png',nokeepaspect)
$imageabs2(300,300,0,0,300,300,59,$add(5,$get(addy)),'images4\reflet300.png',alpha-125)
// Track infos libelles
$alignabs(0,$add(395,$get(addy)),390,38,center,top)
$font(Calibri,9,boldshadow glow-040-040-040 glowalpha-250,180-180-180 glowexpand-2 glowblur-3)'--- playing ---'
$alignabs(0,$add(455,$get(addy)),390,38,center,top)
$font(Calibri,9,boldshadow glow-040-040-040 glowalpha-250,180-180-180glowexpand-2 glowblur-3)'--- from ---'
// Track Infos variables
$alignabs(25,$add(340,$get(addy)),340,48,center,top)
$font(Swis721 Cn BT D-Type,16,boldshadow glow-255-255-255 glowalpha-50,10-10-10)[%artist%]
$alignabs(25,$add(410,$get(addy)),340,38,center,top)
$font(Swis721 Cn BT D-Type,12,boldshadow glow-040-040-040 glowalpha-250,180-180-180)[%title%]
$alignabs(25,$add(469,$get(addy)),340,38,center,top)
$font(Swis721 Cn BT D-Type,12,boldshadow glow-040-040-040 glowalpha-250,180-180-180)
$if(%album%,[%album%],'Unknow Album')
$if(%date%,
$font(Swis721 Cn BT D-Type,12,boldshadow glow-040-040-040 glowalpha-250,180-180-180)' - '[%date%],)
// --- show playback status over the cover ---
$if(%ispaused%,
$imageabs2(0,0,0,0,0,0,320,$add(10,$get(addy)),'.\images4\big_pause.png',),
$imageabs2(0,0,0,0,0,0,320,$add(10,$get(addy)),'.\images4\big_play.png',)
)
// Search cover art and traklists
$button($sub($get(centre),101),8,0,0,64,28,images4\buttons\google0.png,images4\buttons\google1.png,artsearch,)
$button($sub($get(centre),32),8,0,0,64,28,images4\buttons\allmusic0.png,images4\buttons\allmusic1.png,allmusicalbum,)
$button($add($get(centre),37),8,0,0,64,28,images4\buttons\allmusic2.png,images4\buttons\allmusic3.png,allmusicartist,)
// ---- lovely dots buttons ---- //
//
$imageabs2(300,38,0,0,300,38,45,$add(555,$get(addy)),'images4\bg_buttons0.png',)
// PLAY/PAUSE
$button(180,$add(561,$get(addy)),0,0,30,26,
$if($or(%ispaused%,$not(%isplaying%)),images4\buttons\play0.png,images4\buttons\pause0.png),
$if($or(%ispaused%,$not(%isplaying%)),images4\buttons\play1.png,images4\buttons\pause1.png),
$if($or(%ispaused%,$not(%isplaying%)),play,pause)
,)
// RESCAN
$button(52,$add(561,$get(addy)),0,0,30,26,images4\buttons\rescan0.png,images4\buttons\rescan1.png,Rescan Media Library,)
// SEARCH
//$button(69,$add(561,$get(addy)),0,0,30,26,images4\buttons\search0.png,images4\buttons\search1.png,Search,)
$button(84,$add(561,$get(addy)),0,0,30,26,images4\buttons\search0.png,images4\buttons\search1.png,artsearch,)
// PREVIOUS
$button(116,$add(561,$get(addy)),0,0,30,26,images4\buttons\prev0.png,images4\buttons\prev1.png,previous,)
// FAST BACKWARD
$button(148,$add(561,$get(addy)),0,0,30,26,images4\buttons\back0.png,images4\buttons\back1.png,seek back by 10 seconds,)
// FAST FORWARD
$button(212,$add(561,$get(addy)),0,0,30,26,images4\buttons\fwd0.png,images4\buttons\fwd1.png,seek ahead by 10 seconds,)
// NEXT
$button(244,$add(561,$get(addy)),0,0,30,26,images4\buttons\next0.png,images4\buttons\next1.png,next,)
// VIEW PLAYLIST MANAGER
$button(276,$add(561,$get(addy)),0,0,30,26,images4\buttons\libr0.png,images4\buttons\libr1.png,playlist manager,)
// playback order
$if($stricmp(%cwb_playback_order%,'Repeat (track)'),
$button(308,$add(561,$get(addy)),0,0,30,26,images4\buttons\rpt0.png,images4\buttons\seq1.png,'Repeat (playlist)',)
)
$if($stricmp(%cwb_playback_order%,'Repeat (playlist)'),
$button(308,$add(561,$get(addy)),0,0,30,26,images4\buttons\seq0.png,images4\buttons\rand1.png,'Shuffle (tracks)',)
)
$if($stricmp(%cwb_playback_order%,'Shuffle (tracks)'),
$button(308,$add(561,$get(addy)),0,0,30,26,images4\buttons\rand0.png,images4\buttons\rpt1.png,'Repeat (track)',)
)
// overlay (bottom)
$imageabs2(%_width%,340,0,0,%_width%,340,0,460,'images4\horizon2.png',alpha-100nokeepaspectROTATEFLIP-6)
$puts(write_tags,%rating%)
$puts(back,$rgb(105,26,26))
$puts(active,$rgb(250,250,150))
// rating system
$if($get(write_tags),$puts(rating,%rating%),$puts(rating,$cinfo(RATING)))
$if($get(write_tags),$puts(mood,%mood%),$puts(mood,$cinfo(MOOD)))
$alignabs(147,$add(515,$get(addy)),%_width%,%_height%,,)$font(wingdings,16,normal glow-255-125-05 glowexpand-1 glowblur-2,255-255-165)
$get(active)$repeat($char(171),$get(rating))
$font(wingdings,16,,)
$get(back)$repeat($char(171),$sub(5,$get(rating)))
// buttons rating
$button2(147,$add(515,$get(addy)),0,0,13,17,,,$if($get(write_tags),TAG:SET:Rating:1,'Heart 1'),)
$button2(167,$add(515,$get(addy)),0,0,13,17,,,$if($get(write_tags),TAG:SET:Rating:2,'Heart 2'),)
$button2(187,$add(515,$get(addy)),0,0,13,17,,,$if($get(write_tags),TAG:SET:Rating:3,'Heart 3'),)
$button2(207,$add(515,$get(addy)),0,0,13,17,,,$if($get(write_tags),TAG:SET:Rating:4,'Heart 4'),)
$button2(227,$add(515,$get(addy)),0,0,13,17,,,$if($get(write_tags),TAG:SET:Rating:5,'Heart 5'),)
// PerSecond
$puts(addy,39)
$alignabs(45,$add(528,$get(addy)),300,20,left,top)$font(Calibri,8,,140-135-130)[%playback_time%]
$alignabs(67,$add(528,$get(addy)),278,20,right,top)$font(Calibri,8,,140-135-130)[%length%]
$drawrect(45,$add(542,$get(addy)),300,8,brushcolor-null pencolor-120-115-110)
$puts(percent,$muldiv(%_time_elapsed_seconds%,100,
%_time_total_seconds%))
$if($greater($get(percent),0),
$drawrect(47,$add(544,$get(addy)),$muldiv($get(percent),295,100),4,
brushcolor-150-20-20 pencolor-null))
Can anyone tell me why it won't update the playorder button each click? It only changes the image when you change tracks.
I'm not 100% on this, but you need
// PerTrack
somewhere before your button code. I always use all the headings -
// Global
// Background
// PerTrack
// PerSecond
even if I don't have anything in that section. Check the wiki for what goes where (buttons go under PerTrack).
I found a graphical bug (probably unrelated to the SCP bug mentioned). When blurring a rectangle, the bottom of the image is not rendered correctly. See the code and image below.
$drawrect(10,10,150,150,brushcolor-255-255-255 pencolor-255-255-255)
$drawrect(170,10,150,150,brushcolor-255-255-255 pencolor-255-255-255 blur-1)
(http://img101.imageshack.us/img101/2745/squares7ft.th.png) (http://img101.imageshack.us/my.php?image=squares7ft.png)
I'm not 100% on this, but you need
// PerTrack
somewhere before your button code. I always use all the headings -
// Global
// Background
// PerTrack
// PerSecond
even if I don't have anything in that section. Check the wiki for what goes where (buttons go under PerTrack).
If I place the buttons behind the // PerSecond the buttons disappear.
Buttons can not be in the // Background section. This much I am fairly certain, however they should work in the // PerTrack section as I use that myself.
Buttons can not be in the // Background section. This much I am fairly certain, however they should work in the // PerTrack section as I use that myself.
I've moved it below the // PerSecond thing and it does nothing but make the button disappear.
Three "bugs" (annoyances):
1. You can't bring foobar2000 to front if a trackinfo-panel are clicked
2. Often you are unable to click buttons on windows appearing over a trackinfo-panel (mostly the prefs-window)
3. If you drag files from explorer over a trackinfo-panel, they are immedately dropped
I'm trying to figure out two things. First, I'd like to create a button that toggles a dockable panel but I'm not quite sure how to do it. I want to be able to test for whether or not the panel is activated and if it is, have it so the button closes the panel. If the panel isn't activated, I want to be able to open it via the button.
This same sort of thing applies to my other question. I want to create a button that toggles between shuffling tracks and the default track order. Again, I want to be able to test the state of the track order so that I can have the correct button display. It was easy enough to do it for a play/pause button using $ispaused and $not(%isplaying%), but I can't figure out how to do it for track order.
Anyone have any ideas?
I've moved it below the // PerSecond thing and it does nothing but make the button disappear.
Buttons must go in the // PerTrack section. If it's under // PerSecond, that's not // PerTrack anymore.
I'm trying to figure out two things. First, I'd like to create a button that toggles a dockable panel but I'm not quite sure how to do it. I want to be able to test for whether or not the panel is activated and if it is, have it so the button closes the panel. If the panel isn't activated, I want to be able to open it via the button.
This same sort of thing applies to my other question. I want to create a button that toggles between shuffling tracks and the default track order. Again, I want to be able to test the state of the track order so that I can have the correct button display. It was easy enough to do it for a play/pause button using $ispaused and $not(%isplaying%), but I can't figure out how to do it for track order.
Anyone have any ideas?
From the wiki -
"The following returns a sort index of the field, ie if the playlist is sorted first by genre, then artist, then by album, $sorted(artist) will return 3. If the playlist is not sorted by 'field' through the SORT command described above, then $sorted(field) will be evaluated as false and produce '[UNKNOWN FUNCTION]' as text output.
$sorted(field)"
Using $sorted() you can test if the playlist uses a certain sort string, ie $if($sorted(Artist),....,.....). Bear in mind that $sorted() test for the NAME, not the VALUE in name_1|value_1.
If the button is in per track how do I get it to update immediatly after clicking the button. My playback button doesn't update until track change and I want it to toggle the playback continuously until the esired playback is found.
From the wiki -
"The following returns a sort index of the field, ie if the playlist is sorted first by genre, then artist, then by album, $sorted(artist) will return 3. If the playlist is not sorted by 'field' through the SORT command described above, then $sorted(field) will be evaluated as false and produce '[UNKNOWN FUNCTION]' as text output.
$sorted(field)"
Using $sorted() you can test if the playlist uses a certain sort string, ie $if($sorted(Artist),....,.....). Bear in mind that $sorted() test for the NAME, not the VALUE in name_1|value_1.
I have absolutely no idea what this means.
I have absolutely no idea what this means.
My mistake. I thought you were talking about sorting your playlist. You meant changing the playback order.
I think what you need is -
$button2(DstX,DstY,X,Y,W,H,TEXT,HOVER TEXT,COMMAND,OPTIONS)
where COMMAND is anything from this list - http://wiki.hydrogenaudio.org/index.php?ti...Main_Menu_Items (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Commandline_Guide#Main_Menu_Items)
# Playback/Order/Default
# Playback/Order/Random
# Playback/Order/Repeat
# Playback/Order/Repeat One
# Playback/Order/Shuffle
# Playback/Order/Shuffle album
# Playback/Order/Shuffle album 2
# Playback/Order/Shuffle tag set
For example
$button2(DstX,DstY,X,Y,W,H,TEXT,HOVER TEXT,'Shuffle (tracks)',)
You can use %cwb_playback_order% to return what the current playback order is (available with foo_cwb_hooks, and only returns a value while a song is playing).
EDIT - it seems some of the commands in the list are out of date with foobar 0.9. Basically just look in the menu, and the command should have the same syntax, ie 'Shuffle (tracks)'.
If the button is in per track how do I get it to update immediatly after clicking the button. My playback button doesn't update until track change and I want it to toggle the playback continuously until the esired playback is found.
This works for me, as long as a song is playing or paused. If it is stopped, then %cwb_playback_order% has no value. But when playing, the button updates as it should.
// Global
// Background
// PerTrack
$if($strcmp(%cwb_playback_order%,'Default'),
$button2(5,5,0,0,50,20,'shuffle','SHUFFLE','Shuffle (tracks)',)
,
$button2(5,5,0,0,50,20,'default','DEFAULT','Default',)
)
// PerSecond
$alignabs(5,30,500,20,left,middle)
%cwb_playback_order%
You can use %cwb_playback_order% to return what the current playback order is (available with foo_cwb_hooks, and only returns a value while a song is playing).
That's exactly what I was looking for. Thanks!
Now that I've got that done, I have one last thing I'm trying to figure out, but it may be impossible. I want to test whether or not an item in the menus is selected. For example, foo_dockable_panels has a submenu in the View menu that allows you to activate and collapse panels. I want to be able to toggle it open and closed with a button. Luckily, it turns out this doesn't require any iterative statements to determine whether the panel is open or not, I just have to figure out how to actually activate this particular menu option. Does anyone know what I'm talking about? (I had trouble explaining it well) And if so, any advice?
Edit: I was able to create a keyboard shortcut for this action, I just can't figure out how to tie it to a button. I feel like this should be easier than I'm making it.
You can use %cwb_playback_order% to return what the current playback order is (available with foo_cwb_hooks, and only returns a value while a song is playing).
That is exactly what I needed too. Thank you.
Is there a way to make scrolling lyrics in the track panel? I have been experiemnting for some time without actually getting them to scroll with the song similar to the actual lyrics panel. Thanks for any help.
$puts(percent,$muldiv(%_time_elapsed_seconds%,100,
%_time_total_seconds%))
$puts(hgt,$calcheight(%lyrics%))
$if($meta_test(lyrics),
$alignabs(0,$div($sub(%_height%,$muldiv($get(percent),%_height%,50)),3),%_width%,$mul($get(hgt),96),center,top)
$font(Calibri,$sub(24,$get(hgt)),,)
%lyrics%,
$align(center,middle)
%artist% - %title%)
I have scrolling lyrics working for the most part I have only tested it with one album and it paces itself relativly well with the song but its not quite perfect.
I just realized that in oder to make the lyrics to scroll properly I need a function that can either get the number of lines in a given field or return the total number of pixels a particular text has. Pixels would be preferrable.
something like:
$textPx(text)
$textPy(text)
or
$lines(text)
That way I can Identify the bottom of the lyrics by the number of pixles or lines it has in order to make it move at that particular rate.
I just realized that in oder to make the lyrics to scroll properly I need a function that can either get the number of lines in a given field or return the total number of pixels a particular text has. Pixels would be preferrable.
something like:
$textPx(text)
$textPy(text)
or
$lines(text)
That way I can Identify the bottom of the lyrics by the number of pixles or lines it has in order to make it move at that particular rate.
$calcwidth(text) and $calcheight(text) do return the width and height in pixels. $len(text) will return the length of a string in characters. But I don't think there is a function to return the number of lines a paragraph takes up.
I just realized that in oder to make the lyrics to scroll properly I need a function that can either get the number of lines in a given field or return the total number of pixels a particular text has. Pixels would be preferrable.
something like:
$textPx(text)
$textPy(text)
or
$lines(text)
That way I can Identify the bottom of the lyrics by the number of pixles or lines it has in order to make it move at that particular rate.
$calcwidth(text) and $calcheight(text) do return the width and height in pixels. $len(text) will return the length of a string in characters. But I don't think there is a function to return the number of lines a paragraph takes up.
I noticed that but its not helping the situation. $calcheight() and $calcwidth() both give you the pixles but only for the pt size of the font.
Hmmm... The wiki says that you can use "PVAR:SET:variable:value" in a button to set globals, but I can't seem to get it to work. I'm trying to make an info-panel that can be toggled on and off.
Sample:
$if($get(ShowDetails,
$button2(4,4,0,0,100,50,'$font(,24pt,,192-0-0)Details','$font(,24pt,,255-255-255)Details','PVAR:SET:ShowDetails:0',)
Genre: %genre%[and so on...],
$button2(4,4,0,0,100,50,'$font(,24pt,,192-0-0)Details','$font(,24pt,,255-255-255)Details','PVAR:SET:ShowDetails:1',))
Even doing something as simple as setting the button to assign a value to any variable, and then using $get() to read it returns null every time.
foo_dockable_panels has a submenu in the View menu that allows you to activate and collapse panels. I want to be able to toggle it open and closed with a button
$button(4,32,0,0,7,7,/images\switch_01.png,/images\switch_02.png,collapse,)
Hmmm... The wiki says that you can use "PVAR:SET:variable:value" in a button to set globals, but I can't seem to get it to work. I'm trying to make an info-panel that can be toggled on and off.
Sample:
$if($get(ShowDetails,
$button2(4,4,0,0,100,50,'$font(,24pt,,192-0-0)Details','$font(,24pt,,255-255-255)Details','PVAR:SET:ShowDetails:0',)
Genre: %genre%[and so on...],
$button2(4,4,0,0,100,50,'$font(,24pt,,192-0-0)Details','$font(,24pt,,255-255-255)Details','PVAR:SET:ShowDetails:1',))
Even doing something as simple as setting the button to assign a value to any variable, and then using $get() to read it returns null every time.
I see two things right off. Your first line $get() function needs a close parenthesis - $get(ShowDetails)
Second, the wiki says -
"Sets a persistent variable - a variable that is recognized throughout the Trackinfo pannel mod and can be changed through buttons."
It seems to me this is a variable just for the Trackinfo panel mod, not a true ColumnsUI global variable.
I see two things right off. Your first line $get() function needs a close parenthesis - $get(ShowDetails)
Second, the wiki says -
"Sets a persistent variable - a variable that is recognized throughout the Trackinfo pannel mod and can be changed through buttons."
It seems to me this is a variable just for the Trackinfo panel mod, not a true ColumnsUI global variable.
Oops... I must have deleted that parenthesis while I was cutting and pasting... it's in my actual config.
And I'm just looking to pick it up in various (1 or 2) spots within trackinfo_mod... I could care less if it shows up in SCP or anywhere else in columnsUI, it's just supposed to toggle a details display within the trackinfo panel, yet I can't read the variable anywhere... unless I'm using the wrong function?
And I'm just looking to pick it up in various (1 or 2) spots within trackinfo_mod... I could care less if it shows up in SCP or anywhere else in columnsUI, it's just supposed to toggle a details display within the trackinfo panel, yet I can't read the variable anywhere... unless I'm using the wrong function?
Try this -
// Global
// Background
// PerTrack
$ifequal($getpvar(ShowDetails),1,
$button2(4,4,0,0,100,50,'$font(,24,,192-0-0)Details','$font(,24,,255-255-255)Details','PVAR:SET:ShowDetails:0',)
$alignabs(4,75,%_width%,%_height%,left,top)$font(calibri,12,bold,255-255-255)'DETAILS TEXT',
$button2(4,4,0,0,100,50,'$font(,24,,192-0-0)Details','$font(,24,,255-255-255)Details','PVAR:SET:ShowDetails:1',))
$align(left,bottom)'ShowDetails = '$getpvar(ShowDetails)
// PerSecond
The functions $get() and $getpvar() are separate and exclusive. PVAR:SET change the $getpvar() function. I'll have to edit the wiki when I get a chance, but this is from the release notes in the latest version of trackinfo_mod -
+ Persistant variables & button to set values PVAR:SET:name:val : (example)
$puts(val,$if2($getpvar(val),0))
$align(left,bottom)$get(val)
$button2(20,50,0,0,50,10,Add,Add,PVAR:SET:val:$add($get(val),1),)
(moderation: removed unnecessary full quote)
HELLO
Is there a way to add a heading for Composer to song info that would only show when then composer is different than the artist?
yes. It's called an $if() statement.
Hi guys,
I'm not sure whether this has already been done by someone else, but I wanted to implement horizontal scrolling of text and have come up with a method. Essentially, it uses the fact that alignabs() can take negative values.
As the time elapses, the "left" value in alignabs() becomes more (or is that less?) negative and gives the appearance of scrolling across. One of the tricks is to repeat the desired string so it's long enough to allow scrolling for the entire length of the song.
For example, Rock & Rock Aint' Noise Pollution would become:
Rock & Rock Aint' Noise Pollution Rock & Rock Aint' Noise Pollution Rock & Rock Aint' Noise Pollution
and would give the appearance of scrolling across, pixel by pixel.
The limitation is that it will scroll across the entire width of the track info - this is what I wanted anyway.
Apologies to anyone who has already described this, but I couldn't find anything using the search. I'm sure someone more adept at track info design will be able to extend this.
Cheers,
c0utta
// make sure you've set your font beforehand so measurements are correct
// put your text you want to scroll here
$puts(txt,"$meta(title)")
// put the rate of scrolling here
$puts(rate,3)
$ifgreater($calcwidth($get(txt)),%_width%,
$puts(tot,$add(%_width%,$mul(%_time_total_seconds%,$get(rate))))
$puts(txt,$repeat($get(txt)' ',$add(1,$div($get(tot),$calcwidth($get(txt))))))
$alignabs($sub(0,$mul(%_time_elapsed_seconds%,$get(rate))),6,$add(%_width%,$calcwidth($get(txt))),30,left,)
,$alignabs(0,6,%_width%,30,center,))
[$get(txt)]
The limitation is that it will scroll across the entire width of the track info - this is what I wanted anyway.
You could get around this by covering whatever portion of the trackinfo panel you don't want to see the scrolling text with a $drawrect() the color of your background. That way the text scrolls behind the rectangle and disappears. If you really want to get fancy you could position a PNG graphic that fades from transparent to solid at the edges of the scrolling text so it fades away all cool like. Nice code.
Try this -
The functions $get() and $getpvar() are separate and exclusive. PVAR:SET change the $getpvar() function. I'll have to edit the wiki when I get a chance, but this is from the release notes in the latest version of trackinfo_mod -
Ah, thanks! That explains it.
Some quick questions. Im working on a layout, and Ive had a few things come up:
1> I have a progress bar that works well. What I want to do with it, though, is put an overlapping text to it. Thats easy, but I want to make the text change color at the same time as the progress bar. The code I have, in theory, should work, but trackinfo_mod seems to clip text that doesnt fit within its defined box. Is there a way to define a containing box for text thats smaller than the text itself, yet still show the partial text? Here's my code:
// Global
$puts(color1,105-9-10)
$puts(color2,229-151-149)
$puts(color3,247-247-247)
$puts(proglen,162)
$puts(progcalc,$left($num($div($mul(%_time_elapsed_seconds%,$mul($get(proglen),10)),%length_seconds%),4),3))
$ifgreater(1,$get(progcalc),$puts(progcalc,1),)
$puts(prog1,$drawrect(0,0,$get(proglen),16,pencolor-0-0-0 brushcolor-$get(color3) width-1))
$puts(prog2,$drawrect(0,0,$get(progcalc),16,pencolor-0-0-0 brushcolor-$get(color1) width-1))
$puts(prog3,$alignabs(0,0,$get(proglen),16,$get(proglen),16)$font(verdana,8,,$get(color1))Progress)
$puts(prog4,$alignabs(0,0,$get(progcalc),16,0,0)$font(verdana,8,,$get(color2))Progress)
// PerTrack
// PerSecond
$get(prog1)$get(prog3)
$get(prog2)$get(prog4)
$get(prog3) stays hidden until its the length of the string "Progress", and I want to circumvent that.
PS - I scripted that progress bar myself. Did I use any extraneous code that can be consolidated? Thx
2> $button2 doesnt seem to want to work with my panels. If I use the example code on hydrogen's wiki page for info_mod:
// Global
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
I get this:
(http://img452.imageshack.us/img452/9006/button29am.gif)
needless to say, the button doesnt work either. If i remove the font tags, sometimes it works with plain text, other times the text is hidden but the button works if you find it through blind clicking (default text black, white background). Can someone tell me what Im doing wrong? I got the img buttons to work fine, but I want text buttons for certain things and its not exactly working for me.
3> Not all the button commands seem to want to work for me. I must be doing something wrong here. For example, my playback order buttons.
Default works, but
Repeat doesnt, and either does
Repeat one or
'Repeat one'.
works:
$button(13,175,0,0,21,17,D:\Erich\mugglenet\poll1.gif,D:\Erich\mugglenet\poll2.gif,Default,)
$alignabs(35,177,162,16,162,16)$font(verdana,8,,247-247-247)Default
Doesnt work:
$button(13,195,0,0,21,17,D:\Erich\mugglenet\poll1.gif,D:\Erich\mugglenet\poll2.gif,'Repeat playlist',)
$alignabs(35,197,162,16,162,16)$font(verdana,8,,247-247-247)Repeat
The buttons show, and the mouseover works fine, but the command does nothing. Any help?
anyone reading this, thank you kindly for your time.
~E
2> $button2 doesnt seem to want to work with my panels. If I use the example code on hydrogen's wiki page for info_mod:
// Global
$button2(0,0,0,0,30,13,$font(tahoma,8,,0-0-0)Forward,$font(tahoma,8,underline,0-0-0)Forward,'Seek ahead by 10 seconds',)
You need single quotes around the font and text statement -
$button2(0,0,0,0,30,13,'$font(tahoma,8,,0-0-0)Forward','$font(tahoma,8,underline,0-0-0)Forward','Seek ahead by 10 seconds',)
3> Not all the button commands seem to want to work for me. I must be doing something wrong here. For example, my playback order buttons. Default works, but Repeat doesnt, and either does Repeat one or 'Repeat one'.
Your commands must match exactly what you see in the foobar context or main menus. For example -
'Repeat (playlist)'
'Repeat (track)'
'Shuffle (tracks)'
'Shuffle (albums)'
1> I have a progress bar that works well. What I want to do with it, though, is put an overlapping text to it. Thats easy, but I want to make the text change color at the same time as the progress bar. The code I have, in theory, should work, but trackinfo_mod seems to clip text that doesnt fit within its defined box. Is there a way to define a containing box for text thats smaller than the text itself, yet still show the partial text? Here's my code:
$get(prog3) stays hidden until its the length of the string "Progress", and I want to circumvent that.
I've been racking my brain on this one, and I can't figure a solution using text and $drawrect().
But you could use images to accomplish this. Make your first and last state progress bar images, then use $imageabs2() to crop the top image accordingly to reveal it as the song progresses. This also gives you the flexibility to use something flashier than text in your progress bar - gradients, background images, etc. Sorry I don't have a better solution for you.
I'll get back to you on everything later today, but for now, thank you kindly
I'm using %cwb_systemdatetime% in one of my trackinfo panels. Unfortunately it doesnt update the time if playback is paused. Is that problem related to Trackinfo_mod or cwb_hooks?
Hi.
two pages ago (http://www.hydrogenaudio.org/forums/index.php?showtopic=47044&st=925#)
Please search the topic before asking questions. It makes life easier for everyone.
apologies if this has been answered here before, but is it possible to have trackinfo mode (Follow cursor vs. Now Playing) controlled by a button as opposed to the right-click menu? I had gotten used to doing that by doubleclicking the panel, and now that I've updated my dll that behavior is gone
-Nate
A serious suggestion to improve the
Trakinfo configuration window:
The inclusion of a simple drop down list that contains ALL Trackinfo_mod functions- It would be a simple and efficient way to help users keep up with added features and to familiarize themselves with all the functions and syntax. I know someone will say "thats what the Wiki is for," "just read the changelog." Both of which are quite tedious in comparison when all you need is a reference to a list of functions.
- How would this drop down list work? Well, the list of functions could be sorted in alphabetical order. On selection and click of an 'Insert' button, the function is added by the cursor position in the formatting string window. The selected function would be added with its parameters defined. For example, if a user selected $font from the drop-down list, the following would be added to the formatting strong window: $font(NAME,SIZE,OPTIONS,COLOR)
- Pictures are worth a thousand words so here is what the proposed config would look like...
(http://img256.imageshack.us/img256/5797/trackinfomockupcf4.png)
That's it. Hope it is taken into consideration.
^I think that configuration window looks great. There is still room for more improvement though. The color code stuff and the Edit button could be removed imo.
Hi.
two pages ago (http://www.hydrogenaudio.org/forums/index.php?showtopic=47044&st=925#)
Please search the topic before asking questions. It makes life easier for everyone.
Oops, sorry. Thanks for the link.
Any chance of getting a "real" per-second in one of the next versions?
hey,firstoff...myspacebar'sbroken.sorryaboutthat.
anyway,.how.would.i.be.able.to.make.backgroundimages.in.
trackinfo.mod.change.when.the.song.changes?
how.do.i.make.it.take.random.images.from.a.specified.folder.without.
specifying.the.name.of.each.image?
My idea is to have blank space at the bottom of the panel which when hovered over shows selected info - here's my code:
$if(%rating%,
$button2(120,20,0,0,110,50,'$font(tahoma,18,,235-235-235) ','$font(tahoma star,18,,235-235-235)%rating%',,))
what I'd like to do replace the number that appears on mouse over with a star from the tahoma star font i'm using - here is that code:
$if(%rating%,
$rgb(235,235,235))
$select(%rating%,
★,
★★,
★★★,
★★★★,
★★★★★)
)
)
But can't figure how to get the two pieces of code to talk to each other- so that it works...
Thanks in advance
A serious suggestion to improve the Trakinfo configuration window: The inclusion of a simple drop down list that contains ALL Trackinfo_mod functions- It would be a simple and efficient way to help users keep up with added features and to familiarize themselves with all the functions and syntax. I know someone will say "thats what the Wiki is for," "just read the changelog." Both of which are quite tedious in comparison when all you need is a reference to a list of functions.
- How would this drop down list work? Well, the list of functions could be sorted in alphabetical order. On selection and click of an 'Insert' button, the function is added by the cursor position in the formatting string window. The selected function would be added with its parameters defined. For example, if a user selected $font from the drop-down list, the following would be added to the formatting strong window: $font(NAME,SIZE,OPTIONS,COLOR)
- Pictures are worth a thousand words so here is what the proposed config would look like...
That's it. Hope it is taken into consideration.
Hmm, good idea. I think, like mil3s said, the Edit button and Colour code stuff can be scrapped. I think another nice addition would be separate tabs for each redraw type.
(http://img254.imageshack.us/img254/9708/trackinfomockupcf4ab0.png)
Hmm, good idea. I think, like mil3s said, the Edit button and Colour code stuff can be scrapped. I think another nice addition would be separate tabs for each redraw type.
http://img254.imageshack.us/img254/9708/tr...ockupcf4ab0.png (http://img254.imageshack.us/img254/9708/trackinfomockupcf4ab0.png)
No love for the edit button? I've been using it to launch textpad so I can use the syntax higlighting to make sure I closed all my functions and what not. Oh well, I can always just cut and paste, but that's an extra step.
anyway,.how.would.i.be.able.to.make.backgroundimages.in.
trackinfo.mod.change.when.the.song.changes?
how.do.i.make.it.take.random.images.from.a.specified.folder.without.
specifying.the.name.of.each.image?
First you would need to move the code for your background images under a // PerTrack header, but to continue to appear in the background they will need to be toward the top of your code. Now, to make the images "random" you will need to come up with a naming scheme for your images that can be referenced with a $rand() command. For example:
// PerTrack
$imageabs2(%_width%,%_height%,,,,,0,0,/images\background$rand(9).*,)
With images named background0.jpg, background1.gif, background9.png, etc. placed in your foobar images directory.
No love for the edit button? :( I've been using it to launch textpad so I can use the syntax higlighting to make sure I closed all my functions and what not. Oh well, I can always just cut and paste, but that's an extra step.
I too find the color code box and edit button rather worthless. I tend to use the colors in $font() instead of $rgb(), and the edit button doesn't import the notepad document when you are done so you have to copy/paste anyway.
I do, however, very much like the idea of having separate tabs for // Background, // PerTrack, // PerSecond, etc. but how do you dictate which code is processed in what order? Sometimes I want // PerSecond code to be rendered before // PerTrack code and visa versa. However I think the separate tabs would make things much more intuitive and could easily adapt. Since we are on the topic of redesigning the configuration window can we pretty please with sugar on top have a resizable window? The window is so tiny on my 2048x1536 display and the ability to stretch the window from the corner like most other windows to reveal more edit space would be lovely.
Actually, saving it in notepad updates it in the edit box when you press apply. But yeah, I'll second the resizeable window... and the colour button is basically useless for me.
Hey guys!
I have a context menu item Edit Other > Insert into Playlist > Playlist_Name
where Playlist_Name is the name of any existing playlist. When i'm trying to create a button to move currently playing track into a playlist the following code doesn't work at all:
$button($sub(%_width%,35),70,0,0,32,32,c:\Program Files\foobar2000\images\move2pl.png,c:\Program Files\foobar2000\images\move2pl_.png,'Edit Other/Insert into Playlist/Playlist_Name',)
... however I have some other buttons which run the commands from context menu with no problem i.e. some commands form it work OK.
Thanks in advance!
UPDATE: Just found a post regarding it two pages back... so it is not really possible to do
why do none of these awesome trackinfo-mod codes work for me?
is 0.8.0 beta the latest version or not?
Hi,
I'm new to Foobar, so I have to ask.
I have several panels in Tabbed panel stack mod.
I'd like to create "switching tab button".
I expect something like this, but I'm not sure with syntax and so on.
$if (Single viev,
$button(150,1,0,0,22,21,image,hover, Album View,),
$button(150,1,0,0,22,21,image,hover, Single View,)
)
I've tried to serch solution, or some good reference manual but without succes.
Thanks for help....
why do none of these awesome trackinfo-mod codes work for me?
is 0.8.0 beta the latest version or not?
Yes it is the latest version - do you have MS Visual C++ 2005 Runtime Library installed? ( link on 1st post)
Perhaps post the code your working with & we can help you from there...
i figured it out
Hi, i'm new, in these days i'm still configuring my foobar and do some test on trackinfomod panel.
I want emulate the "playback order bar" in trackinfo panel, but i have some problems:
If i use the $button2() function i can't write any name containing parenthesis, for example 'shuffle (tracks)' or
use $get() for some variables on the contrary if i write the code without the button function i not have problems.
Not know how explain exactly my problem (not speak english very well), perhaps i not write the correct syntax
i need help.
I put the two examples:
1) working but i not can use parenthesis
2) Working (not complete, only for test) without $button use
///////////1
$button2(5,150,0,0,200,40,
'$font(lcd2 bold,10,,255-167-47)$upper(%cwb_playback_order%)',
$if($strcmp(%cwb_playback_order%,'Default'),
'$font(lcd2 bold,10,,128-0-255)REPEAT PLAYLIST',
$if($strcmp(%cwb_playback_order%,'Repeat (playlist)'),
'$font(lcd2 bold,10,,128-0-255)'REPEAT TRACK'',
$if($strcmp(%cwb_playback_order%,'Repeat (track)'),
'$font(lcd2 bold,10,,128-0-255)'SHUFFLE ALBUMS'',
$if($strcmp(%cwb_playback_order%,'Shuffle (albums)'),
'$font(lcd2 bold,10,,128-0-255)'SHUFFLE DIRECTORIES'',
$if($strcmp(%cwb_playback_order%,'Shuffle (directories)'),
'$font(lcd2 bold,10,,128-0-255)'SHUFFLE TRACKS'',
$if($strcmp(%cwb_playback_order%,'Shuffle (tracks)'),
'$font(lcd2 bold,10,,128-0-255)'DEFAULT'',
)
)
)
)
)
),
$if($strcmp(%cwb_playback_order%,'Default'),
'Repeat (playlist)',
$if($strcmp(%cwb_playback_order%,'Repeat (playlist)'),
'Repeat (track)',
$if($strcmp(%cwb_playback_order%,'Repeat (track)'),
'Shuffle (albums)',
$if($strcmp(%cwb_playback_order%,'Shuffle (albums)'),
'Shuffle (directories)',
$if($strcmp(%cwb_playback_order%,'Shuffle (directories)'),
'Shuffle (tracks)',
$if($strcmp(%cwb_playback_order%,'Shuffle (tracks)'),
'Default',
)
)
)
)
)
)
,
)
///////////2
$puts(Evidenziato,$font(lcd2 bold,10,,128-0-255))
$alignabs(10,250,150,25,,)
$if($strcmp(%cwb_playback_order%,'Default'),
$get(evidenziato)'REPEAT (PLAYLIST)',
$if($strcmp(%cwb_playback_order%,'Repeat (playlist)'),
$get(evidenziato)'REPEAT (TRACK)',
$if($strcmp(%cwb_playback_order%,'repeat (track)'),
$get(evidenziato)'SHUFFLE (ALBUMS)',
)
)
)
)
It seems like these lines -
'$font(lcd2 bold,10,,128-0-255)'REPEAT TRACK'',
have 2 extra ' . It should be -
'$font(lcd2 bold,10,,128-0-255)REPEAT TRACK',
Hi,
I'm new to Foobar, so I have to ask.
I have several panels in Tabbed panel stack mod.
I'd like to create "switching tab button".
I expect something like this, but I'm not sure with syntax and so on.
$if (Single viev,
$button(150,1,0,0,22,21,image,hover, Album View,),
$button(150,1,0,0,22,21,image,hover, Single View,)
)
I've tried to serch solution, or some good reference manual but without succes.
Thanks for help....
This is a tricky one. I know of no programmatic way to test if a given tab is active, or what the currently active tab is named. Theoretically you should be able to do something like this:
$button(150,1,0,0,22,21,image,hover,Panel #0 Cycle Forward,)
however the # is an invalid character and it wont work even if you surround it in single quotes or change it to $char(35). So unless things change I do not think your wish to have a toggle button will work. You can however create two separate buttons next to each other in your layout like this:
$button(150,1,0,0,22,21,image,hover,Album View,)
$button(172,1,0,0,22,21,image,hover,Single View,)
Hi,
I'm new to Foobar, so I have to ask.
I have several panels in Tabbed panel stack mod.
I'd like to create "switching tab button".
I expect something like this, but I'm not sure with syntax and so on.
$if (Single viev,
$button(150,1,0,0,22,21,image,hover, Album View,),
$button(150,1,0,0,22,21,image,hover, Single View,)
)
I've tried to serch solution, or some good reference manual but without succes.
Thanks for help....
This is a tricky one. I know of no programmatic way to test if a given tab is active, or what the currently active tab is named. Theoretically you should be able to do something like this:
$button(150,1,0,0,22,21,image,hover,Panel #0 Cycle Forward,)
however the # is an invalid character and it wont work even if you surround it in single quotes or change it to $char(35). So unless things change I do not think your wish to have a toggle button will work. You can however create two separate buttons next to each other in your layout like this:
$button(150,1,0,0,22,21,image,hover,Album View,)
$button(172,1,0,0,22,21,image,hover,Single View,)
Thank you for explanation. I think I will use two buttons.
Exist there some reference of possible button commands? I didn't find it anywhere.
$imageabs2(200,200,,,,,155,50,$get(cover1),nokeepaspect)
$imageabs2(200,200,,,,,155,50,$get(cover2),nokeepaspect)
$imageabs2(200,200,,,,,155,253,$get(cover1),nokeepaspectROTATEFLIP-6)
$imageabs2(200,200,,,,,155,253,$get(cover2),nokeepaspectROTATEFLIP-6)
My rotated covers don't resize if there smaller than 200 by 200. It's only the rotated ones...
What's wrong with my code or is this a bug? can please somebody help me
thanks in advance
$imageabs2(200,200,,,,,155,50,$get(cover1),nokeepaspect)
$imageabs2(200,200,,,,,155,50,$get(cover2),nokeepaspect)
$imageabs2(200,200,,,,,155,253,$get(cover1),nokeepaspectROTATEFLIP-6)
$imageabs2(200,200,,,,,155,253,$get(cover2),nokeepaspectROTATEFLIP-6)
My rotated covers don't resize if there smaller than 200 by 200. It's only the rotated ones...
What's wrong with my code or is this a bug? can please somebody help me
thanks in advance
You need a space between your options -
,nokeepaspect ROTATEFLIP-6)
Has anyone figured out how to make scrolling lyrics in the info panel yet?
I do, however, very much like the idea of having separate tabs for // Background, // PerTrack, // PerSecond, etc. but how do you dictate which code is processed in what order? Sometimes I want // PerSecond code to be rendered before // PerTrack code and visa versa.
I had always assumed that the trackinfo_mod processed code in a set order - // Global, then // Background, then // PerTrack, then //PerSecond. Is it actually possible to reorder this processing? If so, how about having multiple instances of a // PerTrack section for example?
Has anyone figured out how to make scrolling lyrics in the info panel yet?
i was just about to ask if any1 had done this. But also how do you have the lyric line of the song highlighted
This was what i propose (please say if its a stupid idea/theres a easier way etc)
use the tag sync_lyric or whatever ppl use to contains all the timestamps and lyrics (copy and pasted from file). Then have in the //per second
when [time stamp] equals current tracks time, change font - lyric line - change back font - next line.
Any ideas on how to actually code this? i would somehow need to look up the next occurance of [time stamp]? a while loop somehow? by [timestamp] i mean eg [0:11]
I know that i could just use a lyric panel but i want to have the lyrics over a image and also have the lyrics embedded.
Hi, at all. For my problems with playback order i try the suggestion found some post later, (wraithdu) but it not work.
The problem is the charter "(" and the charter ")" it is interpreted as part of the expression and not like text.
The solution which i have found is the use of function $char().
'$font(lcd2 bold,10,,128-0-255)'REPEAT '$char(40)'PLAYLIST'$char(41)'
zhdali: Using single quotes inside of single quotes gets really messy. Try this instead:
'$font(lcd2 bold,10,,128-0-255)Repeat $char(40)playlist$char(41)'
See waithdu's post below, the name of the button command should match exactly the name of the function you wish to execute. Dont put any font commands in with it.
I just need the timing of the scroll to be correct. Right now I have the lyrics scroll up to the top and just cut the rest off but I would like the entire song's lyrics to scroll by.
upps, so sorry: wrong post in wrong thread.
please ignore this one.
Hi, at all. For my problems with playback order i try the suggestion found some post later, (wraithdu) but it not work.
I believe it didn't work because you wrote the wrong command code. I just tested this and it works as it should. Paste into a new trackinfo_mod, play a song (becuase %cwb_playback_order% is only valid while a song is playing) and try it out.
%cwb_playback_order%
$button2(5,20,0,0,50,15,'default','DEFAULT','Default',)
$button2(5,35,0,0,50,15,'repeat','REPEAT','Repeat (playlist)',)
Has anyone had luck with the scrolling lyrics yet?
or
Does anyone know how to identify the length of the lyrics tag in total lines rather than characters?
Mhh, i wont specify which i found my solution and i change little the way i write the button. And no need help for it. However i'm curious to discover the problem.
For wraithdu: Your code write two buttons
button 1 write on screen "default" or "DEFAULT"
button 2 write on screen "repeat" or "REPEAT"
And this is ok, but my difficult is create a button which write this:
button 2 write on screen "repeat (playlist)" or "REPEAT (PLAYLIST)"
If you write a code like this:
%cwb_playback_order%
$button2(5,20,0,0,50,15,'default','DEFAULT','Default',)
$button2(5,35,0,0,50,15,'repeat (playlist)','REPEAT (PLAYLIST)','Repeat (playlist)',)
At least at me not work, and from this problem the question: How write a button name which contains parenthesis?
zhdali:
// PerSecond
Current Mode: %cwb_playback_order%
// PerTrack
$button2(5,20,0,0,150,15,'default','DEFAULT','Default',)
$button2(5,35,0,0,150,15,'repeat $char(40)playlist$char(41)','REPEAT $char(40)PLAYLIST$char(41)','Repeat (playlist)',)
$button2(5,50,0,0,150,15,'repeat $char(40)track$char(41)','REPEAT $char(40)TRACK$char(41)','Repeat (track)',)
$button2(5,65,0,0,150,15,'shuffle $char(40)albums$char(41)','SHUFFLE $char(40)ALBUMS$char(41)','Shuffle (albums)',)
$button2(5,80,0,0,150,15,'shuffle $char(40)directories$char(41)','SHUFFLE $char(40)DIRECTORIES$char(41)','Shuffle (directories)',)
$button2(5,95,0,0,150,15,'shuffle $char(40)tracks$char(41)','SHUFFLE $char(40)TRACKS$char(41)','Shuffle (tracks)',)
Scrolling lyrics, anyone? No?
I hope this is the right place (don't know if it's a behaviour of track_info_mod or foo_ui_tabs)!
I have the following Setup (generalized)
Tabbed Panel Stack mod
--Horizontal splitter
----track_info_mod
----...
--track_info_mod
So I have two 'Main'-tabs: one containing a trackinfo for navigation and all the other stuff and the other has only one fullscreen trackinfo!
I am hiding the tab-bar at the top and change the layouts per
$button(70,0,0,0,0,0,images\buttons\layout-right.png,images\buttons\layout-right.png,fullview,)
and
$button(10,10,0,0,0,0,images\buttons\layout-left.png,images\buttons\layout-left.png,normalview,)
So now both trackinfos have some same space on the top left of each tab:
Normal view:
(http://xelerus.wkjournal.de/ablage/fb2k_infoA.png)
Full view:
(http://xelerus.wkjournal.de/ablage/fb2k_infoB.png)
Now my problem is that when I don't hit the change-layout button exactly in the full view, music suddenly stops! It took me some time to get what's happening.
Both images with some transparency:
(http://xelerus.wkjournal.de/ablage/fb2k_infoC.png)
So it seems that the trackinfo(or the Panel Stack?) is somehow 'transparent' aswell and when I click aside of the layout-change button, I accidentally click the Stop-button which is in the other tab (The other buttons are also working 'through' the Full-view-trackinfo)!
Using:
foobar2000 v0.9.4.1
foo_uie_tabs.dll (2006-10-17 22:54:32) Tabbed panel modified 0.2.5
foo_uie_trackinfo_mod.dll (2007-01-05 13:36:20) Track info panel mod 0.8.0 beta [Jan 5 2007 - 13:36:12]
ahhh my trackinfo panel is not updating.. i read that i need to go back and install the old version and then check some box and then reinstall? but which old version and where can i get it?
Love this panel, and fully support the "show all functions in config window"
One other thing: why does the code jump back to the first line when you press "apply"? Then I have to search back to the line I was editing again
never noticed that the bothering tag updating process window doesnt appear when rating my song with a button out of the trackinfo panel instead of using the standard button panel
or was this always the case
Hi all,
i've tried to display coverart image with dynamic height and weight like this.
$imageabs2($sub(%_width%,20),$sub(%_width%,20),,,,,10,10,$replace(%path%,%filename_ext%,folder.jpg),NOKEEPASPECT)
But then I noticed that with resizing foobar starts to take RAM more and more.
Is it a bug or I've done something wrong?
Hi all,
i've tried to display coverart image with dynamic height and weight like this.
$imageabs2($sub(%_width%,20),$sub(%_width%,20),,,,,10,10,$replace(%path%,%filename_ext%,folder.jpg),NOKEEPASPECT)
But then I noticed that with resizing foobar starts to take RAM more and more.
Is it a bug or I've done something wrong?
The plugin is caching all resized version of the picture....
I've got a list of moods - which I'd like to display over two columns - can I force this after a certain amount?
$alignrel(left,top) $char(10) $char(10)
[%Mood%]
Dramatic
Passionate
Fiery
Visceral
Aggressive
Malevolent
Menacing
Ominous
Provocative
Volatile
Rousing
Intense
Raucous
Eerie
Theatrical
Rebellious
If it hasn't been mentioned before, or, if it has, as a little reminder--could you please fix the bug that scrolls the configuration editbox to the top when you apply changes. Editing your configuration like this is really difficult.
rouge: There is a new version of trackinfomod included with PanelsUI. This version has a new code editbox that has basic syntax highlighting, is resizable, and no longer resets to the top when you apply the code.
Was wondering what the command was to open the main menu with a $button or $button2...
Does anyone know this?
Hey
Is it possible to rotate images in the same way foo_uie_albumart does? I suppose it could be done with $replace but how would I define cycle time and make it jump back to first image when last has been displayed?
Also this has probably been requested before but I'd love to have an option for making trackinfo area scrollable for showing lyrics.
orchid: From the
Track Info Panel Mod Wiki (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29)imageOptions can be
* ALPHA-x
Adjusts the opacity of the image, where the integer value can be between 0 (fully transparent) to 255 (fully opaque).
* NOKEEPASPECT
Ignores the aspect ratio when resizing.
* VALIGN-T (vertical align-TOP), VALIGN-B, HALIGN-L, HALIGN-R
Allows alignment options.
* ROTATEFLIP-x
Where x is:
× Flip X Flip Y Flip XY None
Rotate 90° CW 5 7 3 1
Rotate 180° CW 6 4 0 2
Rotate 270° CW 7 5 1 3
None 4 6 2 0
See the section regarding $imageabs2()
See the section regarding $imageabs2()
Thanks for reply.
Ofcourse I've read through the wiki page and if I understood correctly (and if you are referring to) "ROTATEFLIP-x" only flips/mirrors a single image. What I'm trying to do is cycle through multiple images like the album art component can do, to rotate N amount of images in the same spot. Should I speak of cycle instead rotate? Hope I made it clear now
You would have to setup each directory of images similarly, but something like this should work if images are named, for example, cover1.jpg, cover2.jpg, and cover3.jpg, rotated every 30 seconds. The downfall is this has to be in a // PerSecond section so the art is redrawn every second. Understandably CPU usage is a little higher than normal due to this. Also, this code will skip cycles if you skip through the song using the seekbar as it relies on 30 second intervals in playback time.
// Global
// Background
// PerTrack
// PerSecond
// if art.num does not exist, set it to 1
$if($getpvar(art.num),,$setpvar(art.num,1))
// when a new song starts, reset art.num to 1
$ifequal(%playback_time_seconds%,0,$setpvar(art.num,1),)
// add 1 to art.num every 30 seconds
$ifequal($mod($sub(%playback_time_seconds%,1),30),29,
$setpvar(art.num,$add($getpvar(art.num),1))
,)
// if track is playing, cycle art
$if(%isplaying%,
$if($fileexists($replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg')),
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg'),nokeepaspect)
,
// if cover(art.num).jpg does not exist, assume restart the cycle and reset art.num to 1
$setpvar(art.num,1)
// imageabs2 tag immediately after reset art.num to avoid 1 second gap with no art displayed
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg'),nokeepaspect)
)
,
// if track is not playing, display a default image, or cover1.jpg, etc.
$imageabs2(100,100,,,,,10,10,'/images\default.jpg',nokeepaspect)
)
// monitor value of art.num for debug
$align(left,bottom)$font(Calibri,10,,255-255-255)' '$getpvar(art.num)
Thank you wraithdu that gave a good idea how to do it. Is it possible to add transition time between images?
And another thing.. How do I bind buttons to current playlist selection instead of now playing item?
I don't believe it's possible to transition between art exactly, at least not a blending effect. You could do something with cropping to make the image appear as a horizontal/vertical/diagonal wipe. But I don't know how to get timing in smaller increments than seconds, so the wipe would be very choppy and ugly IMO.
And another thing.. How do I bind buttons to current playlist selection instead of now playing item?
I'm not sure what you mean by this? Buttons are assigned commands, that is all. If a command affects the selection or now playing item, that is the nature of the command.
I'm not sure what you mean by this? Buttons are assigned commands, that is all. If a command affects the selection or now playing item, that is the nature of the command.
I'm trying to link rating buttons to current playlist selection. If I use the code below it rates currently playing song instead. In the normal buttons panel you can select the item group a specific command affects.
$button(300,10,0,0,22,22,images\orchid\buttons\1.png,images\orchid\buttons\1a.png,rating1,)
"rating1" is a masstagger script that changes %rating%=1
I see exactly what you are saying now. Unfortunately I don't have an answer for you. Maybe the actual command is altered/appended in some way to affect the selection vs now playing item. If it is though, it is not shown how it is changed. This might just be a function of the button panel though, and would have to be something added to Track Display button coding by terrestrial to enable this functionality, ie something in the OPTIONS section of the button code.
What happens if you stop playback (so there is no now playing item), then select some songs, then try your button?
I'm having problem with some code I have here:
//REPLAY GAIN//
$puts(rpg,
$if(%__replaygain_track_gain%, TGain: $rgb(77,122,172)$cut(%__replaygain_track_gain%,5)' dB',$rgb(78,78,78) '['$button2(300,1,0,0,150,16,'$font(tahoma,8,underline,61-131-182)No TGain','$font(tahoma,8,underline italics,120-145-209)No TGain',Scan Per-file Track Gain,)']'))
$alignabs(400,1,95,16,,)
$get(rpg)
//REPLAY GAIN//
What it's supposed to do is display the replaygain info, which it does when the file HAS some. But if it DOESN'T have any, its supposed to display a [ bracket, then a button I click (text) that will scan the file, then a closing ] bracket.
I'm not sure what I screwed up here in the code . A little help?
Hi, I've got a problem.
I was planning to change the old foo_uie_trackinfo to this one but i encountered a problem (i simple one i hope)
Basicly the problem is that [%playback_time% / ]%length% or similar don't work:
(http://xs412.xs.to/xs412/07074/foo_prob.jpg.xs.jpg) (http://xs.to/xs.php?h=xs412&d=07074&f=foo_prob.jpg)
All the time its 00:00/XX:XX
I hope someone could point me where the problem is
Hi, I've got a problem.
I was planning to change the old foo_uie_trackinfo to this one but i encountered a problem (i simple one i hope)
Basicly the problem is that [%playback_time% / ]%length% or similar don't work:
[a href="http://xs.to/xs.php?h=xs412&d=07074&f=foo_prob.jpg" target="_blank"].
Thank you. Works perfectly now
Could anyone tell me if there is a command to switch a panel between 'follow cursor' and 'now playing' modes? I want to switch to 'now playing' when playing and 'follow cursor' when stopped.
I've seen this on the forum and it works good, but when I add the last part ($char(10)[%playback_time% / ] %length%) I'm getting an
"No track
?"
when I dont play anything, the No track is fine, but how do I delete the "?"
// PerSecond
$char(10)$char(10)$if(%_trackinfo_notrack%,No track,Artist: %artist%
$char(10)Title: %title%
$char(10)Album: %album%)
$char(10)[%playback_time% / ] %length%
I've seen this on the forum and it works good, but when I add the last part ($char(10)[%playback_time% / ] %length%) I'm getting an
"No track
?"
when I dont play anything, the No track is fine, but how do I delete the "?"
// PerSecond
$char(10)$char(10)$if(%_trackinfo_notrack%,No track,Artist: %artist%
$char(10)Title: %title%
$char(10)Album: %album%)
$char(10)[%playback_time% / ] %length%
add [ and ] around %length%. [ and ] make the "tagz" only show up if the "tag" is there. So the last line would read: $char(10)[%playback_time% / ] [%length%]
(NOTE: Still need help with my problem (http://www.hydrogenaudio.org/forums/index.php?showtopic=47044&st=1025&gopid=472427&#) meantioned above people ...)
sorry I can't help you but maybe someone knows this:
I want to add the source in the info panel
So I already have:
Artist:
Album:
etc...
But now I want to add the source of the folder like:
Source: D:\music\John - Happy Song.mp3
I use now [%path%] but this only shows D:\My
instand of D:\My music\folder\John - Happy Song.mp3
Has anyone had any luck associating .trackinfo files to an external editor? When I click the Edit button it always uses Notepad. I'm a little bit unsure about this anyway since I don't know where these .trackinfo files would be. Are the just created in the TEMP directory?
sorry I can't help you but maybe someone knows this:
I want to add the source in the info panel
So I already have:
Artist:
Album:
etc...
But now I want to add the source of the folder like:
Source: D:\music\John - Happy Song.mp3
I use now [%path%] but this only shows D:\My
instand of D:\My music\folder\John - Happy Song.mp3
Hmm, not sure. It works just fine for me, and I have spaces in my directory structure as well. Post the rest of your code. Perhaps there's a problem somewhere else that is causing the text to be cut off.
I tried this code and now it works fine.
so I think you are right, the code was wrong
// PerSecond
$char(10)$if(%_trackinfo_notrack%,No track,
$char(10)Artist: %artist%
$char(10)Title: %title%
$char(10)Album: %album%
$char(10)Date: %date%
$char(10)Length: %Playback_time% / %length%
$char(10)Bitrate: %bitrate%kbps
)
@terrstrial
Is there a way to use mouse wheel for scroll like the classic trackinfo?
no, the display code (and syntax) are not really designed for scrolling.
Is this still the case with the latest version? I'm trying to create a tagging panel and have a fairly lengthy list.
How do I get the bitrate at //PerTrack and %Playback_time% / %length% //PerSecond in the following order:
- Artist (//PerTrack)
- Title (//PerTrack)
- Album (//PerTrack)
- Date (//PerTrack)
- Lenght //PerSecond
- Bitrate (//PerTrack)
I use now
// PerSecond
$char(10)$if(%_trackinfo_notrack%,No track,
$char(10)Artist: %artist%
$char(10)Title: %title%
$char(10)Album: %album%
$char(10)Date: %date%
$char(10)Length: %Playback_time% / %length%
$char(10)Bitrate: %bitrate%kbps
)
But when I change // PerTrack everyting is going wrong.
Are you looking for something like this?
// PerTrack
$alignabs(0,0,50,15,,)Artist:
$alignabs(0,15,50,15,,)Title:
$alignabs(0,30,50,15,,)Album:
$alignabs(0,45,50,15,,)Date:
$alignabs(0,60,50,15,,)Length:
$alignabs(0,75,50,15,,)Bitrate:
$alignabs(60,0,$sub(%_width%,60),15,,)%artist%
$alignabs(60,15,$sub(%_width%,60),15,,)%title%
$alignabs(60,30,$sub(%_width%,60),15,,)%album%
$alignabs(60,45,$sub(%_width%,60),15,,)%date%
$alignabs(60,75,$sub(%_width%,60),15,,)%bitrate%kbps
// PerSecond
$alignabs(60,60,$sub(%_width%,60),15,,)%Playback_time% / %length%
The cursor position seems to get reset when changing from PerTrack to PerSecond so I personally avoid using $char(10) and instead use $alignabs() for greater reliability and flexibility.
Also you might want to further develop the way you display bitrate because with the approach you are using, variable and adaptive bitrates will be misrepresented. I'd suggest either moving that line to PerSecond as well or add additional logic to show VBR, ABR, or something else instead of the normal bitrate.
Yes I like that, but one thing is going wrong I just want this:
- Artist ARTIST
- Title TITLE
- Album ALBUM
- Date DATE
- Lenght LENGHT
- Bitrate BITRATE
instead of this:
- Artist............ARTIST
- Title.............TITLE
- Album..........ALBUM
- Date............DATE
- Lenght..........LENGHT
- Bitrate..........BITRATE
I'm totally noob but I see it's the (60,0,$sub(%_width%,60),15,,) doing this.
When I change 60 to 40 it's a little better, but is there a better option for this? so it's just
Abum: Album name
only 1 single space.
If you prefer that type of formatting, try this instead:
// PerTrack
$alignabs(0,0,%_width%,15,,)Artist: %artist%
$alignabs(0,15,%_width%,15,,)Title: %title%
$alignabs(0,30,%_width%,15,,)Album: %album%
$alignabs(0,45,%_width%,15,,)Date: %date%
$alignabs(0,75,%_width%,15,,)Bitrate: %bitrate%kbps
// PerSecond
$alignabs(0,60,%_width%,15,,)Length: %Playback_time% / %length%
It's the same basic approach. By using $alignabs() for each line you can split up your text into whatever update interval you want and not wory about the text positioning being reset on the refresh. I prefer to handle the labels separately so you can do stuff like right alignment on the labels.. $alignabs(0,0,50,15,right,)Label: but the above code should do what you ask.
Since trackinfo isn't scrollable I was wondering if I can split text into two or more side by side columns, if a specific height is exceeded? I'd use this for showing long lyrics which don't fit on the panel.
(http://images.yeuxverts.net/_images_/oje5up.jdocmf.12r35c.tb.gif) (http://images.yeuxverts.net/view.php?oje5up.jdocmf.12r35c.jpg)
Edit: I figured how to split it with $len() but I'd prefer by the height of area. Thought I could use $calcheight() but seems like it returns the size of font instead. So is there any function for calculating the height of a multiline string? Below is an example how I did it so far
$ifgreater($len(%lyrics%),1000,
$alignabs(0,65,$div(%_width%,2),$sub(%_height%,80),center,middle)
$left(%lyrics%,$div($len(%lyrics%),2))
$alignabs(0,65,$muldiv(%_width%,3,2),$sub(%_height%,80),center,middle)
$right(%lyrics%,$add($div($len(%lyrics%),2),1)),
$alignabs(0,65,%_width%,$sub(%_height%,80),center,middle)%lyrics%)
I want two buttons for control playback's order.
With default order:
$button(,,,,,,,,default,)
and work very well, but with shuffle (tracks) (or another shuffle mode) non:
$button(,,,,,,,,Shuffle(tracks),)
I try with Playback/Order/Shuffle (tracks), Shuffle, Shuffle tracks... and nothing... and try with this:
# Playback/Order/Shuffle
# Playback/Order/Shuffle album
# Playback/Order/Shuffle album 2
# Playback/Order/Shuffle tag set
how put: http://wiki.hydrogenaudio.org/index.php?ti...text_Menu_Items (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Commandline_Guide#Context_Menu_Items)
BUT NOTHING...
any sugerence?
THANKS!
(sorry for my english)
If you prefer that type of formatting, try this instead:
// PerTrack
$alignabs(0,0,%_width%,15,,)Artist: %artist%
$alignabs(0,15,%_width%,15,,)Title: %title%
$alignabs(0,30,%_width%,15,,)Album: %album%
$alignabs(0,45,%_width%,15,,)Date: %date%
$alignabs(0,75,%_width%,15,,)Bitrate: %bitrate%kbps
// PerSecond
$alignabs(0,60,%_width%,15,,)Length: %Playback_time% / %length%
It's the same basic approach. By using $alignabs() for each line you can split up your text into whatever update interval you want and not wory about the text positioning being reset on the refresh. I prefer to handle the labels separately so you can do stuff like right alignment on the labels.. $alignabs(0,0,50,15,right,)Label: but the above code should do what you ask.
Thank you, can you help me with one little thing?
With the $char(10) code I used
$char(10)$if(%_trackinfo_notrack%,No track,
when I listened to nothing.
Is there anyway to do this with the $alignabs code?
When no track is playing:
No track
When Pause:
Artist: ARTIST
Title: TITLE
Album: ALBUM
Date: DATE
Lenght: LENGHT
Bitrate: BITRATE
Status: Pause
[removed]
Is there anyway to do this with the $alignabs code?
When no track is playing: No track
When Pause: ...
// PerTrack
$if(%_trackinfo_notrack%,
$alignabs(0,0,%_width%,15,,)No track,
$alignabs(0,0,%_width%,15,,)Artist: %artist%
$alignabs(0,15,%_width%,15,,)Title: %title%
$alignabs(0,30,%_width%,15,,)Album: %album%
$alignabs(0,45,%_width%,15,,)Date: %date%
$alignabs(0,75,%_width%,15,,)Bitrate: %bitrate%kbps
// PerSecond
$alignabs(0,60,%_width%,15,,)Length: %Playback_time% / %length%
)
Or if you don't want to show the trackinfos while paused use something like this
// PerTrack
$if(%_trackinfo_notrack%,
$alignabs(0,0,%_width%,15,,)No track,
$if(%ispaused%,
$alignabs(0,0,%_width%,15,,)Paused,
$alignabs(0,0,%_width%,15,,)Artist: %artist%
$alignabs(0,15,%_width%,15,,)Title: %title%
$alignabs(0,30,%_width%,15,,)Album: %album%
$alignabs(0,45,%_width%,15,,)Date: %date%
$alignabs(0,75,%_width%,15,,)Bitrate: %bitrate%kbps
// PerSecond
$alignabs(0,60,%_width%,15,,)Length: %Playback_time% / %length%
))
I want two buttons for control playback's order.
With default order:
$button(,,,,,,,,default,)
and work very well, but with shuffle (tracks) (or another shuffle mode) non:
$button(,,,,,,,,Shuffle(tracks),)
I have posted this before but the search function on this forum is next to worthless, I couldnt even find it. So here we go again, this is a basic example of how to make buttons for all of the playback modes:
$button2(0,0,0,0,%_width%,15,'Default','DEFAULT','Default',)
$button2(0,15,0,0,%_width%,15,'Repeat $char(40)Playlist$char(41)','REPEAT $char(40)PLAYLIST$char(41)','Repeat (playlist)',)
$button2(0,30,0,0,%_width%,15,'Repeat $char(40)Track$char(41)','REPEAT $char(40)TRACK$char(41)','Repeat (track)',)
$button2(0,45,0,0,%_width%,15,'Shuffle $char(40)Albums$char(41)','SHUFFLE $char(40)ALBUMS$char(41)','Shuffle (albums)',)
$button2(0,60,0,0,%_width%,15,'Shuffle $char(40)Directories$char(41)','SHUFFLE $char(40)DIRECTORIES$char(41)','Shuffle (directories)',)
$button2(0,75,0,0,%_width%,15,'Shuffle $char(40)Tracks$char(41)','SHUFFLE $char(40)TRACKS$char(41)','Shuffle (tracks)',)
I want two buttons for control playback's order.
With default order:
$button(,,,,,,,,default,)
and work very well, but with shuffle (tracks) (or another shuffle mode) non:
$button(,,,,,,,,Shuffle(tracks),)
I have posted this before but the search function on this forum is next to worthless, I couldnt even find it. So here we go again, this is a basic example of how to make buttons for all of the playback modes:
$button2(0,0,0,0,%_width%,15,'Default','DEFAULT','Default',)
$button2(0,15,0,0,%_width%,15,'Repeat $char(40)Playlist$char(41)','REPEAT $char(40)PLAYLIST$char(41)','Repeat (playlist)',)
$button2(0,30,0,0,%_width%,15,'Repeat $char(40)Track$char(41)','REPEAT $char(40)TRACK$char(41)','Repeat (track)',)
$button2(0,45,0,0,%_width%,15,'Shuffle $char(40)Albums$char(41)','SHUFFLE $char(40)ALBUMS$char(41)','Shuffle (albums)',)
$button2(0,60,0,0,%_width%,15,'Shuffle $char(40)Directories$char(41)','SHUFFLE $char(40)DIRECTORIES$char(41)','Shuffle (directories)',)
$button2(0,75,0,0,%_width%,15,'Shuffle $char(40)Tracks$char(41)','SHUFFLE $char(40)TRACKS$char(41)','Shuffle (tracks)',)
oh thanks!!
I must write Shuffle (tracks) with '' : 'Shuffle (tracks)'
Now work very fine
Thanks...!!
I'm having problem with some code I have here:
//REPLAY GAIN//
$puts(rpg,
$if(%__replaygain_track_gain%, TGain: $rgb(77,122,172)$cut(%__replaygain_track_gain%,5)' dB',$rgb(78,78,78) '['$button2(300,1,0,0,150,16,'$font(tahoma,8,underline,61-131-182)No TGain','$font(tahoma,8,underline italics,120-145-209)No TGain',Scan Per-file Track Gain,)']'))
$alignabs(400,1,95,16,,)
$get(rpg)
//REPLAY GAIN//
I'm not sure why you are caching the code snippet into a string variable only to extract it out again later. I am not familiar with that technique and not sure why you would that. That being said, I don't think wrapping the $font() call in single quotes will work in this scenario, try moving the single quotes on the $font() calls to the end of the call.
Thanks for the reply, but that wasn't part of the problem . I'm not to sure what was, but I decided I'd make the code over from scratch. So now I have the following, and it works perfectly .
//REPLAY GAIN//
$alignabs(400,1,100,16,,)
$if(%__replaygain_track_gain%, TGain: $rgb(77,122,172)$cut(%__replaygain_track_gain%,5)' dB',$alignabs(420,1,100,16,,)'[' ']'$button2(425,1,0,0,50,16,'$font(tahoma,8,underline,126-126-126)No TGain','$font(tahoma,8,underline,126-126-126)No TGain',Scan Per-file Track Gain,))
//REPLAY GAIN//
I read, that the author removed the functionality, that a line starts scrolling if its wider than the line it is placed in is. Is it possible to do this via a workaround ? because this is very important for me !
thank you very much, elemakil
I have a little feature request. I was wondering if like NOKEEPASPECT we could have a REPEAT option for images. This would b just awesome to draw background.
I need more code help...
I have made a custom status bar, and need a bit of help. Here is the code first of all:
// PerSecond
// Global
$puts(rating,$if2(%rating%,0))
$puts(ratedir,images\rating_stars\)
$puts(ratedir2,images\rating_hearts\)
$puts(X,1090)
$puts(Y,1)
$puts(spacer_symb,' ')
$puts(spacer_width,2)
$puts(spacer,$repeat($get(spacer_symb),$get(spacer_width)))
$puts(text_time_remaining,$rgb(153,57,146)[%_time_remaining%])
$puts(numitems,%cwb_activelist_count%)
$puts(RC1,$rgb(245,255,53,245,255,53))
$puts(RC2,$rgb(64,67,12,64,67,12))
$puts(RC3,$rgb(60,221,68,60,221,68))
$puts(RC4,$rgb(223,0,5,223,0,5))
// Background
$imageabs(0,0,\images\statusbg.png,)
// PerTrack
//DIRECTORY LINKS//
$alignabs(775,1,35,16,,)
$font(Calibri,9,,221-222-223)Open: $button2(810,1,0,0,44,16,'$font(tahoma,8,underline,61-131-182)Directory','$font(tahoma,8,underline italics,120-145-209)Directory',Open Directory,)
$alignabs(854,1,45,26,,)
$font(Calibri,9,,221-222-223)'|'$button2(860,2,0,0,10,16,'$font(Wingdings 3,8,underline,61-131-182)Q','$font(Wingdings 3,8,underline italics,120-145-209)Q',Update all,)
//DIRECTORY LINKS//
//REPLAY GAIN//
$alignabs(400,1,100,16,,)
$if(%__replaygain_track_gain%, TGain: $rgb(77,122,172)$cut(%__replaygain_track_gain%,5)' dB',$alignabs(420,1,100,16,,)'[' ']'$button2(425,1,0,0,50,16,'$font(tahoma,8,underline,126-126-126)No TGain','$font(tahoma,8,underline,126-126-126)No TGain',Scan Per-file Track Gain,))
//REPLAY GAIN//
// PerSecond
//PROGRESS BAR//
$puts(pbw,300)
$padding(4,0)
$align(left,)
$font(Calibri,9,,221-222-223)
[%_time_elapsed%]
$drawrect($muldiv(%_width%,8,$get(pbw)),3,$muldiv(%_width%,81,$get(pbw)),9,brushcolor-null pencolor-223-0-5)
$drawrect($add($muldiv(%_width%,8,$get(pbw)),2),5,$ifgreater($muldiv($sub($muldiv(%_width%,81,$get(pbw)),4),%playback_time_seconds%,%length_seconds%),0,$muldiv($sub($muldiv(%_width%,81,$get(pbw)),4),%playback_time_seconds%,%length_seconds%),1),5,brushcolor-188-54-57 pencolor-null)
$alignabs(350,1,30,16,,)
$font(Calibri,9,,221-222-223)
[%length%]
$alignabs(373,1,40,16,,)
$puts(progress_%,
$if(%_time_total_seconds%,' '$rgb(49,130,81)$pad_right($muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%),3)$rgb(49,130,81)'%'' '))
$get(progress_%)
//PROGRESS BAR//
//REMAINING TIME//
$alignabs(500,1,130,16,,)
Remaining Time: $get(text_time_remaining)
$get(time)
//REMAINING TIME//
//NUMBER OF TOTAL SONGS//
$alignabs(635,1,140,16,,)
Total Songs: $rgb(158,146,75)$get(numitems) Songs
//NUMBER OF TOTAL SONGS//
//LAST PLAYED//
$alignabs(890,1,250,16,,)
Last Played: $if(%last_played%,$puts(diff,$cwb_datediff(%last_played%,%cwb_systemdate%))$ifgreater(1,$get(diff),$rgb(206,147,102)Played Today,$ifgreater(2,$get(diff),$rgb(188,140,92)Yesterday,$rgb(183,113,66)$get(diff) Days Ago)),$rgb(152,83,50)Never)
//LAST PLAYED//
//LYRICS AND ALBUM ART//
$alignabs(1050,-4,250,20,,)
$if(%LYRICS%,$font(Arial Unicode MS,12,,80-218-90)♬,$font(Arial Unicode MS,12,,42-42-42)♬)
$if($cwb_fileexists(C:\Song Album Covers\%album%.png),$font(Wingdings 2,12,,80-218-90)8,$font(Wingdings 2,12,,42-42-42)8)
//LYRICS AND ALBUM ART//
//RATING STARS//
$alignabs(1090,-1,150,16,,)
$font(Arial Unicode MS,9,,)
$if($greater(%play_counter%,99), $get(RC4)~❤~$get(RC2),
$if($greater(%play_counter%,49), $get(RC3)✓✓✓✓✓✓$get(RC2),
$if($greater(%play_counter%,24), $get(RC1)★★★★★$get(RC2),
$if($greater(%play_counter%,19), $get(RC1)★★★★$get(RC2)★,
$if($greater(%play_counter%,14), $get(RC1)★★★$get(RC2)★★,
$if($greater(%play_counter%,9), $get(RC1)★★$get(RC2)★★★,
$if($greater(%play_counter%,4), $get(RC1)★$get(RC2)★★★★,
$if(%play_counter%,) $get(RC2)★★★★★)))))))
//RATING STARS//
(There are some unicode characters in there, so you may see boxes near the end).
Anyways, the code works perfectly for what I need it to do. I just wanted to "enhance" it a little bit. I wanted to "wrap" the code into something so that when I have my foobar paused (%is_paused% works right?) the word "PAUSED" is in the center, and red with none of the other stuff showing. And when there is no song playing (%is_playing% might work) the words "NO SONG PLAYING" are displayed in the middle.
Could someone help me with this?
Thanks ^__^!
Keikonium: Basically you'll need to do something like this..
$if(%_isplaying%,
$if(%_ispaused%,
$align(center,middle)$font(,,,255-0-0)PAUSED,
'[Your Existing Code Here]'
),
$align(center,middle)$font(,,,255-0-0)NO SONG PLAYING
)
I made an attempt to rewrite the code you pasted however you have some strange issues going on with your refresh tags // PerSecond, // Global, // PerTrack, etc. You might want to take some time and clean that up.
Can I use PVAR to set a variable as a statement by itself? or must it be a button command?
$setpvar(variable name,value)
Thanks.
Still looking for solution for my problem (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47044&view=findpost&p=472925) about how to find out the height of a multiline string. Any help appreciated.
orchid:
Have you tried playing around with something like this?
$mul($div($calcwidth(%string%),%_width%),$calcheight(%string%))
though it will probably fail because of wordwrapping. I really wish there was a way to disable wordwrapping. Also did you want the height in pixels or number of lines?
Guys, I need a hand. Please.
I have a Trackinfo code for the old Trackinfo plugin (that is, the "no-mod" trackinfo) and I'm having problems adapting it to Terrestrial's trackinfo_mod.
Here is the code:
// Rash modified for Dark (Purple) Azrael Theme
// Font: Lucida Sans Unicode 8pt
f04a78Mode: %_trackinfo_mode%$char(10)$if(%_trackinfo_notrack%,No track,
$char(1)C0500d9Song Info$char(10)
f04a78Title: ffffff%title%$char(10)
f04a78Artist: F3EAE0%artist%$char(10)
f04a78Album: F3EAE0%album%$char(10)
f04a78Date: F3EAE0%date%)$char(10)
f04a78Genre: F3EAE0%genre%$char(10)
$char(1)C0500d9Tech Info$char(10)
f04a78Codec: F3EAE0%__codec% $char(10)
f04a78Bitrate: F3EAE0%__bitrate% Kbit/s$char(10)
f04a78Samplerate: F3EAE0%__samplerate% Hz$char(10)
f04a78Channels: F3EAE0$if(%__channels%,$ifgreater(%__channels%,2,%__channels%ch,$ifgreater(%__channels%,1,' 'Stereo,''Mono)),)$char(10)
f04a78Time: F3EAE0%_time_elapsed% / %_time_total%$char(10)
$puts(theme,1)
// progressbar config
$puts(progress_char,█)
$puts(progress_length,10)
$if($strcmp($get(theme),1),
$puts(progress_color1,$rgb(217,0,0))
// alt: 120,74,240
$puts(progress_color2,$rgb(63,63,63))
)
// PREPARE COLOR-STRINGS
// =========================================
$puts(progress_color1a,$blend($get(progress_color1),000000,1,4.5))
$puts(progress_color2a,$blend($get(progress_color2),000000,1,5.7))
// progressbar
$puts(progressbar,
$if(%_length_seconds%,
$puts(progress,$muldiv(%_time_elapsed_seconds%,$get(progress_length),%_length_seconds%))
$transition($repeat($get(progress_char),$get(progress)),$get(progress_color1a),$get(progress_color1))
$transition($repeat($get(progress_char),$sub($get(progress_length),$get(progress))),$get(progress_color2a),$get(progress_color2))
$pad_right($muldiv(%_time_elapsed_seconds%,100,%_length_seconds%),4)'%'
,streaming...
)
)
$get(progressbar)
I think I know how to convert the color information to $rgb(#,#,#), all I have to do is convert the hexadecimal number to decimal. That will give me a hard time, but that's OK. (Note: this old color information still works on Terrestrial's mod) Now, my trackinfo doesn't refresh by itself. I have the track play time on it and it doesn't update. If I make any modifications or if I simply click on settings then the trackinfo updates only once, correctly, but not anymore. The old trackinfo component allowed me to set a refresh time, trackinfo_mod doesn't. Could you guys help me adapt the new code? This is my first step towards my own PanelsUI customization. Thank you very much.
Try adding '// Per Second' as the first line, Either with or without the space, I can't remember.
i am trying to show the time elapsed and the total length of the track. I am using the code below, but the time elapsed does not update. is there something wrong with the code? or some other way to handle this?
// Per Second
$if(%_isplaying%,%_time_elapsed% ' / ')%length%
thanks
// PerSecond
$if(%_isplaying%,%_time_elapsed% ' / ')%length%
This works for me. Thats why i said, Try without the space.
i have tried with and without spaces. no luck.
how can i tell if i have the latest version of the plugin? maybe that is the problem?
Maybe, try updating. I know i pasted your code into my panel, changed it to // PerSecond and the time updated fine for me.
If your trackinfomod component is too old to support // PerSecond then there should be a checkbox in the config for update every second. Also, this component is no longer being maintained as a separate component and is now part of Panels UI.
Heh, Even i didn't know that.
Time for converting, I guess. Is PanelsUI stable enough already?
i had a space between Per and Second. that is what was messing me up.
is working fine now.
thanks!
The new functionality of PanelsUI is only enabled if you change your display to use it instead of ColumnsUI. Otherwise, Track Display and SCPL are basically unchanged from the previously separate versions, and function well. Oh yeah, the trackinfo panel's name was changed to Track Display.
Is there anyway to have a button stay in the mouse over form when clicked?
Alternatively, is there a way to tell what the playback order is?
I'm trying to make a button for shuffle and repeat that stay a different color when they are active but havent figured it out. Any help would be great, thanks.
Hi all,
I'm using a button to open Album list window. But it always opens over main foobar window
$button(291,1,0,0,22,21,/images\LE5\search.png,/images\LE5\search_.png,Album List,)
Is there any possibility to choose window position in button command?
PanelsUI replaces ColumnsUI?
Panels UI and Columns UI work together. Panels UI will replace Columns UI as your interface however Panels UI needs to have Columns UI installed to work properly and uses Columns UI components for the panels. It is more of a supliment than a replacement.
If you want to use the latest TrackInfoMod and SingleColumnPlaylist you simply need to put the foo_ui_panels.dll in your components directory and remove foo_uie_track_info_mod.dll and foo_uie_single_column_playlist.dll. You do not have to actually switch to the panels interface but the components have been consolidated into a single file.
Hi, i am trying to have %playback_time% in this format :
00:00:00 (HH:MM:SS). but i cant find a way to get it right, especially keeping everything in two digits. Does someone knows how to do this.
If you have cwb_hooks installed then you can use $cwb_hms( seconds ) to do the hard work for you.
wow, thank you!
Since we are discussing this, here is a bit of code I've been hammering out for a time display that you can click on to switch between time elapsed, time remaining, and total length:
// PerTrack
$button2($sub(%_width%,100),2,0,0,70,30,,'
$align(center,middle)
$select($add($getpvar(time.display),1),Elapsed,Remaining,Length)
',PVAR:SET:time.display:
$ifgreater($getpvar(time.display),1,0,$add($getpvar(time.display),1))
,)
// PerSecond
$font(tahoma,18,,0-0-0)
$select($add($getpvar(time.display),1),
$puts(time.display,%playback_time_seconds%)
,
$puts(time.display,$sub(%length_seconds%,%playback_time_seconds%))
,
$puts(time.display,%length_seconds%)
)
$alignabs($sub(%_width%,100),2,70,30,right,)
$ifgreater($get(time.display),59,,00:)
$ifgreater($get(time.display),9,,0)
$cwb_hms($get(time.display))
This works but there are a few things that bug me about it. I had to add the text for the hover code because if I left it blank, the time would disappear completely on mouseover. I wanted to put the time display as the normal button code however buttons do not work under persecond and the code wont update properly anywhere else. There is a slight delay when you take the mouse off of the button until the next persecond refresh.
Anyway it uses the $cwb_hms() function as mentioned above, it will pad zeros at the beginning if the time is too short, and I figured somebody might find this useful.
First of all, great plugin.
I don't know if this has been brought up already, but using this, I tried to have it display elapsed time / total time. The elapsed time kind of sticks unless foobar does something. Is there any way to keep the panel active so it keeps up with the time?
put
// PerSecond
above the part you want to get updated per second
EDIT: Never mind, I got it. Thanks!
hey i was rearrranging my layout and somehow my whole config of my track info mod panel disappeared. Is there a way to get it back (ie it's somewhere in a config file) or am i screwed?
if foobar hasn't been closed yet, kill it with the taskmanager. If it has, you're screwed.
hey i was rearrranging my layout and somehow my whole config of my track info mod panel disappeared. Is there a way to get it back (ie it's somewhere in a config file) or am i screwed?
I discoved the other day that windows records the foobar.cfg as part of the system restore. I don't suggest that you use System Restore, but you should be able to get it out of the System Volume Information folder (wont be named foobar.cfg mind).
do you mind reminding me where i can find this folder? also under what name should i find this .cfg? thanks a million
You'll need Administrator access, and what ever you do don't muck about with the files. If you do and attempt a restore you really screw up you system. It's probably in:
C:\System Volume Information\_restore{<hexcode>}\RP<numbers>\A<numbers>.cfg
Is there any possibility to have buttons that doesn't execute a command but opens a submenu with commands?
I would like to replace my main menu without bloating my UI with so many buttons - so i thought i could 1. define groups of commands in a button wich are then shown in submenu and 2. creating buttons that show submenus that already exist in main menu (f.e. main menu->edit->sort)
Edit: and 3. buttons that opens menus with commands and menus. (and opportunity to set seperators)
Hi all,
I think I have bug.
I have setup a trackinfopanel that looks good most of the time. When I open foobar (foobar.exe or any link pointing to it), everything looks OK, but when I double click on an mp3 file, the pictures from the trackinfo won't show.
Do you also have the same problem ?
Here the code (you could not make simplier !):
// Background
$imageabs2(%_width%,%_height%,,,,,,,images\blue.png,NOKEEPASPECT)
Same pb with buttons in //Per Track section
Stupid me, the answer was in the Wiki:
"Note: when using relative path, add a slash ('/') at the beginning."
So I have my answer !
Leo
I don't know if it's already been requested or even possible, but it would be very awesome if there was the option to add either a vertical or horizontal scrollbar to a panel, or at least make it scrollable with the mouse wheel.
Im using this plugin for a while, but i cant find something:
The trackinfo panel displays information about the current song SELECTED in my playlist. However, i want trackinfo to let me view information about the current song PLAYING, and not selected.
Can someone help me?
Im using this plugin for a while, but i cant find something:
The trackinfo panel displays information about the current song SELECTED in my playlist. However, i want trackinfo to let me view information about the current song PLAYING, and not selected.
Can someone help me?
rightclick -> mode
Srry for this stupid question, its mentioned in the first sentence of this thread...
Its working fine now
When im playing a song, i use 'now playing' mode. When i stop, i have to manually change to 'follow cursor' mode (because, when nothing is playing, i prefer 'follow cursor' mode)
Is there any way by doing this automatically? So when i stop playing, it will switch automatically to 'follow cursor' mode?
Its been awhile since I posted but I was wondering if anyone figured out how to make scrolling lyrics work properly with the lyrics scrolling in direct relation to the percentage of the song playing and ending in the middle of the display area. I have come close a few times but its inconsistant depending on the length of the song. Thanks.
-Brandon
Srry for this stupid question, its mentioned in the first sentence of this thread...
Its working fine now
When im playing a song, i use 'now playing' mode. When i stop, i have to manually change to 'follow cursor' mode (because, when nothing is playing, i prefer 'follow cursor' mode)
Is there any way by doing this automatically? So when i stop playing, it will switch automatically to 'follow cursor' mode?
terrestrial had a good solution for this some posts back. create a second track display panel, and keep one in each mode. Then use an $if(%isplaying%...) to switch between them.
Ex.
$if(%isplaying%,
$panel(TDplaying,Track Display....)
,
$panel(TDstopped,Track Display....)
)
I just wrote a script that fits a
single-lined string into an
arbitrary sized rectangle (here the panel)
Just tested it with Calibri bold font
// Global
// this script only works with a defaultFontSize of 1
$puts(defaultfontsize,1)
$puts(dpi,92)
// Set defaultFont to calculate text width and height for the text being displayed
$font(Calibri,$get(defaultfontsize),bold,255-255-255)
// PerTrack
$if(%_trackinfo_notrack%,
$puts(text,No track)
,
//Put your Text here
$puts(text,%title% performed by %artist%)
)
$puts(textwidth,$calcwidth($get(text)))
$puts(textheight,$calcheight($get(text)))
// Rectangle that the text is fit in
$puts(rectwidth,%_width%)
$puts(rectheight,%_height%)
// Text and Panel aspect ratios multiplied by 10000 due to lack of float values
$puts(textAR,$muldiv(10000,$get(textwidth),$get(textheight)))
$puts(panelAR,$muldiv(10000,$get(rectwidth),$get(rectheight)))
$if($greater($get(panelAR),$get(textAR)),
$puts(fontsize,$muldiv($get(defaultfontsize),$get(rectheight),$get(textheight)))
,
$puts(fontsize,$muldiv($get(defaultfontsize),$get(rectwidth),$get(textwidth)))
)
// convert from points to pixels (thanks to terrestrial)
$puts(fontsize, $muldiv($get(fontsize),$get(dpi),72))
// OUTPUT SECTION
$font(Calibri, $get(fontsize),bold,255-255-255)
$get(text)
Feel free to use and adjust it to suit your needs
greetz
This belong here more than elsewhere.
Is there a way to center buttons that use text? I'd like it to not hover towards the right.
This belong here more than elsewhere.
Is there a way to center buttons that use text? I'd like it to not hover towards the right.
You can include an $align() before your actual button text. Ex -
$button(,,,,50,12,'$align(center,middle)Test','$align(center,middle)TEST','COMMAND',)
I'm having align(center, middle) with a big font. This is not a problem with normal artist and album names. But when streaming, I want to display the URL, which has no spaces. If the url is too long, trackinfo panel decides not to display it. How can I solve it easily (i.e., no ton of code)?
If the text is too long it will disappear completely. You can try the $cut() function to limit the length of any text string to a set number of characters. Or conditionally use a smaller font if your string is greater than a certain number of characters.
If the text is too long it will disappear completely. You can try the $cut() function to limit the length of any text string to a set number of characters. Or conditionally use a smaller font if your string is greater than a certain number of characters.
Yes, I used $left(), but I hate implementing exceptions especially because I do not use a fixed width font. Thanks anyway.
@Author: Please fix the bug of the editor window: If you click apply, the cursor moves to the start position
@Author: Please fix the bug of the editor window: If you click apply, the cursor moves to the start position
This component is no longer being developed; you need to "upgrade" to the new component panels_ui, which has the same functionality as track_info_mod when columns_ui is the interface selected (and sports a much improved editing window ).
thx, shakey
when I change my font I get this
(http://xs313.xs.to/xs313/07113/tekst.jpg)
as you can see the G isn't correctly displayed.
is there something wrong with my code or someting else?
// PerTrack
$if(%ispaused%,
$alignabs(0,0,%_width%,15,,)Artist: [%artist%]
$alignabs(0,15,%_width%,15,,)Title: [%title%]
$alignabs(0,30,%_width%,15,,)Album: [%album%] [Track: %Tracknumber%]
$alignabs(0,45,%_width%,15,,)Date: [%date%]
$alignabs(0,60,%_width%,15,,)Bitrate: [%bitrate%kbps]
$alignabs(0,90,%_width%,15,,)Status: Paused,
// PerTrack
$if(%_trackinfo_notrack%,
$alignabs(0,0,%_width%,15,,)No track,
$alignabs(0,0,%_width%,15,,)Artist: [%artist%]
$alignabs(0,15,%_width%,15,,)Title: [%title%]
$alignabs(0,30,%_width%,15,,)Album: [%album%] [Track: %Tracknumber%]
$alignabs(0,45,%_width%,15,,)Date: [%date%]
$alignabs(0,60,%_width%,15,,)Bitrate: [%bitrate%kbps]
))
// PerSecond
$alignabs(0,75,%_width%,15,,)[Length: %Playback_time% / %length%]
@barry123
In your $alignabs() tags you're not giving the text enough height to be rendered completely. Change this line for example -
$alignabs(0,0,%_width%,15,,)Artist: [%artist%]
to
$alignabs(0,0,%_width%,25,,)Artist: [%artist%]
I read a page back in this thread that all I need is Panels UI installed, and I no longer need track_info_mod and the single_column_playlist. Is that correct?
If I remove the other two components and keep JUST Panels UI, will my current COLUMNS UI config with track_info_mod panels stay intact? Will all the code in my panels remain intact?
Thanks .
If I remove the other two components and keep JUST Panels UI, will my current COLUMNS UI config with track_info_mod panels stay intact? Will all the code in my panels remain intact?
Thanks .
That info is stored in your foobar2000.cfg file so it will* remain intact.
*doing backups is always smart.
Thanks for your quick reply shakey_snake .
I shall make a backup just in case... but hope it remains anyways (I have about 15 or so track info panels spread throughout the tabs in my config... would be a pain to fix it all lol).
Got a problem with this component.
I read this thread up to page 8 (than I got impatient) and the last page but coundn't find any similar problem:
In both modes I have the problem that I get text overlays on switching to next or previous or any other song.
(http://img258.imageshack.us/img258/7125/zwischenablage02df8.th.png) (http://img258.imageshack.us/my.php?image=zwischenablage02df8.png)
The code I'm using is a copy of "Lycox" code for 0.8.4 infobox:
// Highly customizeable track information made by Lycox
// Credits:
// Peter Pawlowski for great fb2k
// Free - for great progressbar
// upNorth - for filesize string
// Looks quite good with Arial, 8pt bold
// ==============================================
// Global Config Part //
// Shows Song Info in track info panel
// 0 = No, 1 = Yes
$puts(show_songinfo,1)
// Show various informations in Song Info
// 0 = No, 1 = Yes
$puts(title,1)
$puts(artist,1)
$puts(mixartist,1)
$puts(band,1)
$puts(album,1)
$puts(tracknumber,1)
$puts(genre,1)
$puts(bpm,1)
$puts(date,1)
$puts(copyright,0)
// Shows Additional Info in track info panel
// 0 = No, 1 = Yes
$puts(show_additionalinfo,1)
// Show various informations in Additional Info
// 0 = No, 1 = Yes
$puts(comment,1)
$puts(wwwartist,0)
$puts(publisher,0)
$puts(language,0)
$puts(composer,0)
$puts(lyricist,0)
$puts(conductor,0)
$puts(recordingdates,0)
$puts(fileowner,0)
// Shows Technical Info in track info panel
// 0 = No, 1 = Yes
$puts(show_techinfo,1)
// Show various informations in Tech Info
// 0 = No, 1 = Yes
$puts(codec,1)
$puts(bitrate,1)
$puts(samplerate,1)
$puts(channels,1)
$puts(time_elapsed_total,1)
$puts(trackgain,1)
$puts(albumgain,1)
$puts(rating,1)
$puts(play_counter,1)
$puts(play_date,1)
$puts(encodedby,1)
$puts(encodersettings,1)
$puts(filesize,1)
// hidden, because not really needed
$puts(filename_ext,1)
$puts(mediatype,0)
$puts(size,0)
$puts(songlen,0)
$puts(time,0)
// Shows Web Info in track info panel
// 0 = No, 1 = Yes
$puts(show_webinfo,1)
// Shows Web Related Infos in Web Info
// 0 = No, 1 = Yes
$puts(show_webrelated,0)
// Show various informations in Web Info
// 0 = No, 1 = Yes
$puts(wwwaudiofile,1)
$puts(wwwcopyright,1)
$puts(wwwcommercialinfo,1)
$puts(wwwpayment,1)
$puts(wwwpublisher,1)
$puts(wwwuser,1)
// Shows NetRadio Info in Web Info
// 0 = No, 1 = Yes
$puts(show_netradioinfo,1)
// Show various informations in NetRadio Info
// 0 = No, 1 = Yes
$puts(wwwradiopage,1)
$puts(netradioowner,1)
$puts(netradiostation,1)
// Shows Misc Info in track info panel
// 0 = No, 1 = Yes
$puts(show_miscinfo,1)
// Show various informations in Misc Info
// 0 = No, 1 = Yes
$puts(subtitle,1)
$puts(involvedpeople,1)
$puts(playlistdelay,0)
$puts(initialkey,0)
$puts(isrc,0)
$puts(partinset,0)
// Shows Original Info in track info panel
// 0 = No, 1 = Yes
$puts(show_originalinfo,1)
// Show various informations in Original Info
// 0 = No, 1 = Yes
$puts(origartist,1)
$puts(origyear,1)
$puts(origlyricist,1)
$puts(origfilename,1)
// Spacer
$puts(spacer,d6d6d6------------------------------------------------------------------------------------------$char(10))
// color codes
$puts(headline,256d3d)
$puts(info,ec9184)
$puts(text,000000)
$puts(grayed,c8c8c8)
// chars
$puts(rating_char,♪)
$puts(progress_char,●)
// End Global Config
// ==============================================
// Song Info
$if($strcmp(1,$get(show_songinfo)),
$char(1)$get(headline)Song Info$char(10)
$if($strcmp(1,$get(title)),$get(info)Title: $get(text)$if(%title%,%title%,$get(grayed)'['No Title']')$char(10))
$if($strcmp(1,$get(artist)),$get(info)Artist: $get(text)$if(%artist%,%artist%,$get(grayed)'['Unknown Artist']')$char(10))
$if($strcmp(1,$get(mixartist))
|$strcmp(1,$get(band))
,
$if($strcmp(1,$get(mixartist)),$if(%mixartist%,$get(info)MixArtist: $get(text)%mixartist%$char(10)))
$if($strcmp(1,$get(band)),$if(%band%,$get(info)Band: $get(text)%band%$char(10))))
$if($strcmp(1,$get(album)),$if(%album%,$get(info)Album: $get(text)%album%$char(10)))
$if($strcmp(1,$get(tracknumber)),$if(%tracknumber%,$get(info)Track: $get(text)%tracknumber%$char(10)))
$if($strcmp(1,$get(genre)),$if(%genre%,$get(info)Genre: $get(text)%genre%$char(10)))
$if($strcmp(1,$get(bpm)),$if(%bpm%,$get(info)bpm: $get(text)%bpm%$char(10)))
$if($strcmp(1,$get(date)),$if(%date%,$get(info)Date: $get(text)%date%$char(10)))
$if($strcmp(1,$get(copyright)),$if(%copyright%,$get(info)© $get(text)%copyright%$char(10)))
)
$if($strcmp(1,$get(show_additionalinfo)),
$if($if(%comment%,$and($strcmp(1,$get(comment))))
|$if(%wwwartist%,$and($strcmp(1,$get(wwwartist))))
|$if(%publisher%,$and($strcmp(1,$get(publisher))))
|$if(%language%,$and($strcmp(1,$get(language))))
|$if(%composer%,$and($strcmp(1,$get(composer))))
|$if(%lyricist%,$and($strcmp(1,$get(lyricist))))
|$if(%conductor%,$and($strcmp(1,$get(conductor))))
|$if(%recordingdates%,$and($strcmp(1,$get(recordingdates))))
|$if(%fileowner%,$and($strcmp(1,$get(fileowner))))
,
$if($strcmp(1,$get(comment)),$if(%comment%,$get(info)Comment: $get(text)%comment%$char(10)))
$if($strcmp(1,$get(wwwartist)),$if(%wwwartist%,$get(info)Web: $get(text)%wwwartist%$char(10)))
$if($strcmp(1,$get(publisher)),$if(%publisher%,$get(info)Publisher: $get(text)%publisher%$char(10)))
$if($strcmp(1,$get(language)),$if(%language%,$get(info)Language: $get(text)%language%$char(10)))
$if($strcmp(1,$get(composer)),$if(%composer%,$get(info)Composer: $get(text)%composer%$char(10)))
$if($strcmp(1,$get(lyricist)),$if(%lyricist%,$get(info)Lyricist: $get(text)%lyricist%$char(10)))
$if($strcmp(1,$get(conductor)),$if(%conductor%,$get(info)Conductor: $get(text)%conductor%$char(10)))
$if($strcmp(1,$get(contentgroup)),$if(%contentgroup%,$get(info)Group: $get(text)%contentgroup%$char(10)))
$if($strcmp(1,$get(recordingdates)),$if(%recordingdates%,$get(info)Rec. Date: $get(text)%recordingdates%$char(10)))
$if($strcmp(1,$get(fileowner)),$if(%fileowner%,$get(info)Owner: $get(text)%fileowner%$char(10)))))
// End Song Info
// Tech Info
$if($strcmp(1,$get(show_techinfo)),
$char(10)
$char(1)$get(headline)Tech Info$char(10)
$get(info)Added:$get(text) %added% $get(info)Playcount:$get(text) %play_count%$char(10)
$if($strcmp(1,$get(codec)),$get(info)Codec: $get(text)%__codec%$char(10))
$if($strcmp(1,$get(bitrate)),$get(info)Bitrate: $get(text)%__bitrate% Kbit/s $if2(%__extrainfo%,'CBR'))
$if($strcmp(1,$get(samplerate)),$get(info)Samplerate: $get(text)%__samplerate% Hz$char(10))
$if($strcmp(1,$get(channels)),$get(info)Channels: $get(text)$if(%__channels%,$ifgreater(%__channels%,2,%__channels%ch,$ifgreater(%__channels%,1,' 'Stereo,''Mono)),)$char(10))
$puts(size,5)
$if($strcmp(1,$get(trackgain)),$if(%__replaygain_track_gain%,$get(info)RG Track: $get(text)$cut(%__replaygain_track_gain%,$get(size)) dB))
$if($strcmp(1,$get(albumgain)),$if(%__replaygain_album_gain%,$get(info)RG Album: $get(text)$cut(%__replaygain_album_gain%,$get(size)) dB$char(10)))
$puts(rating,1)
$puts(_rating,$repeat($get(rating_char),%rating%))
$if($strcmp(1,$get(rating)),$if(%rating%,$get(info)Rating: $get(text) $get(_rating) $get(grayed)'('%rating%')'$char(10)))
$if($strcmp(1,$get(play_counter)),$if(%play_counter%,$get(info)Played $get(text)%play_counter%$get(info) times.$char(10)))
$if($strcmp(1,$get(play_date)),$if(%play_date%,$get(info)Last played: $get(text)%play_date%$char(10)))
$if($strcmp(1,$get(encodedby)),$if(%encodedby%,$get(info)Encoded by: $get(text)%encodedby%$char(10)))
$if($strcmp(1,$get(encodersettings)),$if(%encodersettings%,$get(info)Encoder Settings: $get(text)%encodersettings%$char(10)))
// formating filesize string by upNorth
$if($strcmp(1,$get(filesize)),$get(info)Filesize: $get(text)$div(%_filesize%,1048576).$left($num($muldiv($mod(%_filesize%,1048576),1000,1048576),3),2)' MB'$char(10))
$if($strcmp(1,$get(filename_ext)),$get(info)File: $get(text)%_filename_ext%$char(10))
$if($strcmp(1,$get(mediatype)),$if(%mediatype%,$get(info)Mediatype: $get(text)%mediatype%$char(10)))
$if($strcmp(1,$get(size)),$if(%size%,$get(info)Size: $get(text)%size%$char(10)))
$if($strcmp(1,$get(songlen)),$if(%songlen%,$get(info)Length: $get(text)%songlen%$char(10)))
$if($strcmp(1,$get(time)),$if(%time%,$get(info)Time: $get(text)%time%$char(10)))
)
// End Tech Info
// Web Info
$if($strcmp(1,$get(show_webinfo)),
$if($if(%wwwaudiofile%,$and($strcmp(1,$get(wwwaudiofile))))
|$if(%wwwcopyright%,$and($strcmp(1,$get(wwwcopyright))))
|$if(%wwwcommercialinfo%,$and($strcmp(1,$get(wwwcommercialinfo))))
|$if(%wwwpayment%,$and($strcmp(1,$get(wwwpayment))))
|$if(%wwwpublisher%,$and($strcmp(1,$get(wwwpublisher))))
|$if(%wwwuser%,$and($strcmp(1,$get(wwwuser))))
|$if(%wwwradiopage%,$and($strcmp(1,$get(wwwradiopage))))
|$if(%netradioowner%,$and($strcmp(1,$get(netradioowner))))
|$if(%netradiostation%,$and($strcmp(1,$get(netradiostation))))
,$get(spacer)
// Web Related
$if($strcmp(1,$get(show_webrelated)),
$if($if(%wwwaudiofile%,$and($strcmp(1,$get(wwwaudiofile))))
|$if(%wwwcopyright%,$and($strcmp(1,$get(wwwcopyright))))
|$if(%wwwcommercialinfo%,$and($strcmp(1,$get(wwwcommercialinfo))))
|$if(%wwwpayment%,$and($strcmp(1,$get(wwwpayment))))
|$if(%wwwpublisher%,$and($strcmp(1,$get(wwwpublisher))))
|$if(%wwwuser%,$and($strcmp(1,$get(wwwuser))))
,
$char(1)C$get(headline)Web Info$char(10)
$if($strcmp(1,$get(wwwaudiofile)),$if(%wwwaudiofile%,$get(info)File: $get(text)%wwwaudiofile%$char(10)))
$if($strcmp(1,$get(wwwcopyright)),$if(%wwwcopyright%,$get(info)© $get(text)%wwwcopyright%$char(10)))
$if($strcmp(1,$get(wwwaudiosource)),$if(%wwwaudiosource%,$get(info)Source: $get(text)%wwwaudiosource%$char(10)))
$if($strcmp(1,$get(wwwcommercialinfo)),$if(%wwwcommercialinfo%,$get(info)Info: $get(text)%wwwcommercialinfo%$char(10)))
$if($strcmp(1,$get(wwwpayment)),$if(%wwwpayment%,$get(info)Payment: $get(text)%wwwpayment%$char(10)))
$if($strcmp(1,$get(wwwpublisher)),$if(%wwwpublisher%,$get(info)Publisher: $get(text)%wwwpublisher%$char(10)))
$if($strcmp(1,$get(wwwuser)),$if(%wwwuser%,$get(info)User: $get(text)%wwwuser%$char(10)))
$char(10))
)
// End Web Info
// Net Radio Ifno
$if($strcmp(1,$get(show_netradioinfo)),
$if($if(%wwwradiopage%,$and($strcmp(1,$get(wwwradiopage))))
|$if(%netradioowner%,$and($strcmp(1,$get(netradioowner))))
|$if(%netradiostation%,$and($strcmp(1,$get(netradiostation))))
,$char(1)C$get(headline)NetRadio Info$char(10)
$if($strcmp(1,$get(wwwradiopage)),$if(%wwwradiopage%,$get(info)Page: $get(text)%wwwradiopage%$char(10)))
$if($strcmp(1,$get(netradioowner)),$if(%netradioowner%,$get(info)Owner: $get(text)%netradioowner%$char(10)))
$if($strcmp(1,$get(netradiostation)),$if(%netradiostation%,$get(info)Station: $get(text)%netradiostation%$char(10))))
)))
// End - Web Related
// Misc Info
$if($strcmp(1,$get(show_miscinfo)),
$if($if(%subtitle%,$and($strcmp(1,$get(subtitle))))
|$if(%involvedpeople%,$and($strcmp(1,$get(involvedpeople))))
|$if(%playlistdelay%,$and($strcmp(1,$get(playlistdelay))))
|$if(%initialkey%,$and($strcmp(1,$get(initialkey))))
|$if(%isrc%,$and($strcmp(1,$get(isrc))))
|$if(%partinset%,$and($strcmp(1,$get(partinset))))
,$get(spacer)
$char(1)C$get(headline)Misc Info$char(10)
$if($strcmp(1,$get(subtitle)),$if(%subtitle%,$get(info)Subtitle: $get(text)%subtitle%$char(10)))
$if($strcmp(1,$get(involvedpeople)),$if(%involvedpeople%,$get(info)Involved People: $get(text)%involvedpeople%$char(10)))
$if($strcmp(1,$get(playlistdelay)),$if(%playlistdelay%,$get(info)Playlistdelay: $get(text)%playlistdelay%$char(10)))
$if($strcmp(1,$get(initialkey)),$if(%initialkey%,$get(info)Initialkey: $get(text)%initialkey%$char(10)))
$if($strcmp(1,$get(isrc)),$if(%isrc%,$get(info)ISRC: $get(text)%isrc%$char(10)))
$if($strcmp(1,$get(partinset)),$if(%partinset%,$get(info)Partinset: $get(text)%partinset%$char(10)))
))
// End Misc Info
// Original Info
$if($strcmp(1,$get(show_originalinfo)),
$if($if(%origartist%,$and($strcmp(1,$get(origartist))))
|$if(%origyear%,$and($strcmp(1,$get(origyear))))
|$if(%origlyricist%,$and($strcmp(1,$get(origlyricist))))
|$if(%origfilename%,$and($strcmp(1,$get(origfilename))))
,$get(spacer)
$char(1)C$get(headline)Original Info$char(10)
$if($strcmp(1,$get(origartist)),$if(%origartist%,$get(info)Artist: $get(text)%origartist%$char(10)))
$if($strcmp(1,$get(origyear)),$if(%origyear%,$get(info)Year: $get(text)%origyear%$char(10)))
$if($strcmp(1,$get(origlyricist)),$if(%origlyricist%,$get(info)Lyricist: $get(text)%origlyricist%$char(10)))
$if($strcmp(1,$get(origfilename)),$if(%origfilename%,$get(info)Filename: $get(text)%origfilename%$char(10)))
))
My components:
Core (2006-11-25 14:21:34)
foobar2000 core 0.9.4.2
foo_abx.dll (2006-11-25 14:20:22)
ABX Comparator 1.3.1
foo_albumlist.dll (2006-11-25 18:49:06)
Album List 3.2.0
foo_browser.dll (2006-12-04 09:42:48)
Music Browser 1.2.3 [Dec 4 2006 - 09:42:32]
foo_burninate.dll (2006-08-04 20:56:44)
Audio CD Writer 2.0.1
foo_cdda.dll (2006-11-25 14:19:46)
CD Audio Decoder 2.1.1
foo_converter.dll (2006-11-25 14:20:00)
Converter 1.0.1
foo_custominfo.dll (2006-08-25 04:12:16)
foo_custominfo 0.1.2
foo_cwb_hooks.dll (2006-12-01 13:47:46)
cwbowron's title format hooks 1.1.0beta [Dec 1 2006 - 13:47:34]
foo_dbsearch.dll (2006-03-12 23:24:38)
Database search 1.3.1 beta 11
foo_dockable_panels.dll (2006-12-04 09:04:14)
Dockable Panels 1.0.5 [Dec 4 2006 - 09:04:00]
foo_dsp_continuator.dll (2006-09-06 10:28:10)
Continuator 0.4.0
foo_dsp_std.dll (2006-11-25 14:20:12)
Standard DSP array 1.0
foo_extm3u.dll (2007-02-02 00:10:27)
EXTM3U playlist format plugin 1.3
foo_freedb2.dll (2006-08-29 19:43:04)
freedb Tagger 0.5.2a
foo_infobox.dll (2006-06-25 12:48:13)
Special file info box 2.0.3
foo_input_monkey.dll (2006-08-04 20:57:18)
Monkey's Audio decoder 2.1.1
foo_input_std.dll (2006-11-25 14:19:14)
FLAC Decoder 1.1.0
Standard Input Array 1.0
WMA Decoder 1.1
foo_lnk.dll (2006-03-11 18:24:54)
Shell link resolver 1.1
foo_lyricsdb.dll (2006-07-19 22:45:52)
foo_lyricsdb 0.0.7 beta 4
foo_masstag.dll (2006-11-25 14:18:42)
Masstagger 1.6
foo_masstag_addons.dll (2006-10-15 08:59:42)
Masstagger Addons 0.3.2
foo_menu_addons.dll (2006-11-28 04:28:28)
Menu Addons 0.3.6
foo_midi.dll (2006-08-21 09:42:26)
MIDI synthesizer host 1.7
foo_navigator.dll (2006-11-04 20:56:28)
Navigator 0.6
foo_playcount.dll (2006-09-16 16:55:54)
Playback Statistics 1.3.2
foo_playlist_manager.dll (2006-03-12 23:25:15)
Playlist Manager 1.0
foo_preview.dll (2006-07-24 16:19:51)
Preview 1.2
foo_random.dll (2006-03-13 10:35:03)
Randomized playlist entry 1.2.3
foo_rating.dll (2006-12-10 04:22:22)
foo_rating BETA 1.1
foo_rgscan.dll (2006-11-25 14:18:18)
ReplayGain Scanner 2.0.2
foo_run.dll (2006-06-15 21:08:10)
Run services 0.3.2
foo_scheduler.dll (2006-12-04 17:23:20)
Scheduler 3.52
foo_sendtodevice.dll (2006-05-17 12:21:24)
Send to Device 1.0.4 [May 17 2006 - 13:21:17]
foo_ui_columns.dll (2006-04-29 21:48:01)
Columns UI 0.1.3 beta 1v5
foo_ui_std.dll (2006-11-25 14:18:12)
Default User Interface 0.9acc
foo_uie_albumart.dll (2006-10-07 15:35:36)
Album Art Panel 0.2.5
foo_uie_albumlist.dll (2006-04-28 13:15:07)
Album list panel 0.2.1 beta 4
foo_uie_bookmarks.dll (2006-09-14 23:26:32)
Bookmarks 0.0.5.2
foo_uie_console.dll (2006-04-28 13:14:36)
Console panel 0.2
foo_uie_quicksearch.dll (2006-10-15 17:56:24)
Quick Search Toolbar 2.8j
foo_uie_tabs.dll (2006-09-15 22:42:12)
Tabbed panel modified 0.2.4
foo_uie_trackinfo_mod.dll (2007-01-05 13:36:20)
Track info panel mod 0.8.0 beta [Jan 5 2007 - 13:36:12]
foo_unpack.dll (2006-11-25 14:20:32)
RAR reader 1.1
ZIP/GZIP reader 1.0
foo_utils.dll (2006-04-27 11:37:32)
Playlist tools 0.5.7
foo_verifier.dll (2006-08-29 21:09:16)
File Integrity Verifier 1.0.1
foo_write_http.dll (2006-09-06 10:44:32)
HTTP Writer 1.1
You got any idea what happens there?
I forgot: When I switch to another tab and back, the trackinfo gets refreshed!
JD
/edit: "I forgot..."
OK so I have this panel, and I stole some code from some other people's configs, but I'm not sure how to do some stuff. Can I have some help guys?
// !!!!BEGIN USER CONFIGURATION!!!!
// Show Artist? (1 = show, 0 = don't show)
$puts(arts,1)
// Show Album?
$puts(albs,1)
// Show Title?
$puts(tils,1)
// Info Heading Color e.g. "Title:"
$puts(head,$rgb(85,217,255))
// Info Color e.g. "Black Dog"
$puts(info,$rgb(135,135,135))
// Info Annotation Color (e.g. kbps is the annotation)
$puts(anno,$rgb(135,135,135))
// Separator
// the separators (Song,Play,Tech info) will change to a different color if the panel mode is set to Follow cursor.
// change "followcursorcol" to change this color. It is currently set to flash orange.
$puts(followcursorcol,$rgb(200,150,50))
$puts(text2,$rgb(100,105,110))
$puts(text1,$if(%_trackinfo_nowplaying%,$rgb(19,66,94))$if(%_trackinfo_followcursor%,$get(followcursorcol)))
$puts(fadeend,$rgb(245,245,240))
$puts(seplen,70)
$puts(sepchar,'.')
// !!!!END USER CONFIGURATION!!!!
// SONG INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)S o n g I n f o $get(text1)']'$char(10)
$if(%title%,$get(head)Title: $get(info)%title%$char(10),)
$if(%artist%,$get(head)Artist: $get(info)%artist%$char(10),)
$if(%album%,$get(head)Album: $get(info)%album%$char(10),)
$if(%date%,$get(head)Year: $get(info)%date%$char(10),)
$if(%tracknumber%,$get(head)Track #: $get(info)%tracknumber%$char(10),)
$if(%genre%,$get(head)Genre: $get(info)%genre%$char(10),)
// TECH INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)T e c h I n f o $get(text1)']'$char(10)
This is what I have now (yes, I know the tech bit is empty. Basically, I want to know how to just show something like "Not Playing" when everything is stopped. Currently, it shows the separators, and when I had stuff in the tech section, it showed the prefixes and notations for the info (eg "kbps"), but no info, and it looked messy.
Any ideas?
I want to know how to just show something like "Not Playing" when everything is stopped. Currently, it shows the separators, and when I had stuff in the tech section, it showed the prefixes and notations for the info (eg "kbps"), but no info, and it looked messy.
$if(%isplaying%,
// Code For Displaying Information //
,
Not Playing
)
Thanks
Is there a way to position a group of things?
I'm adding rating buttons/stars to my trackinfo area, so that when I click on the star, it rates the track playing (kinda stolen from Brumals config)
Now there's a block of code for all of this, and it's currently displaying them aligned a bit off to the right, but in the wrong vertical place. Is there a way to align them all, or will I have to do each star/button separately?
// rating images
$ifequal(%rating%,1,
$button($sub(%_width%,82),79,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating:,),
$button($sub(%_width%,82),79,0,0,12,12,
$ifgreater(%rating%,0,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:1,)
)
$ifequal(%rating%,2,
$button($sub(%_width%,70),79,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,70),79,0,0,12,12,
$ifgreater(%rating%,1,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:2,)
)
$ifequal(%rating%,3,
$button($sub(%_width%,58),79,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,58),79,0,0,12,12,
$ifgreater(%rating%,2,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:3,)
)
$ifequal(%rating%,4,
$button($sub(%_width%,46),79,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,46),79,0,0,12,12,
$ifgreater(%rating%,3,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:4,)
)
$ifequal(%rating%,5,
$button($sub(%_width%,34),79,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,34),79,0,0,12,12,
$ifgreater(%rating%,4,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:5,)
)
Also, for some reason, if I put in another separator for "Rating" as in the code above, it breaks the "Not Playing" thing I have. I'm putting it in before the rating code, and inside the $if(isplaying etc code. Any ideas?
Edit: Never mind, I figured out the vertical alignment. now if there's an easy way to align all 5 to the centre....
is there a way to do this:
when I play a .ASX file (online radio stream) I want to see something like this:
Internet radio station in my trackinfo panel.
else just my normal info:
$alignabs(2,5,%_width%,15,,)Artist: [%artist%]
$alignabs(2,20,%_width%,15,,)Title: [%title%]
$alignabs(2,35,%_width%,15,,)Album: [%album%] [Track: #%Tracknumber%]
$alignabs(2,50,%_width%,15,,)Date: [%date%]
$alignabs(2,65,%_width%,15,,)Genre: [%genre%]
$alignabs(2,80,%_width%,15,,)Bitrate: [%bitrate% kbps]
can imageabs STRETCH picture to lager ? like 150x150 to 300x300 ?
any other function can ?
can imageabs STRETCH picture to lager ? like 150x150 to 300x300 ?
any other function can ?
No, you need to use $imageabs2
Check the wiki to learn how to use this function.
I was wondering, is there a performance penalty for using a track info panel inside panels ui, relative to just putting whatever you were going to put directly into the main panels ui code? It would be helpful for organizing in some cases. Does it make a performance difference if you use several such panels relative to just using one?
Is there a way to position a group of things?
...
Edit: Never mind, I figured out the vertical alignment. now if there's an easy way to align all 5 to the centre....
My suggestion would be to choose a reference point such as a side or the middle of your buttons. Then define a variable with $puts() for that reference point and code all your buttons off of that with $get(). For example:
$puts(offset.button.x,$div(%_width%,2))
$puts(offset.button.y,$sub(%_height%,16))
$button($sub($get(offset.button.x),50),$get(offset.button.y),0,0,0,0,/images\dark.prev.png,/images\bright.prev.png,Previous,)
$button($sub($get(offset.button.x),25),$get(offset.button.y),0,0,0,0,/images\dark.stop.png,/images\bright.stop.png,Stop,)
$button($get(offset.button.x),$get(offset.button.y),0,0,0,0,/images\dark.$if(%ispaused%,pause,play).png,/images\bright.$if(%ispaused%,pause,play).png,Play or Pause,TOOLTIP:$if(%isplaying%,$if(%ispaused%,Resume,Pause),Play))
$button($add($get(offset.button.x),25),$get(offset.button.y),0,0,0,0,/images\dark.next.png,/images\bright.next.png,Next,)
This way all you need to do is change the variable at the top and the entire group of buttons will move accordingly. If you go even further by defining that variable based off of window size like in the example above, the buttons will automatically reposition themselves if you resize foobar.
barry123:
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
Internet Radio Stream
,
$alignabs(2,5,%_width%,15,,)Artist: [%artist%]
$alignabs(2,20,%_width%,15,,)Title: [%title%]
$alignabs(2,35,%_width%,15,,)Album: [%album%] [Track: #%Tracknumber%]
$alignabs(2,50,%_width%,15,,)Date: [%date%]
$alignabs(2,65,%_width%,15,,)Genre: [%genre%]
$alignabs(2,80,%_width%,15,,)Bitrate: [%bitrate% kbps]
)
thank you for the answer, but nothing happens when I listen to a radio station.
this is the file I open:
633104880142201250.ASX
the code is
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
so I tried
$if($strcmp($left(%path%,7),*.asx$char(58)$char(47)$char(47)),
but It won't work
I see nothing at all.
If I add the //Persecond bit above my code for bitrate and length, it makes the rest of the stuff disappear, and completely changes the formatting for the display. Any ideas on how to fix this?
sorry for bothering again. any ideas for my described (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=47044&view=findpost&p=480094) little abnormality?
JD
If I add the //Persecond bit above my code for bitrate and length, it makes the rest of the stuff disappear, and completely changes the formatting for the display. Any ideas on how to fix this?
post the script.
possible some ] or , forgotten.
// !!!!BEGIN USER CONFIGURATION!!!!
// Show Artist? (1 = show, 0 = don't show)
$puts(arts,1)
// Show Album?
$puts(albs,1)
// Show Title?
$puts(tils,1)
// Info Heading Color e.g. "Title:"
$puts(head,$rgb(19,66,94))
// Info Color e.g. "Black Dog"
$puts(info,$rgb(135,135,135))
// Info Annotation Color (e.g. kbps is the annotation)
$puts(anno,$rgb(135,135,135))
// Separator
// the separators (Song,Play,Tech info) will change to a different color if the panel mode is set to Follow cursor.
// change "followcursorcol" to change this color. It is currently set to flash orange.
$puts(followcursorcol,$rgb(200,150,50))
$puts(text2,$rgb(100,105,110))
$puts(text1,$if(%_trackinfo_nowplaying%,$rgb(19,66,94))$if(%_trackinfo_followcursor%,$get(followcursorcol)))
$puts(fadeend,$rgb(245,245,240))
$puts(seplen,70)
$puts(sepchar,'.')
// NOT PLAYING
$puts(notplaying,$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)Not Playing $get(text1)']'$char(10))
// !!!!END USER CONFIGURATION!!!!
// Day Conversion
$puts(day,$substr(%last_played%,9,10))
$if(%last_played%,
$if($strcmp($left($get(day),1),0),$puts(day,$right($get(day),1))))
$if($strcmp($get(day),11),$puts(xx,th),
$if($strcmp($get(day),12),$puts(xx,th),
$if($strcmp($get(day),13),$puts(xx,th),
$if($strcmp($right($get(day),1),1),$puts(xx,st),
$if($strcmp($right($get(day),1),2),$puts(xx,nd),
$if($strcmp($right($get(day),1),3),$puts(xx,rd),
$puts(xx,th)))))))
// Month Conversion
$puts(month,$substr(%last_played%,6,7))
$puts(month_name,$select($get(month),
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec))
// Year Conversion
$puts(year,$substr(%last_played%,1,4))
// Time Conversion
$puts(hour,$substr(%last_played%,12,13))
$puts(min,$substr(%last_played%,14,16))
$puts(sec,$substr(%last_played%,17,19))
// 24 Hour to 12 Hour Conversion
$if($strcmp($left($get(hour),1),0),$puts(hour1,$right($get(hour),1)))
$if($strcmp($left($get(hour),1),1),$puts(hour1,$sub($get(hour),12)))
$if($strcmp($left($get(hour),1),2),$puts(hour1,$sub($get(hour),12)))
$if($strcmp($get(hour),00),$puts(hour1,12))
$if($strcmp($get(hour),10),$puts(hour1,10))
$if($strcmp($get(hour),11),$puts(hour1,11))
$if($strcmp($get(hour),12),$puts(hour1,12))
// AM/PM Conversion
$if($strcmp($get(hour),00),$puts(yy,am))
$if($strcmp($get(hour),10),$puts(yy,am))
$if($strcmp($get(hour),11),$puts(yy,am))
$if($strcmp($get(hour),12),$puts(yy,pm))
$if($strcmp($get(hour),24),$puts(yy,am))
$if($strcmp($left($get(hour),1),0),$puts(yy,am))
$if($strcmp($left($get(hour),1),1),$puts(yy,pm))
$if($strcmp($left($get(hour),1),2),$puts(yy,pm))
// Date Format
$puts(time_of_year,$get(month_name) $get(day)$get(xx)',' $get(year))
// Time Format
$puts(time_of_day,$get(hour1)$get(min)$get(sec) $get(yy))
$if(%isplaying%,
// SONG INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)S o n g I n f o $get(text1)']'$char(10)
$if(%title%,$get(head)Title: $get(info)%title%$char(10),)
$if(%artist%,$get(head)Artist: $get(info)%artist%$char(10),)
$if(%album%,$get(head)Album: $get(info)%album%$char(10),)
$if(%date%,$get(head)Year: $get(info)%date%$char(10),)
$if(%tracknumber%,$get(head)Track #: $get(info)%tracknumber%$char(10),)
$if(%genre%,$get(head)Genre: $get(info)%genre%$char(10),)
// TECH INFO SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)T e c h I n f o $get(text1)']'$char(10)
$get(head)Length: $get(info)%_length%$char(10)
$get(head)Codec: $get(info)%codec%[ '('%__extrainfo%')'][ %codec_profile%] @ %bitrate%kbps )$char(10)
$get(head)Compression: $get(info)$div(1411,%__bitrate%).$substr($muldiv(1411,100,%__bitrate%),2,3):1 '('$get(info)$muldiv(%__bitrate%,100,1411)$get(anno)'%)'$char(10)
$get(head)Channels: $get(info)$if($stricmp($codec(),MP3),$get(space2)$caps(%__mp3_stereo_mode%),
$if(%__channels%,$ifgreater(%__channels%,1,Stereo,Mono),'?'))$char(10)
$if(%__bitspersample%,$get(head)Bitdepth: $get(info)%__bitspersample% bits/sample$char(10),)
$if(%__samplerate%,$get(head)Samplerate: $get(info)$div(%__samplerate%,1000).$substr(%__samplerate%,3,3) KHz $char(10))
$if(%_filesize%,$get(head)Filesize: $get(info)
$div(%_filesize%,1048576).$left($num($muldiv($mod(%_filesize%,1048576),100,1048576),2),2) $get(anno)'MB'$char(10),)
$if(%last_played%,
// PLAY STATS SEPARATOR
$transition($repeat($get(sepchar),$get(seplen)),$get(fadeend),$get(text1))$get(text1)'[' $get(text2)P l a y I n f o $get(text1)']'
$char(10),)
$if(%play_count%,$get(head)Played $get(info)%play_count% times$char(10),)
$if(%last_played%,$get(head)Last played on $get(info)$get(time_of_year) at $get(time_of_day)$char(10),)
// rating images
$ifequal(%rating%,1,
$button($sub(%_width%,82),290,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating:,),
$button($sub(%_width%,82),290,0,0,12,12,
$ifgreater(%rating%,0,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:1,)
)
$ifequal(%rating%,2,
$button($sub(%_width%,70),290,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,70),290,0,0,12,12,
$ifgreater(%rating%,1,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:2,)
)
$ifequal(%rating%,3,
$button($sub(%_width%,58),290,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,58),290,0,0,12,12,
$ifgreater(%rating%,2,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:3,)
)
$ifequal(%rating%,4,
$button($sub(%_width%,46),290,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,46),290,0,0,12,12,
$ifgreater(%rating%,3,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:4,)
)
$ifequal(%rating%,5,
$button($sub(%_width%,34),290,0,0,12,12,/images\brumal-treeline\star-on.png,,TAG:SET:Rating,),
$button($sub(%_width%,34),290,0,0,12,12,
$ifgreater(%rating%,4,/images\brumal-treeline\star-on.png,/images\brumal-treeline\star-off.png)
,,TAG:SET:Rating:5,)
)
,
$get(notplaying)
)
If I put the //Persecond bit above the "Tech info" area, then it just shows a couple of lines from that, but in bold, and black (doesn't use custom formatting).
I want to be able to have a timer counting down witht he time played.
the code is
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
so I tried
$if($strcmp($left(%path%,7),*.asx$char(58)$char(47)$char(47)),
but It won't work :(
I see nothing at all.
The code I pasted earlier would check to see if the file path started with http:// which is the case for the majority of online streams. The code you tried does not make any sense. Put %path% in a track display panel and post what it resolves to.
You may be able to get away with something like this if you specifically want to test for ASX files:
$if($strcmp($lower($replace(%filename_ext%,%filename%,)),.asx),
TRUE
,
FALSE
)
ozstrike: You either need to put that // PerSecond header at the very top of your code, or you will need to markup your entire code with different headers like // Global and // PerTrack.
John Doe: The code you pasted looks rather old. I would suggest recoding the text using $alignabs() instead of $char(10) so you can better control the flow of text. Also it looks like you probably want to separate all those $puts() into a // Global section, the general track info into a // PerTrack section. I tried to do a quick edit on your code but control based color codes do not copy well and foobar kept crashing on me while using your code.
Thanks Yotsuya. I'll try changing the code!
JD
I'm guessing if I put the //Persecond at the top of the code, then it will use more ram/cpu than if I do it the other way?
correct. And buttons won't work (they have to be in the // PerTrack section)
the code is
$if($strcmp($left(%path%,7),http$char(58)$char(47)$char(47)),
so I tried
$if($strcmp($left(%path%,7),*.asx$char(58)$char(47)$char(47)),
but It won't work
I see nothing at all.
The code I pasted earlier would check to see if the file path started with http:// which is the case for the majority of online streams. The code you tried does not make any sense. Put %path% in a track display panel and post what it resolves to.
You may be able to get away with something like this if you specifically want to test for ASX files:
$if($strcmp($lower($replace(%filename_ext%,%filename%,)),.asx),
TRUE
,
FALSE
)
thank you, this is what I'm looking for.
hmm just one little thing I notice:
the Length: %Playback_time% / %length% minutes doesn't dissepear when I listen to a .ASX
So I see this:
(code_
$if($strcmp($lower($replace(%filename_ext%,%filename%,)),.asx),
$alignabs(2,5,%_width%,15,,)RADIO STREAM!!!
$alignabs(2,20,%_width%,15,,)Genre: [%genre%]
$alignabs(2,35,%_width%,15,,)Bitrate: [%bitrate% kbps]
output:
Radio Stream!!
Genre
Bitrate
Do not want, but it's there --> %Playback_time% / %length%
When I add // PerSecond above the Paused thing, the paused doesn't work.
When I add // PerSecond between Paused and the $if($strcmp($lower($replace(%filename_ext%,%filename%,)),.asx),
the .asx scipt doesn't work, I just see what I want to see with normal mp3's.
I hope it's clear and someone knows what to do
// Paused
$alignabs(2,110,%_width%,15,,)
$if(%_ispaused%,0000FF'Status: Paused')
$if($strcmp($lower($replace(%filename_ext%,%filename%,)),.asx),
$alignabs(2,5,%_width%,15,,)RADIO STREAM!!!
$alignabs(2,20,%_width%,15,,)Genre: [%genre%]
$alignabs(2,35,%_width%,15,,)Bitrate: [%bitrate% kbps]
,
// PerSecond
$alignabs(2,95,%_width%,15,,)[Length: %Playback_time% / %length% minutes])
// PerTrack
$if(%_trackinfo_notrack%,
$alignabs(2,5,%_width%,15,,)No track,
$alignabs(2,5,%_width%,15,,)Artist: [%artist%]
$alignabs(2,20,%_width%,15,,)Title: [%title%]
$alignabs(2,35,%_width%,15,,)Album: [%album%] [Track: #%Tracknumber%]
$alignabs(2,50,%_width%,15,,)Date: [%date%]
$alignabs(2,65,%_width%,15,,)Genre: [%genre%]
$alignabs(2,80,%_width%,15,,)Bitrate: [%bitrate% kbps]
// Play Counter
$alignabs(350,5,%_width%,15,,)
$if($strcmp(%play_counter%,?),
Playing song for first time,
$if($strcmp(%play_counter%,1),
Song played %play_counter% time,
Song played %play_counter% times)
// Last played
$puts(lp_year,$substr(%last_played%,1,4))
$puts(lp_month,$substr(%last_played%,6,7))
$puts(lp_day,$substr(%last_played%,9,10))
$puts(lp_hour,$substr(%last_played%,12,13))
$puts(lp_min,$substr(%last_played%,15,16))
$puts(lp_sec,$substr(%last_played%,18,19))
$alignabs(350,20,%_width%,15,,)
$if($strcmp(%play_counter%,?),
Playing song for first time,
$if($strcmp(%play_counter%,1),
on,
Last on)
$if(%last_played%, $get(lp_day)-$get(lp_month)-$get(lp_year)' at '$get(lp_hour):$get(lp_min) )
AM / PM)
))
)
Hello. I have a tab panel but want to hide the tabs and then cycle through the tabs from buttons in a trackinfo_mod panel. I use this code that i found a couple of pages back in this tread
// PerTrack
$puts(offset.button.x,$div(%_width%,6))
$puts(offset.button.y,$sub(%_height%,32))
$button($sub($get(offset.button.x),50),$get(offset.button.y),0,0,0,0,/images\blandat\prev.png,/images\blandat\prevh.png,'View/Tabbed Panel Stack mod/Select tab/Panel #0 Cycle Backward',),
$puts(offset.button.x,$div(%_width%,1))
$puts(offset.button.y,$sub(%_height%,32))
$button($sub($get(offset.button.x),50),$get(offset.button.y),0,0,0,0,/images\blandat\next.png,/images\blandat\nexth.png,'View/Tabbed Panel Stack mod/Select tab/Panel #0 Cycle Forward',),
My problem is that it doesn't happen aything when i click on my buttons, they are placed exactly where I want them and the hover image works, but can't cycle through the tabs with them! I think it's the "#" that messes it up?
It works if I just put the name of a tab inside the single quotes (f.e. 'lyrics') but I want next and previous buttons!
sylla: sorry the # character makes that previous code not work. to my knowledge there is no existing solution to make a button to cycle forward or backward through tabs in foo_uie_tabs. However, if you migrate to PanelsUI you can create buttons that change a PVAR and then use that PVAR to $select() between $panel() configurations and accomplish pretty much the same thing.
EDIT: I suppose you could stack a button that would set a pvar, and then use that pvar with $select() on the main button and choose which tab to switch to.
sylla: sorry the # character makes that previous code not work. to my knowledge there is no existing solution to make a button to cycle forward or backward through tabs in foo_uie_tabs. However, if you migrate to PanelsUI you can create buttons that change a PVAR and then use that PVAR to $select() between $panel() configurations and accomplish pretty much the same thing.
EDIT: I suppose you could stack a button that would set a pvar, and then use that pvar with $select() on the main button and choose which tab to switch to.
That's too bad I have no plan on migrating to PanelsUI, too advanced for me I think. I can get it to go to the next panel i i create a button in a button panel, but the button panel is so ugly, is there any way to change the background of such a a panel?
edit: isn't it possible to replace the # in the code to the $char() that is for # ? maybe a real noob question, I have configured my foobar simply on copying codes from the web and then trial and error
edit: isn't it possible to replace the # in the code to the $char() that is for # ? maybe a real noob question, I have configured my foobar simply on copying codes from the web and then trial and error :P
I explored this issue with some others awhile back and the $char() trick did not appear to work. However you might be able to do something like this with stacked buttons and pvars (sorry I no longer keep foo_uie_tabs around to test):
$puts(numtabs,5)
$button2(10,10,0,0,20,20,,,PVAR:SET:tab.index:
$ifgreater($getpvar(tab.index),$sub($get(numtabs),2),0,$add($getpvar(tab.index),1))
,)
$button2(10,10,0,0,20,20,'$imageabs2(20,20,,,,,,,next.png,)','$imageabs2(20,20,,,,,,,next_hover.png,)',
$select($add($getpvar(tab.index),1),
NAME OF TAB 2
,
NAME OF TAB 3
,
NAME OF TAB 4
,
NAME OF TAB 5
,
NAME OF TAB 1
)
,TOOLTIP:"Cycle Forward")
edit: isn't it possible to replace the # in the code to the $char() that is for # ? maybe a real noob question, I have configured my foobar simply on copying codes from the web and then trial and error
I explored this issue with some others awhile back and the $char() trick did not appear to work. However you might be able to do something like this with stacked buttons and pvars (sorry I no longer keep foo_uie_tabs around to test):
$puts(numtabs,5)
$button2(10,10,0,0,20,20,,,PVAR:SET:tab.index:
$ifgreater($getpvar(tab.index),$sub($get(numtabs),2),0,$add($getpvar(tab.index),1))
,)
$button2(10,10,0,0,20,20,'$imageabs2(20,20,,,,,,,next.png,)','$imageabs2(20,20,,,,,,,next_hover.png,)',
$select($add($getpvar(tab.index),1),
NAME OF TAB 2
,
NAME OF TAB 3
,
NAME OF TAB 4
,
NAME OF TAB 5
,
NAME OF TAB 1
)
,TOOLTIP:"Cycle Forward")
I am trying to do what sylla is trying as well. This might be my status as noob coming through, but is it at all possible to have a command that mimics keystrokes (and then set the buttons as these hotkeys)
EDIT: for anyone who may be interested, i solved the "toggle button" problem. Its a little cumbersome and tedious, but this is how i did it:
1. in columns ui, create a panel stack.
2. depending on where you want the toggle button to be, create horizontal or vertical splitters inside the toggle button. i.e. i wanted mine on the left, so i created a horizontal splitter.
3. put a track info mod under each splitter and put them in identical spots with identical sizes. i.e. i wanted mine on the left, so i put them first, locked, and resized them. (and of course put what you want to be toggled to the other side of them)
4. rename the splitters (must be done through right-clicking on the visual representation of the tabs) to whatever you want, and use those in the button command. So it's not really a "toggle button" you are just putting a button in the same spot within each panel, and each button leads to a different panel.
5. hide the tabs, and you're all set! (you can even set the background to the default grey, and get rid of borders for a really clean look)
Srry for this stupid question, its mentioned in the first sentence of this thread...
Its working fine now
When im playing a song, i use 'now playing' mode. When i stop, i have to manually change to 'follow cursor' mode (because, when nothing is playing, i prefer 'follow cursor' mode)
Is there any way by doing this automatically? So when i stop playing, it will switch automatically to 'follow cursor' mode?
terrestrial had a good solution for this some posts back. create a second track display panel, and keep one in each mode. Then use an $if(%isplaying%...) to switch between them.
Ex.
$if(%isplaying%,
$panel(TDplaying,Track Display....)
,
$panel(TDstopped,Track Display....)
)
Can u explain this a bit more in detail
Having some problems with this and the old trackinfo component. I've tried putting both into my components folder several times and every time I get a message either that a dependency has not been met, the component is not configured properly, or that it isn't a valid Win32 application. I haven't used foobar before so I haven't had it working on a previous version or much less have never had a previous version of foobar...
Keep in mind I'm very new to foobar and am still trying to get the hang of it, and also am not good with programming and code.
Thanks for any help!
have you taken a look at the first post?
...
Requires:
MS Visual C++ 2005 Runtime Library (http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en)
GDI+ - only needed for Windows 2000 (http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en)
Yea you're right. I actually figured it out just a little bit ago. So stupid to have overlooked that bit! Thanks for the newb-guidance, though. Foobar wil definitely take some getting used to but the audiophile in me is loving it!
Got a problem with this component.
(...)
In both modes I have the problem that I get text overlays on switching to next or previous or any other song.
(http://img258.imageshack.us/img258/7125/zwischenablage02df8.th.png) (http://img258.imageshack.us/my.php?image=zwischenablage02df8.png)
Solution:
Thanks to Yotsuya
John Doe: The code you pasted looks rather old. I would suggest recoding the text using $alignabs() instead of $char(10) so you can better control the flow of text. Also it looks like you probably want to separate all those $puts() into a // Global section, the general track info into a // PerTrack section. I tried to do a quick edit on your code but control based color codes do not copy well and foobar kept crashing on me while using your code.
I seperated my code in the two categories // Global and //PerTrack. That solved the problem completely. I didn't change the char(10) because that would just be to much hassle.
JD
Hey. I took this code from brumais winter config. What I want to do is to make a button2 command on the artist (I want it to search on last.fm for the artist when I click on it). But when I try to change it, the alignment messes up. Could anybody help me with this?
$puts(artistimg,$replace(%path%,%filename_ext%,'..\artist.*'))
$puts(defaultimg,'/components\default.png')
$puts(infoHeight,125)
$puts(coverdim,$ifgreater($sub(%_height%,$get(infoHeight)),$sub(%_width%,20),$sub(%_width%,20),$sub(%_height%,$get(infoHeight))))
$puts(infoPos,
$ifgreater(
$add($get(coverdim), 30),
$add($get(coverdim),$get(infoHeight)),
$add($get(coverdim),$get(infoHeight)),
$add($get(coverdim), 30)
))
$puts(leftmargin,$div($sub(%_width%,$get(coverdim)),2))
$if($fileexists($get(coverimg)),
$puts(imgsrc,$get(coverimg)),
$if($fileexists($get(artistimg)),
$puts(imgsrc,$get(artistimg)),
$puts(imgsrc,$get(defaultimg))))
$drawrect(,,,,pencolor-null brushcolor-255-255-255)
$imageabs2($get(coverdim),$get(coverdim),0,0,$get(coverdim),$get(coverdim),$get(leftmargin),1,$get(imgsrc),NOKEEPASPECT)
$imageabs2($get(coverdim),$get(coverdim),0,0,$get(coverdim),$get(coverdim),$get(leftmargin),1,/images\brumal-winter\glare.png,NOKEEPASPECT ALPHA-50)
$imageabs2($get(coverdim),$get(coverdim),0,0,$get(coverdim),$get(coverdim),$get(leftmargin),$add($get(coverdim),2),$get(imgsrc),NOKEEPASPECT ALPHA-80 ROTATEFLIP-6)
$imageabs2($get(coverdim),$get(coverdim),0,0,$get(coverdim),$get(coverdim),$get(leftmargin),$add($get(coverdim),2),/images\brumal-winter\white-reflection.png,NOKEEPASPECT )
$drawrect($get(leftmargin),1,$get(coverdim),$get(coverdim),brushcolor-null pencolor-0-0-0)
// center info
$font(corbel,16,bold,76-68-62)
$alignabs(0,$get(infoPos),%_width%,%_height%,center,)$upper(%artist%)
//$alignabs($get(leftmargin),$add($get(coverdim),40),$get(switcherWidth),20,left,)
$font(corbel,12,bold,123-10-12)
$char(10)
%title%
$char(10)
//$alignabs($get(leftmargin),$add($get(coverdim),60),$get(switcherWidth),20,left,)
//$alignabs($get(leftmargin),$sub(%_height%,42),$sub(%_width%,10),30,right,)
$if($and($strcmp(%album%,%title%),$strstr(%genre%,Classical)),
// classical works with only one track (album and title are the same)
$font(corbel,11,bold,99-104-107)
$if(%performer%,
$left(%performer%,$sub($strstr(%performer%,'feat'),3)),
[%date%])
$char(10)
//$alignabs($get(leftmargin),$add($get(coverdim),80),$get(switcherWidth),20,left,)
$font(corbel,11,bold,99-104-107)
[%date%],
// normal display
$font(corbel,11,bold,99-104-107)
$if(%album%,%album%,Inget Album)
$char(10)
//$alignabs($get(leftmargin),$add($get(coverdim),$calcheight(%title%),60),$get(switcherWidth),20,left,)
$font(corbel,11,bold,99-104-107)
$if(%performer%,
$left(%performer%,$sub($strstr(%performer%,'feat'),3)),
[%genre%])
$char(10)
[%date%])
)
I think it's under "//centerinfo" what I want to change.
Thanks in advance, and sorry for my perhaps noob question
Hello!
I am using foobar for 3 weeks now and got enthusiastic with it and especially with trackinfo_mod...
This is what i came up with after few hours:
(http://img235.imageshack.us/img235/6582/foobarkq3.jpg)
(http://img235.imageshack.us/img235/5159/foobar2sy8.jpg)
// PerSecond
////PLAYING TIME
$if(
%Playback_time%,
$alignabs(0,$sub(%_height%,39),%_width%,15,,)$font(,8,glow-0-0-0 glowexpand-1,183-207-255) Length:$font(,10,bold glow-0-0-0 glowexpand-1,183-207-255) %Playback_time% / %length% $font(,8,glow-0-0-0 glowexpand-1,183-207-255)minutes
)
////
////PROGRESS BAR(INNER)
$if(
$strcmp(%playback_time_seconds%,0),
,
$drawrect(5,$sub(%_height%,18),$muldiv(%playback_time_seconds%,$sub(%_width%,17),%length_seconds%),5,pencolor-0-0-25 brushcolor-$muldiv(%_time_elapsed_seconds%,221,%_time_total_seconds%)-114-$sub(255,$muldiv(%_time_elapsed_seconds%,255,%_time_total_seconds%)))
$drawrect($add($muldiv(%playback_time_seconds%,$sub(%_width%,17),%length_seconds%),5),$sub(%_height%,18),1,10,pencolor-68-105-171 brushcolor-null)
$if(%Playback_time%,
$puts(progress,$muldiv(%_time_elapsed_seconds%,1000,%_time_total_seconds%))
$alignabs($sub($muldiv(%playback_time_seconds%,$sub(%_width%,17),%length_seconds%),4),$sub(%_height%,11),%_width%,15,,)
$font(,6,glow-0-0-0 glowexpand-1 ,183-207-255)
$if(
%_time_total%,
$ifgreater(10,$get(progress),' 0.'$right($get(progress),1),
$ifgreater(100,$get(progress), $left($get(progress),1)'.'$right($get(progress),1),
$ifgreater(1000,$get(progress),$left($get(progress),2)'.'$right($get(progress),1),
$ifequal(1000,$get(progress),'100',))))'%')
)
)
////
// PerTrack
////PROGRESS BAR(OUTER)
$drawrect(4,$sub(%_height%,19),$sub(%_width%,15),7,brushcolor-null pencolor-68-105-171)
////
$if(
%_trackinfo_notrack%
,$alignset() $alignrel(left,top)$font(,8,glow-0-0-0 glowexpand-1,183-207-255) No track,
////ARTIST
$alignrel(left,top)$font(,8,glow-0-0-0 glowexpand-1,183-207-255) Artist:$iflonger(%artist%,40,$font(,8,bold glow-0-0-0 glowexpand-1,183-207-255)[ %artist%],$font(,10,bold glow-0-0-0 glowexpand-1,183-207-255)[ %artist%])
////
//// PLAY COUNTER
$alignrel(right,top)
$if(
$strcmp(%play_counter%,?),
$font(,8,glow-0-0-0 glowexpand-1,183-207-255)Playing song for first time ,
$if(
$strcmp(%play_counter%,1),
$font(,8,glow-0-0-0 glowexpand-1,183-207-255)Song played %play_counter% time ,
$font(,8,glow-0-0-0 glowexpand-1,183-207-255)Song played %play_counter% times
)
)
////
////TRACK
$alignset() $alignrel(left,top)$font(,8,glow-0-0-0 glowexpand-1,183-207-255) Track:$font(,10,bold glow-0-0-0 glowexpand-1,183-207-255)$iflonger(%title%,40,$font(,8,bold glow-0-0-0 glowexpand-1,183-207-255)[ #%Tracknumber% - ][%title%],$font(,10,bold glow-0-0-0 glowexpand-1,183-207-255)[ #%Tracknumber% - ][%title%])
////
//// LAST PLAYED
$puts(lp_year
,$substr(%last_played%,1,4))
$puts(lp_month
,$substr(%last_played%,6,7))
$puts(lp_day
,$substr(%last_played%,9,10))
$puts(lp_hour
,$substr(%last_played%,12,13))
$puts(lp_min
,$substr(%last_played%,15,16))
$puts(lp_sec
,$substr(%last_played%,18,19))
$alignrel(right,top)$font(,8,glow-0-0-0 glowexpand-1,183-207-255)
$if(
$strcmp(%play_counter%,?),
,
$if(
$strcmp(%play_counter%,1),
on,
Last on
)
$if(
%last_played%,
$get(lp_day)-$get(lp_month)-$get(lp_year)' at '$get(lp_hour):$get(lp_min) )
)
////
////ALBUM
$alignset() $alignrel(left,top)$font(,8,glow-0-0-0 glowexpand-1,183-207-255) Album:$iflonger(%album%,40,$font(,8,bold glow-0-0-0 glowexpand-1,183-207-255)[ %album%],$font(,10,bold glow-0-0-0 glowexpand-1,183-207-255)[ %album%])$font(,8,bold glow-0-0-0 glowexpand-1,183-207-255) ['['%date%']']
////
////GAIN INFO
$puts(gain,
$if2($replace(%__replaygain_track_gain%,' ',),'N/A') / $if2($replace(%__replaygain_album_gain%,' ',),'N/A')
)
$alignabs($sub(%_width%,$calcwidth($get(gain))),$sub(%_height%,52),%_width%,15,,)$font(,8,glow-0-0-0 glowexpand-1,183-207-255)$get(gain)
////DECODER INFO
$puts(decoderinfo,
%codec%',' $if3($info(MP3_STEREO_MODE),%channels%) @
$puts(ratio,
$muldiv($info(bitrate),1000,
$div($mul($info(samplerate),$info(bitspersample),$info(channels)),1000)))
$if($info(bitrate),
$if($info(bitspersample),
$if($and(
$strcmp($info(codec),'WavPack'),
$not($strstr($info(codec_profile),'lossless'))),
$info(bitrate)'kb/s',
$ifgreater(100,$get(ratio),$left($get(ratio),1)'.'$right($get(ratio),1),
$ifgreater(1000,$get(ratio),$left($get(ratio),2)'.'$right($get(ratio),1),
$ifequal(1000,$get(ratio),'100.0',)))'% '),
[%codec_profile%',' ]$info(bitrate)'kb/s '))
)
$alignabs($sub(%_width%,$calcwidth($get(decoderinfo))),$sub(%_height%,37),%_width%,15,,)$font(,8,glow-0-0-0 glowexpand-1,183-207-255)$get(decoderinfo)
////
)
//// PAUSED
$alignabs($sub($div(%_width%,2),30),$sub(%_height%,37),%_width%,15,,)$font(,10,bold glow-0-0-0 glowexpand-1,255-179-0)$if(%_ispaused%,'Paused',)
////
- Auto changing font size on long artist/track/album names
- Colorchanging progressbar, depending on...progress ;-)
- progress percentage moving with progressbar
- etc...
What do you think?
Any advice on cleaning up the code?
Feature Request
Would it be possible to implement a function to read text/nfo files? It'd be really nice because then we could have artist biographies etc.
What happened to the plugin?
from the previous page:
@Author: Please fix the bug of the editor window: If you click apply, the cursor moves to the start position
This component is no longer being developed; you need to "upgrade" to the new component panels_ui, which has the same functionality as track_info_mod when columns_ui is the interface selected (and sports a much improved editing window ).
Download link is broke. Anyone have it and can host it somewhere?
see the post immediately above yours.
Heh dident see that. Anyway does anyone just have the "old" one?
no. the component maintainer does not appreciate back versions floating around.
I've been using this component for awhile without any problems, but then I decided to experiment with my configuration by playing with PanelsUI a bit, and that caused a problem with my TrackInfo panel: I couldn't set the background color anymore (although the new dialog box for editing it is nice).
Is there something I'm missing here? I read the msg about how you can now use PanelsUI as your TrackInfo (I think it said that), but I tried that and it obviously requires much more than just a copy/paste of my lengthy config text, because it looked really screwed up.
Can I make my existing TrackInfo mod panel work while I have PanelsUI in my components folder?
copy your trackinfo_mod code into a .txt
remove trackinfo_mod and install panelsUI
in file -> prefs -> display -> columns UI Layout (tab) find where you have (or had) your trackinfo panel and add a Track Display panel.
click "Configure..." and paste in your code from the .txt
Thanks for the fast reply.
Obviously I am missing something. It looks right, but it's black. I try to change the color (using the Color button in the Settings dialog box) but it just stays black. I've tried creating a custom color, but it is never being saved. When I change the color I see the old $font command replaced with $rgb, but hitting OK to close the dialog box doesn't do anything, and when I return to the Settings for it the custom color is gone, the color is 0,0,0 and the command is back to $font.
Yeah, the color button is only there for reference.
You have to use $drawrect() (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panels_UI_%28foo_ui_panels%29#pad)
If your use 0 for the first 4 parameters, you will fill the whole window with color whatever your color is.
Thanks, adding the $drawrect() solved it.
I also had to add the "// PerSecond" command to the file to make it work like the old one.
hi. I'm having problems with the SORT command. I'm using this, just to try it out:
$button(0,0,0,0,18,17,sort.png,sortblack.png,SORT:artist|%artist%:year|%date%,)
the context menu does come up when I click it, but it just doesn't sort anything
I'm thinking it's maybe due to an outdated version of the component (I`m using 0.7.1 beta) I tried to get the new one but the link doesn't work. terrestrial could you please look into it?
and also, if someone could tell me if the code is correct, that'd be nice, cause I'm not sure of what I'm doing...
thanks in advance
Hi,
I've switche from tackinfo_mod to PanelsUI.
I'm only using Track Display in ColummnsUI.
How can I set the Window frame style to grey?
I've got a little problem with the config that I use:
// Original code by necropimp, modified by AstreaEdge, KockRoach, Brumal
// modded by Anish
// Toggles (0=disable, 1=enable)
$puts(show_now_playing,1)
$puts(show_tech_info,1)
$puts(cut_width,39)
// Disable comments on slower machines, disable by not entering any value for show comment
$puts(show_comment,1)
// Warning: Large max_comment_length can result in high CPU usage
// for large comments. Use -1 to disable cropping
$puts(max_comment_length,1000)
$puts(uncompressed_bitrate,$muldiv(%samplerate%,$mul(%__channels%,$if2(%__bitspersample%,16)),1000))
// Color Config
// 1 - Soundtrack to Your Escape background: 16,40,46
// 2 - Reroute to Remain background: 229,232,231
// 3 - Sandman2012 background: 255,255,255
// 4 - Draconian Times background: 129,52,65
// 5 - Since the Day It All Came Down background: 246,248,245
// 6 - Tales from the Thousand Lakes background: 35,22,89
// 7 - Projector background: 0,0,0
// 8 - The Astral Sleep background: 134,107,76
// 9 - Verisäkeet background: 64,76,61
// 10 - Haunted background: 0,0,16
// 11 - Ghost Reveries background: 29,20,15
// 12 - Rain Without End background: 34,27,67
// 13 - Arte Novecento background: 240,240,240
// 14 - Ghosts of Loss background: 87,111,117
// 15 - The Truth Inside the Shades background: 16,20,23
// 16 - 00 Void background: 167,167,177
// 17 - Antimatter background: 0,0,0
// 18 - Frail Words Collapse background: 202,184,122
// 19 - Am Universum background: 204,201,124
// 20 - Character background: 228,226,227
// 21 - From Mars to Sirius background: 239,233,221
// 22 - Voice of Wilderness background: 169,169,159
// 99 - Custom config
$puts(color_config,17)
// Custom color scheme
$puts(cc_text1,$rgb(70,07,16))
$puts(cc_text2,$rgb(10,10,10))
$puts(cc_section_title,$rgb(245,245,245))
$puts(cc_fade_inside,$rgb(245,245,245))
$puts(cc_fade_outside,$rgb(0,0,0))
// color schemes
$if($strcmp($get(color_config),99),
// User defined scheme
$puts(info,$get(cc_text1))
$puts(head,$get(cc_text2))
$puts(anno,$get(cc_text1))
$puts(text2,$get(cc_section_title))
$puts(text1,$get(cc_fade_inside))
$puts(fadeend,$get(cc_fade_outside))
,
$select($get(color_config),
// Soundtrack to Your Escape
$puts(head,$rgb(170,170,170))
$puts(info,$rgb(170,207,216))
$puts(anno,$rgb(98,114,121))
$puts(text1,$rgb(170,207,216))
$puts(text2,$rgb(255,250,216))
$puts(fadeend,$rgb(0,0,0)),
// Reroute to Remain
$puts(head,$rgb(0,0,0))
$puts(info,$rgb(100,106,102))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(179,181,180))
$puts(text2,$rgb(123,40,48))
$puts(fadeend,$rgb(0,0,0)),
// Sandman2012
$puts(head,$rgb(0,128,192))
$puts(info,$rgb(130,130,130))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(235,242,254))
$puts(text2,$rgb(0,128,64))
$puts(fadeend,$rgb(0,0,0)),
// Draconian Times
$puts(head,$rgb(201,193,146))
$puts(info,$rgb(217,219,206))
$puts(anno,$rgb(217,219,206))
$puts(text1,$rgb(157,51,67))
$puts(text2,$rgb(178,196,200))
$puts(fadeend,$rgb(176,107,68)),
// Since the Day It All Came Down
$puts(head,$rgb(3,46,41))
$puts(info,$rgb(104,104,94))
$puts(anno,$rgb(104,104,94))
$puts(text1,$rgb(76,107,106))
$puts(text2,$rgb(50,85,91))
$puts(fadeend,$rgb(0,0,0)),
// Tales from the Thousand Lakes
$puts(head,$rgb(98,167,162))
$puts(info,$rgb(203,203,210))
$puts(anno,$rgb(203,203,210))
$puts(text1,$rgb(78,112,173))
$puts(text2,$rgb(143,201,234))
$puts(fadeend,$rgb(62,67,171)),
// Projector
$puts(head,$rgb(227,122,76))
$puts(info,$rgb(170,134,98))
$puts(anno,$rgb(170,134,98))
$puts(text1,$rgb(132,55,40))
$puts(text2,$rgb(248,214,134))
$puts(fadeend,$rgb(0,0,0)),
// The Astral Sleep
$puts(head,$rgb(67,45,32))
$puts(info,$rgb(208,204,199))
$puts(anno,$rgb(208,204,199))
$puts(text1,$rgb(103,75,51))
$puts(text2,$rgb(214,200,168))
$puts(fadeend,$rgb(0,0,0)),
// Verisäkeet
$puts(head,$rgb(160,146,117))
$puts(info,$rgb(208,194,165))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(113,52,47))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Haunted
$puts(head,$rgb(119,119,136))
$puts(info,$rgb(160,176,184))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(216,88,16))
$puts(text2,$rgb(228,228,232))
$puts(fadeend,$rgb(0,0,0)),
// Ghost Reveries
$puts(head,$rgb(145,113,54))
$puts(info,$rgb(238,219,135))
$puts(anno,$rgb(162,144,88))
$puts(text1,$rgb(172,148,76))
$puts(text2,$rgb(241,238,205))
$puts(fadeend,$rgb(35,27,16)),
// Rain Without End
$puts(head,$rgb(83,119,171))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(194,194,194))
$puts(text1,$rgb(70,102,149))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Arte Novecento
$puts(head,$rgb(122,116,128))
$puts(info,$rgb(115,106,111))
$puts(anno,$rgb(115,106,111))
$puts(text1,$rgb(106,100,128))
$puts(text2,$rgb(130,139,148))
$puts(fadeend,$rgb(122,116,128)),
// Ghosts of Loss
$puts(head,$rgb(151,174,180))
$puts(info,$rgb(197,207,216))
$puts(anno,$rgb(197,207,216))
$puts(text1,$rgb(93,116,122))
$puts(text2,$rgb(237,233,228))
$puts(fadeend,$rgb(0,0,0)),
// The Truth Inside the Shades
$puts(head,$rgb(191,195,168))
$puts(info,$rgb(246,242,155))
$puts(anno,$rgb(246,242,155))
$puts(text1,$rgb(244,163,107))
$puts(text2,$rgb(251,251,251))
$puts(fadeend,$rgb(0,0,0)),
// 00 Void
$puts(head,$rgb(55,54,72))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(145,68,63))
$puts(text2,$rgb(244,241,234))
$puts(fadeend,$rgb(0,0,0)),
// Antimatter
$puts(head,$rgb(107,111,122))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(184,184,184))
$puts(text1,$rgb(206,158,66))
$puts(text2,$rgb(204,204,204))
$puts(fadeend,$rgb(0,0,0)),
// Frail Words Collapse
$puts(head,$rgb(77,40,22))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(187,155,103))
$puts(text2,$rgb(128,83,62))
$puts(fadeend,$rgb(0,0,0)),
// Am Universum
$puts(head,$rgb(122,100,40))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(122,100,40))
$puts(text2,$rgb(107,70,13))
$puts(fadeend,$rgb(235,229,143)),
// Character
$puts(head,$rgb(98,100,97))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(160,66,35))
$puts(text2,$rgb(115,39,23))
$puts(fadeend,$rgb(221,162,88)),
// From Mars to Sirius
$puts(head,$rgb(159,143,127))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(159,143,127))
$puts(text2,$rgb(111,89,66))
$puts(fadeend,$rgb(0,0,0)),
// Voice of Wilderness
$puts(head,$rgb(0,0,4))
$puts(info,$rgb(77,75,63))
$puts(anno,$rgb(77,75,63))
$puts(text1,$rgb(0,0,0))
$puts(text2,$rgb(89,87,71))
$puts(fadeend,$rgb(199,197,181)),
))
// Progress Bar Divider Width (0 yeilds no divider)
$puts(divw,16)
// Progress Bar Divider Character (blank yields no divider)
$puts(divc,)
// Separator
$puts(sepc,–)
$puts(sepw2,$calcwidth($get(sepc)$get(sepc)))
$puts(sep1,$if(%_isplaying%, NOW PLAYING , SELECTED TRACK ))
$puts(sep2, TECH INFO )
$puts(sep3, COMMENT )
$align(center, top)$font(,,shadow,)
$if(%_trackinfo_notrack%,
$align(left,bottom)$font(Uni 05_53,6,shadow,200-200-200)v0.9.4.3
$align(right,bottom)$font(Impact,25,shadow,102-102-85)2000
$align(right,bottom)$font(Candara,14,bold italic shadow,200-200-200)$repeat($char(10),5)foobar$repeat( ,13),
// SONG INFO SEPARATOR
$puts(sepw,$repeat($get(sepc),$sub($div($sub(%_width%,$calcwidth($get(sep1))),$get(sepw2)),1)))
$transition($get(sepw),$get(fadeend),$get(text1))
$get(text2)$get(sep1)
$transition($get(sepw),$get(text1),$get(fadeend))
$char(10)
$if(%title%,$ifgreater($get(cut_width),$len(%title%),,)$get(head)$get(info)%title%$ifgreater($get(cut_width),$len(%title%), ,)$char(10),)
$if(%artist%,$get(head)by$char(10)$ifgreater($get(cut_width),$len(%artist%),,)$get(info)%artist%$ifgreater($get(cut_width),$len(%artist%), ,)$char(10),)
$ifgreater($meta_num(performer),0,$get(info)%performer%$char(10),
$if(%album%,$get(head)track #$get(info)%tracknumber% $get(head)from$char(10)$ifgreater($get(cut_width),$len(%album%),,)$get(info)%album%$ifgreater($get(cut_width),$len(%album%), ,)$if2(%discname%,$get(head)Disc $get(info)%discnumber%)$char(10),)
$if(%genre%,$get(head)$if($strcmp($replace($upper($left(%genre%,1)),A,{},E,{},I,{},O,{}),{}),an,a) $get(info)%genre%$if($or($strcmp(%genre%,Soundtrack),$strcmp(%genre%,Audiobook)),, $get(head)$if(%album%,album,song))$char(10),)
$if(%style%,$get(head)in the style of$char(10)$ifgreater($get(cut_width),$len(%style%),,)$get(info)%style%$ifgreater($get(cut_width),$len(%style%), ,)$char(10),)
$if(%date%,$get(head)released in $get(info)%date%$char(10),))
// TECH INFO SEPARATOR
$puts(sepw,$repeat($get(sepc),$sub($div($sub(%_width%,$calcwidth($get(sep2))),$get(sepw2)),1)))
$transition($get(sepw),$get(fadeend),$get(text1))
$get(text2)$get(sep2)
$transition($get(sepw),$get(text1),$get(fadeend))
$char(10)
// set 4-character filetype
$puts(filetype,$upper(
$if(%__referenced_file%,$cut($ext(%__referenced_file%),4),
$if($stricmp($left(%_path%,4),cdda),CD,$cut($ext(%_path%),4)
))
))
// detect detailed filetype2
$puts(filetype2,$replace($get(filetype),
WAV,[%codec% ]WAVE,
SND,'Next/Sun',
AC3,Dolby Digital,
CD,Audio CD,
MKA,Matroska[ %codec%][ %codec_profile%],
OGG,Ogg[ %codec%][ $get(head)$replace($info(bitrate_nominal),32,Q-2,48,Q-1,64,Q0,80,Q1,96,Q2,112,Q3,128,Q4,160,Q5,192,Q6,224,Q7,256,Q8,320,Q9,500,Q10)],
MP4,MPEG-4[ %codec%][ %codec_profile%],
M4A,MPEG-4[ %codec%][ %codec_profile%],
MP2,MPEG Layer 2,
MP3,[%codec%][ %codec_profile%],
AAC,AAC[ %codec_profile%],
WMA,Window'$' Media Audio,
MPC,Musepack $if(%codec_profile%,$get(head)MPC Profile: $get(info)%codec_profile%),
OFR,OptimFROG,
OFS,OptimFROG DS,
FLA,FLAC,
APE,Monkey''s Audio[ %codec_profile%],
MAC,Monkey''s Audio[ %codec_profile%],
APL,Monkey''s Audio[ %codec_profile%],
WV,WavPack[ %codec_profile%],
SHN,Shorten,
SPX,Speex,
SID,C64 SID-Tune,
MDZ,Soundtracker Module,
S3Z,Screamtracker Module,
ITZ,Impulsetracker Module,
XMZ,Fasttracker II Module,
MO3,Compressed Module,
MOD,Soundtracker Module,
S3M,Screamtracker Module,
XM,Fasttracker II Module,
IT,Impulsetracker Module,
UMX,Unreal Music File,
MTM,Multitracker Module,
TFM,Final Musicsystem
))
$puts(filetype2,$replace($get(filetype2),FLACC,FLAC[ %codec_profile%]))
$get(head)$get(info)[%_time_elapsed%][$if(%_time_elapsed%, $get(head)/$get(info) )%length%]$get(head) @ $get(info)
%__bitrate% $get(head)kb/s $get(info)$get(filetype2)$char(10)
$if(%__samplerate%,$get(head)$get(info)$div(%__samplerate%,1000).$substr(%__samplerate%,3,3) kHz )
$get(head)$get(info)$if($stricmp($codec(),MP3),$get(space2)$caps(%__mp3_stereo_mode%),[$caps(%channels%)])$char(10)
$if(%__bitspersample%,$get(head)Bitdepth: $get(info)%__bitspersample%$char(10),)
$if(%_filesize%,$get(head)$get(info)
$puts(f_size,$add($ifequal(%subsong%,0,$div(%filesize%,1024),$muldiv($info(bitrate),%length_seconds%,8)),5))
$div($get(f_size),1024).$left($right($num($muldiv($get(f_size),1000,1024),4),3),2)$get(head)'MB',)
$get(head) ~ $get(info)$substr($put(ratio,$muldiv($get(uncompressed_bitrate),100,$info(bitrate))),1,$sub($len($get(ratio)),2))
.$substr($get(ratio),$sub($len($get(ratio)),1),$len($get(ratio))):1 $get(head)'('$muldiv($info(bitrate),100,$get(uncompressed_bitrate))$get(head)'%)'$char(10)
// COMMENT INFO SEPARATOR
$if($and(%comment%,$strcmp($get(show_comment),1)),
$puts(sepw,$repeat($get(sepc),$sub($div($sub(%_width%,$calcwidth($get(sep3))),$get(sepw2)),1)))
$transition($get(sepw),$get(fadeend),$get(text1))
$get(text2)$get(sep3)
$transition($get(sepw),$get(text1),$get(fadeend))
$char(10)
$rgb(204,204,204)
$ifgreater($calcwidth(%comment%),%_width%,$alignset()$alignrel(left,),)
$ifgreater($len(%comment%),$get(max_comment_length),$cut(%comment%,$get(max_comment_length))'...',%comment%)
))
The problem is when I put // PerSecond at the beginning of the code so the %_time_elapsed% would update. It simply uses to much CPU. Is there a way to put the // PerSecond somewhere inside the // TECH INFO SEPARATOR? Then the script would only update per second the part that is needed and the CPU usage would drop (i think).
the link for dl the dll of track info panel mod is down where can i download the dll please
This component is no longer being developed. It has been merged into PanelsUI. If you add foo_ui_panels.dll into your foobar you will have "Track Display" panel available in your ColumnsUI configuration even if you do not use PanelUI as your primary interface.
We are in 2008 now, fb2k generates an error message for foo_ui_panels at fb2k start, so, back here again!I downloaded a foo_uie_trackinfo_mod, from whereever. After a couple of code changes it works, I'm just puzzled about the alignabs things, not sure if this plugin has it.
Is this a japanese product or what is it? Looks this great here:
(http://minnit.de/etc/trackinfomod.png)
foo_uie_trackinfo_mod.dll (2007-01-05 13:36:20) Track info panel mod 0.8.0 beta [Jan 5 2007 - 13:36:12]
Anyone else?
same issue here with a version from here:
http://www.hydrogenaudio.org/forums/index....showtopic=64035 (http://www.hydrogenaudio.org/forums/index.php?showtopic=64035)
fortunately i backuped my "old" english one with the same file creation date:
http://www.2shared.com/file/3560916/3a24ee...ckinfo_mod.html (http://www.2shared.com/file/3560916/3a24ee52/foo_uie_trackinfo_mod.html)
Stuck on 0.9.5.3.
The current path is taking us to DefaultUI by abandoning ColumnsUI/PanelsUI. Lot of sentimental values down the drain
That's bull, ColumnsUI is still supported as well as it ever was. PanelsUI was a bad hack...
fortunately i backuped my "old" english one with the same file creation date:
http://www.2shared.com/file/3560916/3a24ee...ckinfo_mod.html (http://www.2shared.com/file/3560916/3a24ee52/foo_uie_trackinfo_mod.html)
Oh great, thank you, I'll try that one.
Thanks for english version ladiko.
Had to remove some foo_cwb_hooks code to make it function correctly.
Anybody know the code to replace %cwb_next_artist% & %cwb_next_title% ?
Download link with different versions:
http://bbs.pcpchina.com/index.php?showtopic=113645 (http://bbs.pcpchina.com/index.php?showtopic=113645)
Squeller's component:
foo_uie_trackinfo_mod 0.8.0Beta[Jan 5 2007]
my one
foo_uie_trackinfo_mod 0.8.0Beta[Jan 5 2007]
your one:
foo_uie_trackinfo_mod 0.8.0Beta[Jan 5 2007]
so what's the difference?
between the three you specified? nothing except the language, I think.
I just wanted to provide another download link
With "different version" I meant that there are older versions available, too.
this is my set up, actually its my first attampt to customize foobar and i've kinda learned in the proccess
i did a little animation, all is needed are 6 images: 0-5.png (0-4 for play time, and 5 for no track)
i'll be glad if someone suggests any idea of internal clock (instead of the $mod thing) so skipping in pause mod will not change the animation, i've tried $put and $get but it didn't work.
(http://img139.imageshack.us/img139/2091/screenstrackinfocirclesyh2.th.jpg) (http://img139.imageshack.us/my.php?image=screenstrackinfocirclesyh2.jpg)
// PerSecond
////PLAYING TIME
$if(
%Playback_time%,
$alignabs(5,$sub(%_height%,50),%_width%,100,,)$font(,11,,98-202-53) Length:$font(,10,,98-202-53) %Playback_time% / %length% $font(,8,,98-202-53)minutes
////
////CIRCLES
$puts(clock,$mod(%playback_time_seconds%,5))
$imageabs($sub(%_width%,400),$sub(%_height%,200),images\$get(clock).png,)
////
)
////
////CODEC+STATIC CIRCLES
$if(
%_trackinfo_notrack%,$imageabs($sub(%_width%,400),$sub(%_height%,200),images\5.png,),
$alignset() $alignrel(left,bottom)$font(,8,,230-40-40) %bitrate%Kbps %codec%$if($strcmp(?,%codec_profile%),, %codec_profile%) %channels% %samplerate%Hz
)
////
////PROGRESS BAR
$if(
$strcmp(%playback_time_seconds%,0),
,
$drawrect(6,$sub(%_height%,29),$muldiv(%playback_time_seconds%,$sub(%_width%,12),%length_seconds%),13,brushcolor-$add($muldiv(%playback_time_remaining_seconds%,105,%length_seconds%),150)-255-$add($muldiv(%playback_time_remaining_seconds%,105,%length_seconds%),150) penColor-null)
)
$drawrect(5,$sub(%_height%,30),$sub(%_width%,10),15,brushcolor-null pencolor-200-200-200)
////
// PerTrack
$if(
%_trackinfo_notrack%,
$align(center,middle)$font(,24,bold glow-20-100-20,98-202-53) No Track,
////FONT
$font(,13,,98-202-53)
////
////ARTIST
$if($strcmp(?,%artist%),,$alignset() $alignrel(left,top) Artist: %artist%)
////
////TRACK AND NUMBER
$alignset() $alignrel(left,top) Track: %title%
$if($strcmp(?,%tracknumber%),,$alignset() $alignrel(left,top) Number: %tracknumber%)
$if($strcmp(?,%totaltracks%),,$alignrel(left,top)/%totaltracks%)
////
////ALBUM
$if($strcmp(?,%album%),,$alignset() $alignrel(left,top) Album: %album%)
////
////YEAR
$if($strcmp(?,%date%),,$alignset() $alignrel(left,top) Year: %date%)
////
)
//// PAUSED
$alignset() $align(center,middle)$font(,24,bold glow-20-100-20,98-202-53)$if(%_ispaused%,'Paused',)
////
looks nice :-)
could you be so nive to also provide the images?
Please HELP !!!
Here is the problem:
I wanna display album art per track, i use this script:
$if($fileexists($replace(%path%,%filename_ext%,%filename%.jpg)),$imageabs2(%_width%,%_width%,0,$div($sub(%_width%,%_height%),2),0,0,0,0,$replace(%path%,%filename_ext%,%filename%.jpg),NOKEEPASPECT alpha-75),$imageabs2(%_width%,%_width%,0,$div($sub(%_width%,%_height%),2),0,0,0,0,./images/default.jpg,NOKEEPASPECT alpha-75))
$fileexists is working, the problem is with $imageabs
Between as u see file covers are in the same dir as files, same name but jpg extension
Problem solved my files are in a directory named #Singles, it looks like foobar not likes
# character
Hi. I have a question about creating a button for sorting. I've been trying to find a way to do it and I hadn't realized track_info_mod does something like it (displaying a menu in which you can choose what you want to sort by). like this:
'SORT:Artist|RESET %artist%:Title|RESET %title%:Length|RESET %_length%'
this gives a menu with 3 options: and you can click one after the other to sort by that order, sequentially, or reset
what I'm wondering is if instead of only one field we can set a longer, adn more complicated string. I tried to just write the string in the code, but when it finds a "|" it makes different option in the menu...which makes sense
I've been trying to achieve this for a long time. I wish there was a way to make custom strings accessible in the menu (skipping the extra dialog), so they could be used with buttons, and other components
If anyone knows how to do this with this (or other) component, It would make my foobar perfect for my needs
thanks
looks nice :-)
could you be so nive to also provide the images?
(http://img523.imageshack.us/img523/3411/87938575se2.th.png) (http://img523.imageshack.us/my.php?image=87938575se2.png)
(http://img211.imageshack.us/img211/716/19379593dq4.th.png) (http://img211.imageshack.us/my.php?image=19379593dq4.png)
(http://img59.imageshack.us/img59/2968/79091507tg2.th.png) (http://img59.imageshack.us/my.php?image=79091507tg2.png)
(http://img211.imageshack.us/img211/7489/90959578hr8.th.png) (http://img211.imageshack.us/my.php?image=90959578hr8.png)
(http://img74.imageshack.us/img74/8390/26518514oi5.th.png) (http://img74.imageshack.us/my.php?image=26518514oi5.png)
(http://img78.imageshack.us/img78/233/88887932ns1.th.png) (http://img78.imageshack.us/my.php?image=88887932ns1.png)
have fun!
take into consideration that the height is 200 pixels...
I don't know if development is still going on this, but I was just wondering if this could be implemented:
Displayed Track
Automatic
Playing item
Active playlist item
(Like in 'Artwork view')
These would be really handy to refer to. Or is there already a way to do this that I'm missing?
Cheers.
Hello,
I have a problem with track_info_mod, I have Foobar 9.5.5 and when I put the dll in "components" and I run Foobar, I have an error message :
Failed to load DLL: foo_uie_trackinfo_mod.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
Anybody experienced the same problem ? I have been searching the net and I can't find no answer.
What is the "application configuration" ?? I have reinstalled and the problem goes on.
I saw on the Internet that it could have something to do with not having Visual C++2005 installed on my computer. But why would I install this thing ? Do all the computer owners who have no problems with Track info mod have Visual C++ installed (apparently, it should generate a file named WinSxS on C: in "Windows") ?
Thanks for any eventual help.
well its not the Visual Studio Program per se
some components needed dll files and they included in the runtime libraries based on them
here 2005 >> http://www.microsoft.com/downloads/details...;displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en)
here 2008 >> http://www.microsoft.com/downloads/details...;displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en)
Ok, thanks!!
Anyway, I am stupid because it is written in the first message of this topic, but maybe it is only valid for the _mod...mmm...perhaps I should try installing the old track_info (but it is maybe too old ).
So all the computers where track_info_mod works have Visual C++2005 installed ? Or is it possible to have just the dlls ?
Thanks again, it's nice to help noobs like me.
follow the links install the packages and all will be good
its not the visual studio that you install, its just the dll files that are needed for working
install the packages and see
you don't need the "old" version its not necessary
Hello,
Sorry but I found the old version (Foo_uie_trackinfo) and it is just what I need as I'm not interested in changing the font or displaying images. I mainly wanted it to display the path of the selected track and it works just fine.
But I think the info I learned here may come in handy in the future if I change my mind, and if other people have the same problem, now I can tell them where it stems from.
Thanks again!
Old topic and all, hate it bump it but...
(http://img519.imageshack.us/img519/8544/zzzjq0.png)
Anyone else run into this bug?
Old topic and all, hate it bump it but...
just activate this support in XP or get the official Track Info Mod dll in english
Thank you. I had the same problem, but that's solved now. Is the only difference between this Japanese version and the original track_info_mod the translation or has this been developed any further? I ask this because I can't read Japanese any better then vertical stripes, but if it comes with the benefit of updates then I can live with that.
I just discovered this great plugin (hope, it will be supported in the new foobar 0.9.6 or will be developed again since its "successor" panelsUI isn't longer supported) and love it. But i have a little problem with it:
I made buttons for "play/pause", "previous", "next", "stop" and "random" and all does their job except "random". It always sets the "
playback order" to random instead of playback/random (it sets the command: playback order/random instead of playback/random).
How can i set my button-string to use playback/random?
The button-strings are as followed:
$button(71,30,0,0,24,24,C:\Programme\foobar2000\Previous.png,C:\Programme\foobar2000\PreviousMH.png,Previous,)
$button(103,30,0,0,24,24,C:\Programme\foobar2000\Stop.png,C:\Programme\foobar2000\StopMH.png,Stop,)
$button(135,30,0,0,24,24,$if(%ispaused%,C:\Programme\foobar2000\Pause.png,C:\Programme\foobar2000\Play.png),C:\Programme\foobar2000\PlayPauseActive.png,Play or Pause,)
$button(167,30,0,0,24,24,C:\Programme\foobar2000\Next.png,C:\Programme\foobar2000\NextMH.png,Next,)
$button(199,30,0,0,24,24,C:\Programme\foobar2000\Random.png,C:\Programme\foobar2000\RandomMH.png,Random,)
What's wrong with it?
EDIT:
Strange, sometimes when i restart foobar the random button uses "playback/random" like it should...
Maybe a bug in trackinfo_mod.
Is there a way to force the button to only use "playback/random"?
I tried to set
$button(199,30,0,0,24,24,C:\Programme\foobar2000\Random.png,C:\Programme\foobar2000\RandomMH.png,Playback/Random,)
But then the button does nothing...
EDIT2:
Problem solved.
I use button-function in Panel Stack Splitter instead.
Hi,
Is there any chance for a fb2k 0.9.6 compatible version of this plugin?
Hi,
Is there any chance for a fb2k 0.9.6 compatible version of this plugin?
still compatible for now. no ?
a week ago i made a topic about a problem i have with buttons in this plugin:
http://www.hydrogenaudio.org/forums/index....c=67537&hl= (http://www.hydrogenaudio.org/forums/index.php?showtopic=67537&hl=)
but nobody answered...
if anybody knows what am i doing wrong, please help!
Hi,
Is there any chance for a fb2k 0.9.6 compatible version of this plugin?
It works fine here, foo_uie_trackinfo_mod.dll, version 0.8.0 beta Jan 5 2007.
a week ago i made a topic about a problem i have with buttons in this plugin:
http://www.hydrogenaudio.org/forums/index....c=67537&hl= (http://www.hydrogenaudio.org/forums/index.php?showtopic=67537&hl=)
but nobody answered...
if anybody knows what am i doing wrong, please help!
All I can say is that buttons sometime disappear for me as well. I have no idea how to fix it, short of restarting foobar.
All I can say is that buttons sometime disappear for me as well. I have no idea how to fix it, short of restarting foobar.
i think i figured it out. when i use relative paths (eg. my images are in foobar's directory and i just put the path like images\image.png) this sometimes happens.
but when i use absolute path (eg. C:\foobar2000\images\image.png) this doesn't happen (at least i didn't see it happen yet).
is there a variable that contains foobar's path? like %foopath% or something?
I have all my images stored in C:\Programme\foobar2000\Appearance\
And i use this variable:
$puts(imagepath,'./Appearance\')
to call it like '$get(imagepath)Blue1.png' for instance.
I have never had invisible buttons.
I have all my images stored in C:\Programme\foobar2000\Appearance\
And i use this variable:
$puts(imagepath,'./Appearance\')
to call it like '$get(imagepath)Blue1.png' for instance.
I have never had invisible buttons.
i have this:
$puts(foodir,C:\Media\foobar2000\)
$put(rate1,$get(foodir)fb2k-buttons2\jere\ratehq16\rate11.png)
$put(rate0,$get(foodir)fb2k-buttons2\jere\ratehq16\rate0.png)
$put(rate,$get(foodir)fb2k-buttons2\jere\ratehq16\rate1.png)
$ifgreater(%rating%,0,
$put(rating1,$get(rate1)),
$put(rating1,$get(rate0))
)
$ifgreater(%rating%,1,
$put(rating2,$get(rate1)),
$put(rating2,$get(rate0))
)
$ifgreater(%rating%,2,
$put(rating3,$get(rate1)),
$put(rating3,$get(rate0))
)
$ifgreater(%rating%,3,
$put(rating4,$get(rate1)),
$put(rating4,$get(rate0))
)
$ifgreater(%rating%,4,
$put(rating5,$get(rate1)),
$put(rating5,$get(rate0))
)
$button($add($get(starleft),0,16),$get(startop),0,0,16,16,$get(rating1),$get(rate),TAG:SET:Rating:1,)
$button($add($get(starleft),1,32),$get(startop),0,0,16,16,$get(rating2),$get(rate),TAG:SET:Rating:2,)
$button($add($get(starleft),2,48),$get(startop),0,0,16,16,$get(rating3),$get(rate),TAG:SET:Rating:3,)
$button($add($get(starleft),3,64),$get(startop),0,0,16,16,$get(rating4),$get(rate),TAG:SET:Rating:4,)
$button($add($get(starleft),4,80),$get(startop),0,0,16,16,$get(rating5),$get(rate),TAG:SET:Rating:5,)
i tried to change foodir variable to './', '.\', ./ and .\
that all works when i press apply/ok, but as soon as i quit foobar and restart it i see only the images that load when ifgreater is true.
if i say that foodir is C:\Media\foobar2000\ then there is no such problem. i just don't understand it
All I can say is that buttons sometime disappear for me as well. I have no idea how to fix it, short of restarting foobar.
i think i figured it out. when i use relative paths (eg. my images are in foobar's directory and i just put the path like images\image.png) this sometimes happens.
but when i use absolute path (eg. C:\foobar2000\images\image.png) this doesn't happen (at least i didn't see it happen yet).
is there a variable that contains foobar's path? like %foopath% or something?
I can confirm that using relative paths will indeed make images disappear (specifically, the issue happens when I use the command "enqueue in foobar2000" in a folder, with foobar being closed beforehand). Using absolute paths however, will not trigger this issue.
Using $puts(imagepath,'C:\Program Files\foobar2000\images\') in the top of the track info panel config, and calling the images with $get(imagepath)filename.png works perfectly well.
I am wanting to use a button to run a service using the foo_run component (usually accessible via the context menu right click>Run service>Google Artist). However when i put the path into the command section of the button nothing seems to happen. Fairly sure the spelling is right, and other context commands work fine. Any ideas as to the issue?
I tried it:
$button2(0,0,0,0,80,16,'$font(,,,0-0-255)'Google Artist,'$font(,,,255-0-0)'Google Artist,'Google Artist',)
and it works.
I tried it:
$button2(0,0,0,0,80,16,'$font(,,,0-0-255)'Google Artist,'$font(,,,255-0-0)'Google Artist,'Google Artist',)
and it works.
Excellent, worked for me too. Cheers.
Can anybody help. I´ve googled a lot and didn´t find out much.....
1. The question is: what are the correct commands for track info mod. The description refers only to the main menu commands (e.g. playback/pause)...
I need the command for "set volume to 0 dB" for example, to fake a volume slider with buttons (similar to how usually rating is realized)...
2. Is it possible to send keyboard inputs to another panel (with a button)?
I want to include a button, which fakes keyboard input "arrow right" for chronflow
hello -
...and please excuse me to the moderators of this forum - but i believe i've finally found the correct thread in which to post this! here's a fairly simple config based on a turntable, shown stopped and playing.
(http://i616.photobucket.com/albums/tt245/llcooljk/lljkturntable.jpg)
the code is largely set up for my dockable panels, to activate the playlist, queue manager, search window, peakmeter, and albumlist - so you'll have to change it some to suit your needs, but the main playback buttons, as well as the menu and preferences buttons (the two tiny buttons under the stylus when stopped) should all work as is. the album art shown is *.jpg in the playing file's folder. ah, the button that looks like a play button is really the 'next button,' the button with the 'p' on it next to the volume slider is the play/pause button.
here's the code:
//WINDOW INSET
$put(horz,5)
$put(vert,5)
//TURNTABLE AND ART
$if(%isplaying%,
$imageabs2(210,210,0,0,210,210,
$add($get(horz),22),$add($get(vert),17),$replace(%path%,%filename_ext%,)*.jpg,nokeepaspect),
$imageabs($add($get(horz),22),$add($get(vert),17),images\ttable\platter.png,))
$imageabs($get(horz),$get(vert),images\ttable\turntableoverlay.png,)
$if(%isplaying%,$imageabs($get(horz),$get(vert),images\ttable\playoverlay2.png,))
$if(%isplaying%,$imageabs($add($get(horz),92),$add($get(vert),86),images\ttable\albumoverlay.png,))
$imageabs($add($get(horz),124),$add($get(vert),118),images\ttable\spindle.png,)
//PLAY/PAUSE
$put(playpause,$if(%isplaying%,pause,play))
$button($add($get(horz),270),$add($get(vert),185),0,0,15,15,
images\ttable\pp.png,images\ttable\pphot.png,$get(playpause),)
//STOP
$button($add($get(horz),57),$add($get(vert),229),0,0,15,15,
images\ttable\stop.png,images\ttable\stophot.png,stop,)
//PREVIOUS
$button($add($get(horz),41),$add($get(vert),229),0,0,15,15,
images\ttable\prev.png,images\ttable\prevhot.png,previous,)
//NEXT
$button($add($get(horz),11),$add($get(vert),218),0,0,20,20,
images\ttable\next.png,images\ttable\nexthot.png,next,)
//PLAYLIST
$button($add($get(horz),13),$add($get(vert),8),0,0,20,20,
images\ttable\plist.png,images\ttable\plisthot.png,3 - Single Column Playlist View,)
//MENU
$button($add($get(horz),227),$add($get(vert),231),0,0,10,10,
images\ttable\minibutton.png,images\ttable\minibuttonhot.png,5 - Menu,)
//PREFERENCES
$button($add($get(horz),213),$add($get(vert),231),0,0,10,10,
images\ttable\minibutton.png,images\ttable\minibuttonhot.png,Preferences,)
//SHUFFLE
$if($stricmp(%cwb_playback_order%,default),
$button($add($get(horz),5),$add($get(vert),187),0,0,20,20,
images\ttable\def.png,images\ttable\defhot.png,'Shuffle (tracks)',))
$if($stricmp(%cwb_playback_order%,'shuffle (tracks)'),
$button($add($get(horz),5),$add($get(vert),187),0,0,20,20,
images\ttable\shtracks.png,images\ttable\shtrackshot.png,default,))
//GRAPHICAL BROWSER
$button($add($get(horz),124),$add($get(vert),118),-10,-10,20,20,
images\ttable\spindle.png,images\ttable\spindlehot.png,1 - Graphical Browser,)
//SPECTRUM ANALYZER
$button($add($get(horz),284),$add($get(vert),228),0,0,15,15,
images\ttable\vis.png,images\ttable\vishot.png,9 - Peakmeter spectrum,)
//SEARCH
$button($add($get(horz),264),$add($get(vert),228),0,0,15,15,
images\ttable\search.png,images\ttable\searchhot.png,Search,)
//CUE LIST
$button($add($get(horz),242),$add($get(vert),228),0,0,15,15,
images\ttable\cue.png,images\ttable\cuehot.png,6 - Queue Manager,)
//FILE TREE
$button($add($get(horz),292),$add($get(vert),57),0,0,15,15,
images\ttable\alblist.png,images\ttable\alblisthot.png,2 - Album list,)
//VOLUME BAR
$puts(volume,$substr($num(%cwb_volume%,4),2,4))
//VOLUME CONTROLS
$if($stricmp(100,$get(volume)),
$button($add($get(horz),294),$add($get(vert),206),-5,-5,20,20,
images\ttable\voldown.png,images\ttable\voldownhot.png,Volume DOWN,),
$button($add($get(horz),294),$add($get(vert),206),-5,-5,20,20,
images\ttable\voldown.png,images\ttable\voldownhot.png,Volume DOWN,))
$if($stricmp(100,$get(volume)),
$button($add($get(horz),294),$add($get(vert),117),-5,-5,20,20,
images\ttable\volup.png,images\ttable\voluphot.png,Volume UP,),
$button($add($get(horz),294),$add($get(vert),117),-5,-5,20,20,
images\ttable\volup.png,images\ttable\voluphot.png,Volume UP,))
$put(slidervert,$sub(131,$mul(%cwb_volume%,1.4)))
$imageabs($add($get(horz),291),$add($get(vert),$get(slidervert)),images\ttable\volslider.png,)
and a link to the images - put the 'ttable' folder in the 'images' folder in your main foobar folder...
turntable images (http://www.mediafire.com/?evhzl4htmic)
@vogliadicane - trying to work out the volume slider issue as well, for now you have to click on the '+' and '-' symbols...
@moderators - please delete my other posts as you see fit, and sorry again for taking so long to find the right place - new here and there are a lot of threads to sift through...
Can anybody help. I´ve googled a lot and didn´t find out much.....
1. The question is: what are the correct commands for track info mod. The description refers only to the main menu commands (e.g. playback/pause)...
I need the command for "set volume to 0 dB" for example, to fake a volume slider with buttons (similar to how usually rating is realized)...
2. Is it possible to send keyboard inputs to another panel (with a button)?
I want to include a button, which fakes keyboard input "arrow right" for chronflow
I soved problem one by simply using a wsh panel with sliders.
Anybody an idea for point 2?
Could someone please re-upload the latest english version somewhere? All the links to it appear to be down, and the only link I can google up is the japanese one. Thanks
okay, I'm an idiot, nevermind. (http://pelit.koillismaa.fi/plugins/show.php?id=160) hahah
I´ve come back to this panel because some things are still not quite satisfying in PSS (buttons and other things things are flickering, rating isn´t possible yet...)
The only thing that bothers me for track info mod is the missing transparency. I´m trying a workaround to put part of the PSS background image in TIM with $imageabs2 but for that I would definitely need the width and hight of the window for correct stretching/cropping not of the panel (as %_width% and %_hight% outputs here).
Anybody an idea, I´ve tried to set variables in PSS but they are not accessible in TIM....
Hello !
Is it possible to add a vertical scrollbar to the trackinfo panel?
If it is, what's the code?
Thank you very much !
Where can I download this? The download link is broken.
yeah, i want it too
In foobar 1.0 beta does not work
In foobar 1.0 beta does not work
It does work for me (v0.8.0 beta)
Btw, is there a newer version of this component? This one is pretty old (and it's blacklisted).
I see that the link is broken, so if anyone wants it:
foo_uie_trackinfo_mod (http://www.softpedia.com/get/Multimedia/Audio/Audio-Plugins/foo-uie-trackinfo-mod.shtml)
foo_uie_trackinfo_mod was merged in PanelsUI. PanelsUI is not used anymore, but I believe WSH Panel Mod is the closest equivalent today.
EDIT : Apparently Column UI offers similar functionality, it's called 'Item Properties'.
Was foo_uie_trackinfo 0.8
Replaced on foo_uie_trackinfo_mod, now all not beautiful %)
foo_uie_trackinfo
(http://s11.radikal.ru/i184/0911/38/46b68589a9cf.jpg)
foo_uie_trackinfo_mod
(http://s52.radikal.ru/i136/0911/0d/dc7870e2ea43.jpg)
ps: paranoia is of course, but want so...
Is there still some form of documentation for this available? I'm searching for it but can't find it .
i guess this component isn't used much these days, but i like it a lot.
here's what i've whipped up. the code is extremely ugly, but it works great
(http://imgkk.com/i/QHUWAg.jpg)
// Global
$puts(1,$rgb(234,0,0))
$puts(2,$rgb(224,41,00))
$puts(3,$rgb(215,78,0))
$puts(4,$rgb(205,112,0))
$puts(5,$rgb(195,142,0))
$puts(6,$rgb(186,169,0))
$puts(7,$rgb(160,176,0))
$puts(8,$rgb(121,167,0))
$puts(9,$rgb(86,157,0))
$puts(10,$rgb(54,147,0))
$puts(11,$rgb(25,138,0))
$puts(12,$rgb(0,128,0))
$drawrect(0,0,%_width%,15,brushcolor-50-100-140)
$alignabs(0,0,%_width%,15,center,middle)$rgb(255,255,255)NOW PLAYING
$drawrect(0,150,%_width%,15, brushcolor-50-100-140)
$alignabs(0,150,%_width%,15,center,middle)$rgb(255,255,255)TECHNICAL
$drawrect(0,225,%_width%,15, brushcolor-50-100-140)
$alignabs(0,225,%_width%,15,center,middle)$rgb(255,255,255)STATISTICS
// PerTrack
$alignabs(0,15,65,15,right,)Title:
$alignabs(0,30,65,15,right,)Rating:
$alignabs(0,45,65,15,right,)Artist:
$alignabs(0,60,65,15,right,)Album:
$alignabs(0,75,65,15,right,)Type:
$alignabs(0,90,65,15,right,)Date:
$alignabs(0,105,65,15,right,)Genre:
$alignabs(0,120,65,15,right,)Style:
$alignabs(0,135,65,15,right,)Comments:
$alignabs(0,165,65,15,right,)Codec:
$alignabs(0,180,65,15,right,)Bitrate:
$alignabs(0,195,65,15,right,)Track Gain:
$alignabs(0,210,65,15,right,)Album Gain:
$alignabs(0,240,65,15,right,)Play Count:
$alignabs(0,255,65,15,right,)Last Played:
$alignabs(0,270,65,15,right,)Length:
$alignabs(70,15,$sub(%_width%,60),15,,)$rgb(50,100,140,0,0,0)$replace($replace(%title%,')',')'$rgb(50,100,140,0,0,0)),'(',$rgb(133,176,211,94,74,83)'(')
$alignabs(70,30,$sub(%_width%,60),15,,)
$puts(mychar,$char(9733)$char(8202))
$rgb(245,175,92,225,155,72)
$ifgreater(%rating%,0,
$repeat(★,%rating%)
$repeat($rgb(230,230,230,210,210,210)★,$sub(5,%rating%))
,
$repeat($rgb(230,230,230,210,210,210)★,5)
)
$alignabs(70,45,$sub(%_width%,60),15,,)$rgb(60,100,60)%artist%
$alignabs(70,60,$sub(%_width%,60),15,,)$puts(normal,$rgb(60,100,60))
$puts(light,$rgb(164,180,134))
$puts(bright,$rgb(205,135,52))
$get(normal)
$replace(%album%,
'(',$get(light)'(',
')',')'$get(normal),
'[single]',,
'EP',,
'12"',,
'7"',)
$if(%discnumber%,
$get(sep)$rgb(0,0,255) '['Disc %discnumber%[ of %totaldiscs%]']'
,)
$alignabs(70,75,$sub(%_width%,60),15,,)$rgb(50,100,140)%release type%
$alignabs(70,90,$sub(%_width%,60),15,,)$rgb(50,100,140)%date%
$alignabs(70,105,$sub(%_width%,60),15,,)$rgb(50,100,140)%genre%
$alignabs(70,120,$sub(%_width%,60),15,,)$rgb(50,100,140)%style%
$alignabs(70,135,$sub(%_width%,60),15,,)$rgb(50,100,140)$if2(%comments%,...)
$alignabs(70,165,$sub(%_width%,60),15,,)$rgb(50,100,140)%codec% [%codec_profile%]
$alignabs(70,195,$sub(%_width%,60),15,,)$if(%replaygain_track_gain%,$rgb(50,100,140)%replaygain_track_gain%,$rgb(234,0,0)$char(215))
$alignabs(70,210,$sub(%_width%,60),15,,)$if(%replaygain_album_gain%,$rgb(50,100,140)%replaygain_album_gain%,$rgb(234,0,0)$char(215))
$alignabs(70,240,$sub(%_width%,60),15,,)$rgb(50,100,140)%play_count% $ifequal(%play_count%,1,time,times)
$alignabs(70,255,$sub(%_width%,60),15,,)$rgb(140,150,160)$rgb(50,100,140)$if2(%last_played%,Never)
// PerSecond
$alignabs(70,270,$sub(%_width%,60),15,,)$rgb(50,100,160)%length%$rgb(140,150,160)' [- '%playback_time_remaining%']'
$alignabs(70,180,$sub(%_width%,60),15,,)
$rgb(140,150,160)
$ifgreater(%bitrate%,0,$get(1),)
$ifgreater(%bitrate%,49,$get(2),)
$ifgreater(%bitrate%,74,$get(3),)
$ifgreater(%bitrate%,99,$get(4),)
$ifgreater(%bitrate%,124,$get(5),)
$ifgreater(%bitrate%,149,$get(6),)
$ifgreater(%bitrate%,174,$get(7),)
$ifgreater(%bitrate%,199,$get(8),)
$ifgreater(%bitrate%,224,$get(9),)
$ifgreater(%bitrate%,249,$get(10),)
$ifgreater(%bitrate%,274,$get(11),)
$ifgreater(%bitrate%,299,$get(12),)
%bitrate% $rgb(50,100,140)kbps
Hi,i use this code but on rate i have no stars but lines,any help?
Moderation: Removed unnecessary full quote of the preceding post.
It doesn't work native on windows xp, vista or 7 is needed.
An alternative is to install East Asian language support as described in this topic (http://www.hydrogenaudio.org/forums/index.php?showtopic=66155).
It doesn't work native on windows xp, vista or 7 is needed.
An alternative is to install East Asian language support as described in this topic (http://www.hydrogenaudio.org/forums/index.php?showtopic=66155).
I have win 7 ultimate x64 Greek lang. here is a screen cap.
(http://img25.imageshack.us/img25/5319/fooo.png)
Ok,i fix it,i was had wrong text settings,thank you.