Foobar2000 Customization Topic


Recommended Posts

Removing black line:

Change (Preferences > Display > PanelsUI > Edit layout and this line in the beginning of code):

$drawrect(0,02,%_width%,%_height%,brushcolor-240-240-240 pencolor-null)

to

$drawrect(0,00,%_width%,%_height%,brushcolor-240-240-240 pencolor-null)

:)

Edited by mBunio
Link to comment
Share on other sites

Question for those using this config, anyone know how to resize the right sidebar by several pixels? It's just a tad too small to fit all the text.

bdsjj6.png

Rightclick the captionbar and select Settings. Now, somewhere in the beginning there should be a sidebar value. By default it's set to 200. I'm not sure though if everything will dynamicly adapt to new vaule. But hopefully.... :/

Link to comment
Share on other sites

Ah so that's what it was! Awesome. I got the volume, seekbar, and spectrum analyzer now. Now time to edit in a search button :)

Just noticed something. When you double click a song to start it playing the track number moves up about a pixel. I know it's just a small detail, but just an idea for another fix in the next version.

It's easy: change in item display

$alignabs(5,-1,%_width%,%_height%,,middle)

to:

$alignabs(5,0,%_width%,%_height%,,middle)

One more thing:

When you don't know year,genre or album name you have:

30913498hh9.jpg

so I've used e.g.

[%genre%]

instead of

%genre%

In albums without name, year, etc. it looks like this:

57706045pg0.jpg

Great mod moglenstar. Smart and efficient. I like it :)

Link to comment
Share on other sites

Dawxxx666,

You wouldn't happen to know how to resolve the crash problem that molgen was talking about with foo_uie_wsh_panel would you?

Link to comment
Share on other sites

okay, lets see if i can get this right first time..

mogfuu0.2 is done!

mogfuu0.2.png

thanks for all of the feedback, and patience with the previous version.. heh

changes:

- cleaned up the code, pui is now 4kb smaller

- squashed as many bugs as i could

- added ability to toggle wsh panel on/off for volume and seekbar, independently

- added toggle to align playback buttons left, center, right

- added artist/album overlay on album art

known bugs:

- for some reason when starting foo, the bottom panel background isn't rendered - resize window to make it show!

this is an upgrade to the previous release, so you will need that first (for the images) - i'm only providing the pui for this

download

Link to comment
Share on other sites

SWEEET!!!!

I have the foobar wsh crash so I'm not using those bars but I did notice that when I toggled them by changing botht he values that only the volume bar showed.

Link to comment
Share on other sites

SWEEET!!!!

I have the foobar wsh crash so I'm not using those bars but I did notice that when I toggled them by changing botht he values that only the volume bar showed.

thanks for that, i'll fix the seekbar - i think i forgot to put the js code in for it :x

edit:

js code for seekbar added now :)

Edited by moglenstar
Link to comment
Share on other sites

Use

	$panel(wsh seek,WSH panel,1,$sub(%_height%,39),$sub(%_width%,80),5,),

for seekbar.

Then, click RMB on white area instead of seekbar, configure, choose JScript and paste this code:

var weight_normal =400;
var weight_bold   =800;
var italic_no =0;
var italic	=1;
var uline_no  =0;
var uline	 =1;
//--------
var align_top   =0;
var align_middle=1;
var align_bottom=2;

var align_left  =0;
var align_center=1;
var align_right =2;

var trim_no	 =0;
var trim_chara  =1;
var trim_word   =2;
var trim_elips_chara =3;
var trim_elips_word  =4;
var trim_elips_path  =5;

var flag_rtl		=0x0001;
var flag_vert	   =0x0002;
var flag_nofit	  =0x0004;
var flag_dispctrl   =0x0020;
var flag_nofallback =0x0400;
var flag_trailspace =0x0800;
var flag_nowrap	 =0x1000;
var flag_linelimit  =0x2000;
var flag_noclip	 =0x4000;

