Foobar2000 Customization Topic


Recommended Posts

Took me a while to get rid of usual columns_ui style and get it how I wanted for funcionability :)

Mainly a mod of spex configuration, with some custom crap :p , I think it's just missing some buttons (currently controlled with the taskbar) and the right panel displays lyrics and album art if found, else it looks like on the screen ;)

any chance you're gonna release it?

Link to comment
Share on other sites

MAYBE.

$if($meta_test(tracknumber),

// FOR ALBUMS

$drawrect(0,0,0,0,brushcolor-197-218-186 pencolor-null)

// cover
$imageabs2(72,72,,,,,4,4,'images\noalbum.png',)
$imageabs2(72,72,,,,,4,4,$replace(%path%,%filename_ext%,)cover.jpg,NOKEEPASPECT)
$imageabs2(72,72,,,,,4,4,$replace(%path%,%filename_ext%,)folder.jpg,NOKEEPASPECT)
$imageabs2(72,72,,,,,4,4,'images\artoverlay.png',)

// artist
$alignabs(82,12,$add(%_width%,-107),24,left,top)
$font(Calibri,14,bold,85-85-85)
$if2(%album artist%,%artist%)

// album
$alignabs(82,30,$add(%_width%,-107),24,left,top)
$font(Calibri,14,bold,60-60-60)
%album%

// info
$alignabs(82,50,$add(%_width%,-107),24,left,top)
$font(Calibri,10,,105-105-105)

//      MP3
$if($stricmp($info(codec),mp3),
$puts(v_codec,$info(codec)':')
$puts(v_compression,
$if($stricmp($left($info(codec_profile),3),VBR),
VBR
$if($stricmp($info(codec_profile),'VBR V0'),' (V0)')
$if($stricmp($info(codec_profile),'VBR V1'),' (V1)')
$if($stricmp($info(codec_profile),'VBR V2'),' (V2)')
$if($stricmp($info(codec_profile),'VBR V3'),' (V3)')
$if($stricmp($info(codec_profile),'VBR V4'),' (V4)')
,%__bitrate%' kbps (CBR)')),)

//      Vorbis
$if($stricmp($info(codec),vorbis),
$puts(v_codec,$info(codec):)
$puts(v_compression,%__bitrate_nominal%' kbps (nominal)'),)

//      AAC
$if($stricmp($info(codec),AAC),
$puts(v_codec,$info(codec):)
$puts(v_compression,
$if($stricmp($info(codec_profile),LC),low complexity)
$if($stricmp($info(codec_profile),SSR),scalable sampling rate)
$if($stricmp($info(codec_profile),HE),high efficiency)
$if($stricmp($info(codec_profile),LD),low delay)
$if($stricmp($info(codec_profile),LTP),long-term prediction)
$if($stricmp($info(codec_profile),SBR),spectral bandwidth replication)
),)

//      FLAC
$if($stricmp($info(codec),FLAC),
$puts(v_codec,$info(codec)),)

//      APE
$if($stricmp($info(codec),monkey''s audio),
$puts(v_codec,$info(codec))
$puts(v_version,$info(version):)
$puts(v_compression,$lower($info(codec_profile))),)

//      MPC
$if($stricmp($info(codec),musepack),
$puts(v_codec,$caps($info(codec)))
$puts(v_version,$info(mpc_encoder))
$puts(v_compression,$info(mpc_profile)))

// display that jazz
[$left(%date%,4)  /  ]$get(v_codec)[' '$get(v_version)][' '$get(v_compression)]


,


// FOR SINGLES

$drawrect(0,0,0,0,brushcolor-162-187-208 pencolor-null)

$imageabs2(72,72,,,,,4,4,'images\singles.png',)


// artist
$alignabs(82,28,$add(%_width%,-107),24,left,top)
$font(Calibri,14,bold,85-85-85)
SINGLE TRACKS

)

I don't know if all that 'info' stuff is right, they changed some of the fields since i first did that code. MP3 and Vorbis should be correct though. And the 'singles' part obviously depends on all your single tracks having no track numbers. And, uh, artoverlay.png is pretty much just a rectangle.

Link to comment
Share on other sites

Well, this is my foobar. Switched to 0.9 recently (finally), and have reached this looks for it, which suits me just fine both in appearance and functionality terms. It's assembled from bits at sample of code found here and over at hydrogenaudio.

foobiene4.th.jpg

Link to comment
Share on other sites

Sorry if this has been asked a lot, but could someone tell me how/where to paste the code that people are posting? Or could you point me somewhere that shows me how? thx :)

edit: i have columns_ui if that's needed

Link to comment
Share on other sites

Got the buttons on bottom bar :)

finalfoobarve7.png

----------------------------------------------------------------------------------------------------------------

TOP TRACKINFO:

$puts(str1,"%title%"[ by %artist%][ / %album%])
$puts(str2,"%title%"[ %genre%][ from %date%])
$puts(str3,"%title%"[ by %artist%][ / %album%][ '('%genre%[, %date%]')'])
$puts(panelbg,245-245-245)
$puts(imagedir,'C:\Program Files\foobar2000\images\delta\')

// background
$drawrect(,,,,brushcolor-$get(panelbg) pencolor-null)
$imageabs2(,,,,,,0,3,$get(imagedir)trackinfo1.png,)

// audioscrobbler
$if($or($greater($muldiv(%playback_time_seconds%,100,%length_seconds%),49),$greater(%playback_time_seconds%,239)),$imageabs2(,,,,,,$sub(%_width%,88),3,$get(imagedir)as.png,))

// curved edges
$drawrect(0,3,1,1,brushcolor-$get(panelbg) pencolor-null)
$drawrect($sub(%_width%,1),3,1,1,brushcolor-$get(panelbg) pencolor-null)
$drawrect(0,57,1,1,brushcolor-$get(panelbg) pencolor-null)
$drawrect($sub(%_width%,1),57,1,1,brushcolor-$get(panelbg) pencolor-null)

$if(%isplaying%,

// progress bar
$drawrect($muldiv(%_width%,15,100),32,$muldiv(%_width%,70,100),8,brushcolor-null pencolor-215-215-215)
$drawrect($add($muldiv(%_width%,15,100),2),34,$ifgreater($muldiv($sub($muldiv(%_width%,70,100),4),%playback_time_seconds%,%length_seconds%),0,$muldiv($sub($muldiv(%_width%,70,100),4),%playback_time_seconds%,%length_seconds%),1),4,brushcolor-200-200-200 pencolor-null)
$alignabs($sub($muldiv(%_width%,15,100),33),30,35,13,center,middle)$font(verdana,6,bold,215-215-215)$if2(%playback_time%,0:00)
$alignabs($muldiv(%_width%,85,100),30,33,13,center,middle)$font(verdana,6,bold,215-215-215)$if2(%length%,0:00)
$alignabs(20,9,$sub(%_width%,28),16,center,middle)$font(verdana,7,bold,215-215-215)

// interchanging text
$select($add($mod(%playback_time_seconds%,15),1),
$get(str1),$get(str1),$get(str1),$get(str1),$get(str1),
$get(str2),$get(str2),$get(str2),$get(str2),$get(str2),
$get(str3),$get(str3),$get(str3),$get(str3),$get(str3))


// properties & open dir
$button($sub(%_width%,17),21,0,0,11,11,$get(imagedir)info.png,$get(imagedir)infoh.png,properties,)
$button(8,21,0,0,11,11,$get(imagedir)dir.png,$get(imagedir)dirh.png,open directory,)

,

// not playing..
$alignabs($div($sub(%_width%,50),2),6,50,45,center,middle)
$font(wingdings,20,bold,170-170-170)z

)

BOTTOM TRACKINFO

$puts(panelbg,245-245-245)
$puts(imagedir,'C:\Program Files\foobar2000\images\delta\')

// background
$drawrect(,,,,brushcolor-$get(panelbg) pencolor-null)
$imageabs2(,,,,,,0,3,$get(imagedir)trackinfo2.png,)

// Prev
$button(14,8,0,0,18,16,$get(imagedir)mprev.png,$get(imagedir)mprevh.png,previous,)
// Play & Pause
$button(34,8,0,0,18,16,
$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)mplay.png,$get(imagedir)mpause.png),
$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)mplayh.png,$get(imagedir)mpauseh.png),
$if($or(%ispaused%,$not(%isplaying%)),play,pause)
,)
// Stop
$button(54,8,0,0,18,16,$get(imagedir)mstop.png,$get(imagedir)mstoph.png,stop,)
// Next
$button(74,8,0,0,18,16,$get(imagedir)mnext.png,$get(imagedir)mnexth.png,next,)