function StrFmt(alignH,alignV,trim,flag){ return ((alignH<<28)|(alignV<<24)|(trim<<20)|flag); }
//--------
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
function RGBA(r,g,b,a){ return ((a<<24)|(r<<16)|(g<<8)|(b)); }
//--------
function TimeFmt(t){
	var zpad = function(n){
		var str = n.toString();
		return (str.length<2) ? "0"+str : str;
	}
	var h = Math.floor(t/3600); t-=h*3600;
	var m = Math.floor(t/60); t-=m*60;
	var s = Math.floor(t);
	if(h>0) return h.toString()+":"+zpad(m)+":"+zpad(s);
	return m.toString()+":"+zpad(s);
}
//----------------------------------------------------------------------------

var g_font = gdi.Font(-8, 0, 0, 0, "DS-Digital");
var g_titlefmt = fb.TitleFormat("");
var g_fileinfo = null;

var g_drag = 0;
var g_drag_seek = 0;

function on_paint(gr){
	var ww = window.Width;
	var wh = window.Height;
	var pos = 0;
	var length = fb.PlaybackLength;
	var txt;

	if(length > 0){
		if(g_drag){
			pos = window.Width * g_drag_seek;
			txt = "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt(length);
		}
		else{
			pos = window.Width * (fb.PlaybackTime / length);
			txt = g_titlefmt.Eval();
		}
	}

	gr.FillGradRect(  0, 0,	pos, wh, 90, RGB(190,190,190), RGB(110,110,110));
	gr.FillGradRect(pos, 0, ww-pos, wh, 90, RGB(200,200,200), RGB(180,180,180));

	gr.DrawString(txt, g_font, RGB(0,0,0), 0, 0, ww, wh,
		StrFmt(align_center, align_middle, trim_no, flag_nowrap | flag_noclip));

	gr.DrawRect(0,0, ww-1, wh-1, 1.0, RGB(255,255,255));
}
function on_size(){
}
function on_focus(focused){
	//fb.trace("focus " + focused);
}
function on_key_down(key){
	//fb.trace("key " + key);
}
function on_mouse_lbtn_down(x,y){
	g_drag = 1;
}
function on_mouse_lbtn_up(x,y){
	if(g_drag){
		g_drag = 0;
		g_drag_seek = x / window.Width;
		g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
		fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
	}
}
function on_mouse_move(x,y){
	if(g_drag){
		g_drag_seek = x / window.Width;
		g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
		window.Repaint();
	}
}
function on_mouse_wheel(delta){
	//fb.trace("wheel " + delta);
}
//--------
function on_playback_starting(cmd, paused){
}
function on_playback_new_track(info){
	window.Repaint();
}
function on_playback_stop(){
	window.Repaint();
}
function on_playback_seek(time){
	window.Repaint();
}
function on_playback_pause(state){
}
function on_playback_edited(){
}
function on_playback_dynamic_info(){
}
function on_playback_dynamic_info_track(){
}
function on_playback_time(time){
	window.Repaint();
}
function on_volume_change(val){
}

//EOF

Link to comment
Share on other sites

Looks and works so great, you both do great work.

The default seekbar and volume bar look fine as is so I'm not that fussed about the crash errors, I'm sure the problem will be found out eventually.

Now I can finally ditch iTunes and start using foobar, works with my VS perfectly.

Edited by ReLapse
Link to comment
Share on other sites

I changed mine a little, nothing major but just to suit me.

I removed the the genre display, moved the date across to where the genre used to be and I reshacked a new icon to suit my shell replacement.

post-40433-1180095400_thumb.jpg

Thanks again to Molgen and Dawxxx666.

Link to comment
Share on other sites

Well done moglenstar, very smart. But I think the only defect of dawxxx666's config and its mods is the navigation in the playlist (scroll and scroll and scroll again, so I think I'll stick with toolej's fb2k for that), otherwise that's a great setup. Thanks again.

themogfuuinactiontg4.png

Link to comment
Share on other sites

I have over 16000 mp3's and I don't find it to much of a problem, what does toolej's config offer in regards to a playlist and could you should me an example?

Edited by ReLapse
Link to comment
Share on other sites

Well seeing that I'm rather new and hopeless at foobar how hard would it be to implement that type of playlist into the current config I'm using?

Would be nice to have 2 panels above (instead of the 3 in that sample shot) one for artist and the other for album.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.