$if(%isplaying%,

//info
$alignabs(20,8,$sub(%_width%,50),16,right,middle)$font(Zurich Cn BT,9,bold,215-215-215)
$upper(
%album%  '//'  %codec% @  %__bitrate% Kbps
)

,

// not playing..


)

GROUP BY

$if2($if(%totaltracks%,%album%),0)

ITEM DISPLAY

$puts(imagedir,'C:\Program Files\foobar2000\images\delta\')
$puts(coverstring,$replace(%path%,%filename_ext%,cover.jpg))

// background
$if($stricmp($mod(%list_index%,2),1),$drawrect(,,,,brushcolor-240-240-240 pencolor-null))
$drawrect(-1,-1,$add(%_width%,2),19,brushcolor-null pencolor-220-220-220)
$if(%_selected%,$imageabs2(,,,,,,,,$get(imagedir)selected.png,))
$if(%isplaying%,$imageabs2(,,,,,,,,$get(imagedir)playing.png,))
$if(%_focused%,$imageabs2(,,,,,,,,$get(imagedir)focused.png,))


$if($and($greater(7,%_itemindex%),$greater(%_itemcount%,5),%totaltracks%),

// coverart
$drawrect(-1,$sub(17,$mul(%_itemindex%,18)),109,109,brushcolor-255-255-255 pencolor-220-220-220)
$imageabs2(97,97,,,,,5,$sub(23,$mul(%_itemindex%,18)),$get(imagedir)nocover.png,)
$imageabs2(97,97,,,,,5,$sub(23,$mul(%_itemindex%,18)),$get(coverstring),)
$drawrect(5,$sub(23,$mul(%_itemindex%,18)),97,97,brushcolor-null pencolor-200-200-200)
$drawrect(6,$sub(24,$mul(%_itemindex%,18)),95,95,brushcolor-null pencolor-255-255-255 alpha-200)

// info for files with coverart
$if(%isplaying%,$alignabs(113,,40,40,,)$font(webdings,9,,110-110-110)$if(%ispaused%,;,4),
$alignabs(109,,22,18,center,middle)$font(verdana,6,bold,180-180-180)$num(%tracknumber%,2).)
$alignabs(131,,$sub(%_width%,270),18,left,middle)$font(calibri,8,bold,$if(%isplaying%,110-110-110,130-130-130))%title%
$alignabs($sub(%_width%,142),,50,18,right,middle)$font(calibri,8,bold,$if(%isplaying%,130-160-180,180-180-180))[%play_counter%x  ∙  ]$font(verdana,6,bold,$if(%isplaying%,80-80-80,120-120-120))$if(%isplaying%,%playback_time_remaining%,%length%),

// info for without coverart
$if(%isplaying%,$alignabs(4,,40,40,,)$font(webdings,9,,90-120-140)$if(%ispaused%,;,4),
$alignabs(1,,22,18,center,middle)$font(verdana,6,bold,180-180-180)$if(%totaltracks%,%tracknumber%.,$num(%_itemindex%,2).))
$alignabs(23,,$sub(%_width%,162),18,left,middle)$font(calibri,8,bold,$if(%isplaying%,80-80-80,130-130-130))$if(%totaltracks%,,[%artist% - ])%title%$font(calibri,8,bold,$if(%isplaying%,80-80-80,120-120-120))$if(%totaltracks%,,[ '('%genre%[',' %date%]')'])
$alignabs($sub(%_width%,142),,50,18,right,middle)$font(calibri,8,bold,$if(%isplaying%,80-80-80,130-130-130))[%play_counter%x  ∙  ]$font(verdana,6,bold,$if(%isplaying%,80-80-80,120-120-120))$if(%isplaying%,%playback_time_remaining%,%length%))

// autorating display
$if(%rating%,$puts(rating,%rating%),$puts(rating,$sub(%play_counter%,$div($cwb_datediff(%cwb_systemdatetime%,%first_played%),28))))
$if($greater($get(rating),5),$puts(rating,5))
$if($greater(0,$get(rating)),$puts(rating,0))
$alignabs($sub(%_width%,93),1,76,18,center,middle)$font(wingdings,10,,$if(%isplaying%,130-130-130,150-150-150))$repeat(?,$get(rating))$font(wingdings,10,,$if(%isplaying%,130-130-130,220-220-220))$repeat(?,$sub(5,$get(rating)))

// replaygain check
$alignabs($sub(%_width%,14),1,10,18,center,middle)$font(wingdings,6,,$if($or(%__replaygain_album_gain%,%__replaygain_track_gain%),$if(%isplaying%,80-80-80,180-180-180),$if(%isplaying%,255-255-255,255-255-255)))v

GROUP DISPLAY

$puts(imagedir,'C:\Program Files\foobar2000\images\delta\')

// background
$imageabs2(,,,,,,,,$get(imagedir)whiteheader.png,)

// top row
$alignabs(22,4,$sub(%_width%,80),20,,)$font(Zurich Cn Bt,9,bold uppercase,170-170-170)
$if(%totaltracks%,%album% / %date%,single tracks)

// bottom row
$alignabs(22,15,$sub(%_width%,80),20,,)$font(Zurich Cn Bt,8,bold,190-190-190)
$if($or($stricmp(%playlist_name%,most played songs),$stricmp(%playlist_name%,by rating),$not(%totaltracks%)),assorted artists,%artist%)

// right side
$if(%totaltracks%,
$alignabs($sub(%_width%,80),3,75,10,right,)$font(Kroeger 05_55,9,,190-190-190)%_itemcount% tracks
$alignabs($sub(%_width%,80),11,75,10,right,)$font(Kroeger 05_55,9,,190-190-190)$replace(%filename_ext%,%filename%.,)[ %codec_profile%]$if($or($strstr(%codec_profile%,VBR),%__bitrate_nominal%),, %__bitrate%kbps)
$alignabs($sub(%_width%,80),19,75,10,right,)$font(Kroeger 05_55,9,,190-190-190)%genre%
,
$alignabs($sub(%_width%,80),11,75,10,right,)$font(Kroeger 05_55,9,,230-230-230)%_itemcount% tracks
)

// little arrow
$alignabs(,1,20,32,center,middle)$font(Wingdings 3,6,,190-190-190)q

Row Height: 16

Group Rows: 2

Images go into: >> "\foobar root\images\"

Delta.zip

Link to comment
Share on other sites

Sorry if this has been asked a lot, but could someone tell me how/where to paste the code that people are posting? Or could you point me somewhere that shows me how? thx :)

edit: i have columns_ui if that's needed

anyone? :pinch:

Link to comment
Share on other sites

A hack-job of bbmartini's and a few others. Still need some more buttons, but I can't be arsed. I have enough to at least play music at the moment. :p

untitled2mz6.th.png

I love that single column playlist view, mind sharing?

Link to comment
Share on other sites

Mind to give out the code for the up trackinfo?

Single Column Playlist

Row height: 18

Group rows: 2

Group By:

$if(%totaltracks%,%album%,-)

Item Display:

$puts(imagedir,'E:\Program\foobar2000\images\ditt-slan\')
$puts(coverstring,$replace(%path%,%filename_ext%,folder.jpg))

// background
$if($stricmp($mod(%list_index%,2),1),$drawrect(,,,,brushcolor-240-240-240 pencolor-null))
$drawrect(-1,-1,$add(%_width%,2),19,brushcolor-248-248-248 pencolor-null)
$if(%_selected%,$if($stricmp($mod(%list_index%,2),1),$drawrect(,,,,brushcolor-200-200-200 pencolor-null),$drawrect(,,,,brushcolor-210-210-210 pencolor-null))$if($stricmp($mod(%list_index%,2),1),$drawrect(,,,,brushcolor-null pencolor-190-190-190)))
$if(%isplaying%,$imageabs2(,,,,,,,,$get(imagedir)playing.png,))
$if(%_focused%,$drawrect(-1,,$add(%_width%,2),,brushcolor-null pencolor-null))


$if($and($greater(7,%_itemindex%),$greater(%_itemcount%,5),%totaltracks%),

// coverart
$drawrect(-1,$sub(17,$mul(%_itemindex%,18)),109,109,brushcolor-248-248-248 pencolor-null)
$imageabs2(97,97,,,,,5,$sub(23,$mul(%_itemindex%,18)),$get(imagedir)nocover.gif,)
$imageabs2(97,97,,,,,5,$sub(23,$mul(%_itemindex%,18)),$get(coverstring),)
$drawrect(5,$sub(23,$mul(%_itemindex%,18)),97,97,brushcolor-null pencolor-200-200-200)
$drawrect(6,$sub(24,$mul(%_itemindex%,18)),95,95,brushcolor-null pencolor-255-255-255 alpha-200)

// info for files with coverart
$if(%isplaying%,$alignabs(113,,40,40,,)$font(webdings,9,,90-120-140)$if(%ispaused%,;,4),
$alignabs(109,,22,18,center,middle)$font(calibri,8,bold,180-180-180)$num(%tracknumber%,2).)
$alignabs(131,,$sub(%_width%,270),18,left,middle)$font(calibri,8,bold,$if(%isplaying%,60-60-60,90-90-90))%title%
$alignabs($sub(%_width%,60),,50,18,right,middle)$font(calibri,8,bold,$if(%isplaying%,130-160-180,180-180-180))[%play_counter%x  ?  ]$font(calibri,8,bold,$if(%isplaying%,80-80-80,120-120-120))$if(%isplaying%,%playback_time_remaining%,%length%),

// info for without coverart
$if(%isplaying%,$alignabs(4,,40,40,,)$font(webdings,9,,90-120-140)$if(%ispaused%,;,4),
$alignabs(1,,22,18,center,middle)$font(calibri,8,bold,180-180-180)$if(%totaltracks%,%tracknumber%.,$num(%_itemindex%,2).))
$alignabs(23,,$sub(%_width%,162),18,left,middle)$font(calibri,8,bold,$if(%isplaying%,60-60-60,90-90-90))$if(%totaltracks%,,[%artist% - ])%title%$font(calibri,8,bold lowercase,$if(%isplaying%,120-150-170,170-170-170))$if(%totaltracks%,,[ '('%genre%[',' %date%]')'])
$alignabs($sub(%_width%,60),,50,18,right,middle)$font(calibri,8,bold,$if(%isplaying%,130-160-180,180-180-180))[%play_counter%x  ?  ]$font(calibri,8,bold,$if(%isplaying%,80-80-80,120-120-120))$if(%isplaying%,%playback_time_remaining%,%length%))

Group Display:

$puts(imagedir,'E:\Program\foobar2000\images\ditt-slan\')

// background
$imageabs2(,,,,,,,,$get(imagedir)header.png,)

// top row
$alignabs(6,4,$sub(%_width%,80),20,,)$font(Calibri,9,bold uppercase,90-90-90)
$if(%totaltracks%,%album% / %date%,single tracks)

// bottom row
$alignabs(6,19,$sub(%_width%,80),20,,)$font(Calibri,9,bold,130-130-130)
$if($or($stricmp(%playlist_name%,most played songs),$stricmp(%playlist_name%,by rating),$not(%totaltracks%)),assorted artists,%artist%)

// right side
$if(%totaltracks%,
$alignabs($sub(%_width%,80),4,75,10,right,)$font(Kroeger 05_55,9,,170-170-170)%_itemcount% tracks
$alignabs($sub(%_width%,80),12,75,10,right,)$font(Kroeger 05_55,9,,180-180-180)$replace(%filename_ext%,%filename%.,)[ %codec_profile%]$if($or($strstr(%codec_profile%,VBR),%__bitrate_nominal%),, %__bitrate%kbps)
$alignabs($sub(%_width%,80),20,75,10,right,)$font(Kroeger 05_55,9,,190-190-190)%genre%
,
$alignabs($sub(%_width%,80),12,75,10,right,)$font(Kroeger 05_55,9,,230-230-230)%_itemcount% tracks
)

// little arrow
$alignabs(,1,20,36,center,middle)$font(Wingdings 3,6,,120-120-120)

Track Info Mod 1b>

$puts(imagedir,'E:\Program\foobar2000\images\ditt-slan\')

$imageabs2(,,,,,,$div($sub(%_width%,800),2),0,$get(imagedir)trackinfo1.png,)

$button($div($sub(%_width%,39),2),20,0,0,39,39,$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)play.png,$get(imagedir)pause.png),$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)playh.png,$get(imagedir)pauseh.png),$if($or(%ispaused%,$not(%isplaying%)),play,pause),)
$button($div($sub(%_width%,119),2),24,0,0,31,32,$get(imagedir)prev.png,$get(imagedir)prevh.png,previous,)
$button($div($add(%_width%,55),2),24,0,0,31,32,$get(imagedir)next.png,$get(imagedir)nexth.png,next,)

// progress bar
$drawrect(10,75,$sub(%_width%,20),8,brushcolor-null pencolor-120-120-120),)
// PerSecond
$if(%isplaying%,
$puts(progress,$muldiv(%playback_time_seconds%,$sub(%_width%,24),%length_seconds%))
$drawrect(10,75,$sub(%_width%,20),8,brushcolor-null pencolor-120-120-120),)
$ifgreater($get(progress),0,$padding(9,75)$drawrect(3,2,$get(progress),4,brushcolor-90-90-90 pencolor-nulll),)

Track Info Mod 2b>

$puts(imagedir,'E:\Program\foobar2000\images\ditt-slan\')

$imageabs2(,,,,,,$div($sub(%_width%,800),2),0,$get(imagedir)trackinfo2.png,)

$if(%_isplaying%,
$font(calibri,12,shadow,240-240-240)
$alignabs(0,15,%_width%,30,center,)%artist%
$alignabs(0,38,%_width%,20,center,)
$font(calibri,8,boldshadow,170-230-250)"%title%"
$alignabs(0,55,%_width%,20,center,)
$font(calibri,8,boldshadow,180-180-180)from 
$font(calibri,8,boldshadow,230-230-230)"%album%"
$alignabs(0,61,%_width%,20,center,)
$font(Calibri,8,boldshadow,180-180-180)
$if($strcmp(%play_counter%,?),
)
,
$font(calibri,12,shadow,170-170-170)
$alignabs(0,25,%_width%,30,center,)Foobar2000
$alignabs(0,46,%_width%,20,center,)
$font(calibri,9,boldshadow,170-230-250)Music Player
$alignabs(0,68,%_width%,20,center,)
$font(calibri,8,boldshadow,210-210-210)v0.9.3
)

Images: http://home.no/lassekongo83/fb2k/ditt-slan.zip

Make sure you change the path in the code to where you put the images.

This part: $puts(imagedir,'E:\Program\foobar2000\images\ditt-slan\')

Also make sure you have these fonts:

Kroeger 05_55

Calibri

Link to comment
Share on other sites

Get the latest Track Info Mod and try this again.

$button($div($sub(%_width%,39),2),20,0,0,39,39,$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)play.png,$get(imagedir)pause.png),$if($or(%ispaused%,$not(%isplaying%)),$get(imagedir)playh.png,$get(imagedir)pauseh.png),$if($or(%ispaused%,$not(%isplaying%)),play,pause),)
$button($div($sub(%_width%,119),2),24,0,0,31,32,$get(imagedir)prev.png,$get(imagedir)prevh.png,previous,)
$button($div($add(%_width%,55),2),24,0,0,31,32,$get(imagedir)next.png,$get(imagedir)nexth.png,next,)

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.