Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: A good mmpc foobar display config? (Read 63806 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A good mmpc foobar display config?

I have a mmpc in my bedroom with foobar being controlled via a imon remote, up until recently i was happy with my config but its kind of hard to see what's playing with out looking close at the screen.

I installed itunes because i thought the coverflow display may work well on my machine, but it kind of jugs along because i made my machine to only power the apps i wanted on it(nlite xp, digitv, mpc & foobar). So im looking for a nice full screen config which gives prominence to album art and currently playing track, does anyone know of any suitable configs?

Thanks

A good mmpc foobar display config?

Reply #1
Here's a screenie of my notebook. I don't need album art. The top stuff is from vnc because I'm not at the notebook currently. But it's pretty complicated. Doesn't have all the fancy new stuff, but is very practical. It uses different fonts depending on genre, used folder and artist. It uses different colors by the end of tracks, and it shows the next playing track by the end of the current one. It needs track info and track info mod panel. And probably much more.

The chosen colors are well chosen, they match my needs because the fb2k is on a notebook and everything has to be well visible from a certain angle.

[a href="http://minnit.de/etc/fb_notebook.png" target="_blank"] which turns anything (volume, chosen playlist, rg mode, playback order etc...) to a default state.

A good mmpc foobar display config?

Reply #2
On my htpc I use a fullscreen trackinfo_mod panel. More info can be found in the appearance thread.
I made it quite independent from screen resolution and with easy changeable album art size.

Interested in other users' ideas,
ojdo



Code: [Select]
// Background
$imageabs(656,0,images\bg\12.jpg,)
// PerSecond

///////////////////////////////////////////////////////////////////
// SETTINGS
///////////////////////////////////////////////////////////////////

// sizes
$puts(pos.picwidth,350)
$puts(pos.margin,35)
$puts(pos.barheight,8)

// font settings for additional trackinfo (above album art)
$puts(txt.sm,$font(Calibri,18,,100-100-100))
$puts(txt.nfo,$font(,,,255-255-255))

// misc
$puts(path.nocover,'C:\Programme\Multimedia\foobar2000v094\images\nocover.png')

// colors
// format R-G-B, 1=foreground, 2=border
$puts(col.rating1,255-128-0)
$puts(col.rating2,128-64-0)
$puts(col.mood1,0-255-0)
$puts(col.mood2,0-128-0)
$puts(col.quality1,255-255-0)
$puts(col.quality2,128-128-0)
$puts(col.order1,143-109-199)
$puts(col.order2,64-0-128)
$puts(col.progress1,0-128-255)
$puts(col.progress2,0-64-128)

///////////////////////////////////////////////////////////////////

$if(%_trackinfo_notrack%,
///////////////////////////////////////////////////////////////////
// STOPPED
///////////////////////////////////////////////////////////////////
$alignabs(0,0,%_width%,%_height%,center,middle)
FB2K

,
///////////////////////////////////////////////////////////////////
// PLAY / PAUSE
///////////////////////////////////////////////////////////////////

//pause
$alignabs(0,0,%_width%,%_height%,center,middle)
$if(%ispaused%,$font(Webdings,150,,)';',)

//trackinfo
$alignabs($add($mul($get(pos.margin),2),$get(pos.picwidth)),$sub(%_height%,$add($get(pos.margin),$get(pos.picwidth))),$sub(%_width%,$add($mul($get(pos.margin),3),$get(pos.picwidth))),$sub($get(pos.picwidth),$mul($get(pos.barheight),4)),left,bottom)

$upper($font(Arial,36,,255-255-255)
$replace(%title%,'(',$font(,,textalpha-200,150-150-150)'(',')',')'$font(,,textalpha-200,255-255-255))$char(10)
$font(,,,0-128-255)[%artist%]$char(10))

///////////////////////////////////////////////////////////////////

//bar position calculations
$puts(allbarwidth,$sub(%_width%,$mul($get(pos.margin),3),$mul($get(pos.barheight),4),$get(pos.picwidth)))
$puts(pos.x1,$add($mul($get(pos.margin),2),$get(pos.picwidth)))
$puts(pos.x2,$add($get(pos.x1),$muldiv($get(allbarwidth),5,12),$get(pos.barheight)))
$puts(pos.x3,$add($get(pos.x2),$muldiv($get(allbarwidth),3,12),$get(pos.barheight)))
$puts(pos.x4,$add($get(pos.x3),$muldiv($get(allbarwidth),4,12),$get(pos.barheight)))
$puts(pos.y1,$sub(%_height%,$get(pos.margin),$mul(3,$get(pos.barheight))))

//rating
$ifgreater(%rating%,0,$drawrect($get(pos.x1),$get(pos.y1),$muldiv($muldiv($get(allbarwidth),5,12),%rating%,5),$get(pos.barheight),brushcolor-$get(col.rating1) pencolor-$get(col.rating1) alpha-200),)
$drawrect($get(pos.x1),$get(pos.y1),$muldiv($get(allbarwidth),5,12),$add(1,$get(pos.barheight)),brushcolor-NULL pencolor-$get(col.rating2) alpha-200 width-1)

//mood
$ifgreater(%mood%,0,$drawrect($get(pos.x2),$get(pos.y1),$muldiv($muldiv($get(allbarwidth),3,12),%mood%,3),$get(pos.barheight),brushcolor-$get(col.mood1) pencolor-$get(col.mood1) alpha-200 width-1),)
$drawrect($get(pos.x2),$get(pos.y1),$add(1,$muldiv($get(allbarwidth),3,12)),$add(1,$get(pos.barheight)),brushcolor-NULL pencolor-$get(col.mood2) alpha-200 width-1)

//quality
$puts(fp,1)
$puts(lp,1)
$puts(pt,1)

$if($stricmp(%codec%,mp3),$puts(range,264)$puts(lb,56))
$if($stricmp(%codec%,musepack),$puts(range,320)$puts(lb,30))
$if($stricmp(%codec%,vorbis),$puts(range,455)$puts(lb,45))
$if($or($stricmp($substr(%codec%,1,7),windows),
$stricmp(%codec%,wma)),$puts(range,452)$puts(lb,48))
$if($stricmp(%codec%,aac),$puts(range,385)$puts(lb,15))
$puts(quality,$muldiv($sub($info(bitrate),$get(lb)),100,$get(range)))

$drawrect($get(pos.x3),$get(pos.y1),$muldiv($get(allbarwidth),4,12),$add(1,$get(pos.barheight)),brushcolor-NULL pencolor-$get(col.quality2) alpha-200 width-1)
$if($and($stricmp($info(encoding),lossy),$get(lb)),
$drawrect($get(pos.x3),$get(pos.y1),$muldiv($get(quality),$muldiv($get(allbarwidth),4,12),110),$get(pos.barheight),brushcolor-$get(col.quality1) pencolor-$get(col.quality1) alpha-150 width-1),
$drawrect($get(pos.x3),$get(pos.y1),$muldiv($get(allbarwidth),4,12),$get(pos.barheight),brushcolor-$get(col.quality1) pencolor-$get(col.quality1) alpha-150))

//playback order
$drawrect($get(pos.x4),$get(pos.y1),$get(pos.barheight),$get(pos.barheight),brushcolor-NULL pencolor-$get(col.order2) alpha-200 width-1)
$if($strcmp(%cwb_playback_order%,'Shuffle (tracks)'),$drawrect($get(pos.x4),$get(pos.y1),$get(pos.barheight),$get(pos.barheight),brushcolor-$get(col.order1) pencolor-$get(col.order1) alpha-200))

///////////////////////////////////////////////////////////////////

//progress bar
$puts(pprogress,$if(%length%,$muldiv(%playback_time_seconds%,5000,%length_seconds%),0))
$ifgreater($get(pprogress),0,$drawrect($add($mul($get(pos.margin),2),$get(pos.picwidth)),$sub(%_height%,$get(pos.margin),$get(pos.barheight)),$muldiv($get(pprogress),$sub(%_width%,$add($mul($get(pos.margin),3),$get(pos.picwidth))),5000),$get(pos.barheight),brushcolor-$get(col.progress1) pencolor-$get(col.progress1) alpha-200),)
$drawrect($add($mul($get(pos.margin),2),$get(pos.picwidth)),$sub(%_height%,$get(pos.margin),$get(pos.barheight)),$sub(%_width%,$add($mul($get(pos.margin),3),$get(pos.picwidth))),$add(1,$get(pos.barheight)),brushcolor-NULL pencolor-$get(col.progress2) width-1 alpha-200)

///////////////////////////////////////////////////////////////////

//album art
$drawrect($get(pos.margin),$sub(%_height%,$add($get(pos.margin),$get(pos.picwidth))),$add($get(pos.picwidth),2),$add($get(pos.picwidth),2),brushcolor-13-13-13 pencolor-13-13-13 width-1 alpha-80)
$drawrect($get(pos.margin),$sub(%_height%,$add($get(pos.margin),$get(pos.picwidth))),$add($get(pos.picwidth),2),$add($get(pos.picwidth),2),brushcolor-NULL pencolor-255-255-255 width-1 alpha-80)

$imageabs2($get(pos.picwidth),$get(pos.picwidth),0,0,$get(pos.picwidth),$get(pos.picwidth),$add(1,$get(pos.margin)),$sub(%_height%,$add($get(pos.margin),$get(pos.picwidth)),-1),
$get(path.nocover),NOKEEPASPECT)

$imageabs2($get(pos.picwidth),$get(pos.picwidth),0,0,$get(pos.picwidth),$get(pos.picwidth),$add(1,$get(pos.margin)),$sub(%_height%,$add($get(pos.margin),$get(pos.picwidth)),-1),
$replace(%path%,$if(%disc%,$directory(%path%,1)'\')%filename_ext%,folder.jpg),NOKEEPASPECT)

///////////////////////////////////////////////////////////////////

//additional info
$puts(addinfo.height,$div(62500,$get(pos.picwidth)))
$puts(addinfo.y,$add($get(pos.picwidth),$mul($get(pos.margin),2),$get(addinfo.height)))
$if($or($greater(31,%playback_time_seconds%),$greater(31,%playback_time_remaining_seconds%)),
//$drawrect($get(pos.margin),$sub(%_height%,$get(addinfo.y)),$add(2,$get(pos.picwidth)),$add(2,$get(addinfo.height)),brushcolor-13-13-13 pencolor-13-13-13 width-1 alpha-80)
//$drawrect($get(pos.margin),$sub(%_height%,$get(addinfo.y)),$add(2,$get(pos.picwidth)),$add(2,$get(addinfo.height)),brushcolor-NULL pencolor-$get(col.border) width-1 alpha-80)
$alignabs($add($get(pos.margin),0),$sub(%_height%,$get(addinfo.y),0),$sub($get(pos.picwidth),0),$sub($get(addinfo.height),0),left,bottom)
$get(txt.sm)
$if(%last_played%,Bisher $get(txt.nfo)%play_counter%$get(txt.sm)mal gehört', 'zuletzt am $char(10)$get(txt.nfo)$substr(%last_played%,9,10). $select($substr(%last_played%,6,7),Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember) $substr(%last_played%,1,4)$get(txt.sm).$char(10))
$if($or(%date%,%album%),Erschienen$if(%date%, im Jahr $get(txt.nfo)%date%$get(txt.sm))$if(%publisher%, bei $get(txt.nfo)%publisher%$get(txt.sm))$if(%album%, auf dem Album $get(txt.nfo)%album%$get(txt.sm)).)
)

)

Edit: Added path to nocover-image to settings.

A good mmpc foobar display config?

Reply #3
On my htpc I use a fullscreen trackinfo_mod panel. More info can be found in the appearance thread.

Beautiful! But you have no overview about the currently chosen playlist, so you do not know where you are?!

What do your progress bars mean? I think I could port my progress indicator to a more beatiful style. But I have to understand the trackinfo mod better.

BTW I didn't find a better way to display at what position I am in the current playlist, so I display (when not playing) the last two directory levels. I wish we had a possibility to access the current playlists total and current track index (one of both is not accessible): Then I could have a progress bar like indicator to see, where in playlist the focus currently is.

A good mmpc foobar display config?

Reply #4
On my htpc I use a fullscreen trackinfo_mod panel. [...]

Beautiful! But you have no overview about the currently chosen playlist, so you do not know where you are?!

Thanks! I just made a second conventional layout (in the appearance thread i posted a shot of it, too) to which I switch by hotkey (=remote control button) when browsing is necessary. I mainly use a huge (~10) number of medium sized autoplaylists as they also easily can be browsed by rc. Only for searches I have to use the keyboard.

Quote
What do your progress bars mean? I think I could port my progress indicator to a more beatiful style. But I have to understand the trackinfo mod better.

First line is rating (1-5), mood (1-3) and quality (code stolen from... erm... can't remember).
Second line is a conventional progress bar for the current track.
Trackinfo_mod isn't complicated at all, only the syntax for more complex layouts becomes a mess, and the numerous function arguments for $drawrect, $imageabs and $font need to be at hand (or remembered).

Quote
BTW I didn't find a better way to display at what position I am in the current playlist...

I never cared about the position of a song in the current playlist, why is that of interest for you?

ojdo

Edit: Finished all sentences

A good mmpc foobar display config?

Reply #5
Thanks! I just made a second conventional layout (in the appearance thread i posted a shot of it, too) to which I switch by hotkey (=remote control button) when browsing is necessary.
How do you do this? By starting a new fb2k instance? I was searching for a possibility to display stuff depending on an externally set state. Best was I could set a variable and then make panel code depending on this.

Quote
I never cared about the position of a song in the current playlist, why is that of interest for you?
It's because I'm navigating through playlists with a maximum of 1000 entries. foo_menu_addons is extremely helpful there, because it lets me jump by tags, but also by a specific number of tracks (I have a fast mode and a slow mode). But a progress bar would much better visualise the current position in the playlist.

Today I assigned my last rc key with all the "search for same" functions, which is also very handy, because e.g. you can simply visit an artists track, press the key and then have all tracks by this artist in the default playlist.

A good mmpc foobar display config?

Reply #6
Quote
How do you do this? By starting a new fb2k instance? I was searching for a possibility to display stuff depending on an externally set state. Best was I could set a variable and then make panel code depending on this.
I just add an additional layout in the preferences > Display > Columns UI > Tab "Layout". All layouts can be accessed by the main menu entry View > Layout > $Layoutname, so they are also hotkeyable. This done, I wanted to use only one key on my rc to toggle between both views instead of having to spare two buttons. This is where autohotkey comes into play:

Code: [Select]
#IfWinActive, foobar2000
{

ü::
++ToggleState
if ToggleState = 3 ; The number of actions plus 1.
ToggleState = 1
if ToggleState=1
{
  send ^+K ; Hotkey for layout #1
  return
}
if ToggleState=2
{
  send ^+L ; Hotkey for layout #2
  return
}
return

} ; End of foobar hotkeys
By assigning one button to the button rc to the key 'ü' I can now use both views.

Quote
Quote
I never cared about the position of a song in the current playlist, why is that of interest for you?
It's because I'm navigating through playlists with a maximum of 1000 entries. foo_menu_addons is extremely helpful there, because it lets me jump by tags, but also by a specific number of tracks (I have a fast mode and a slow mode). But a progress bar would much better visualise the current position in the playlist.
I will have a look on this plugin. Seems quite interesting for reducing all the battery-consuming scrolling actions  - not to mention the convience... For your visualizing problem: If you use a layout with a big playlist, perhaps a visual style with enough contrast could be enough to let the standard scrollbar be visible, if that is feasable for you. Trackinfo panels and non-playing are still not so much fun - even "simple" stuff like a clock won't work...

A good mmpc foobar display config?

Reply #7
I just add an additional layout in the preferences > Display > Columns UI > Tab "Layout".


I don't know if this will bother you enough to change, but you could use just 1 layout and use the newest tabbed panel mod to recreate the seperate layouts in 2 tabs. You could then hide the tab-bar, and set the remote button to the cycle option in the main menu, which will cycle through the tabs. It will also mean that changing layouts will be quicker.

I don't know if it's that beneficial considering the effort required (recreating layout/copying & pasting code/changing remote button code), but I thought I'd let you know, in case you were interested in doing it.

A good mmpc foobar display config?

Reply #8
I just add an additional layout in the preferences > Display > Columns UI > Tab "Layout". All layouts can be accessed by the main menu entry View > Layout > $Layoutname, so they are also hotkeyable.
I never recognized this possibility, thanks. Unfortunately there's no way to duplicate layouts in columns ui.

Quote
This done, I wanted to use only one key on my rc to toggle between both views instead of having to spare two buttons. This is where autohotkey comes into play:
No problem with girder, there you can have as many states/commands as you want and also display a specific osd text for any state.

About the "hotkeyable": I prefer to call commands by command line in addition with foo_runcmd (example: foobar2000.exe /runcmd-playlist="quicksearch for same .../artist") so I do not have to set up keyboard shortcuts for anything.

A good mmpc foobar display config?

Reply #9
I don't know if this will bother you enough to change, but you could use just 1 layout and use the newest tabbed panel mod to recreate the seperate layouts in 2 tabs. You could then hide the tab-bar, and set the remote button to the cycle option in the main menu, which will cycle through the tabs. It will also mean that changing layouts will be quicker.


Not to change with the current layout, but with the next foobar reinstall - which will probably occur when v0.9.5 is released - I well might use that feature, thanks for pointing that out.

A good mmpc foobar display config?

Reply #10
[cycle layouts in tabs]

Not to change with the current layout, but with the next foobar reinstall - which will probably occur when v0.9.5 is released - I well might use that feature, thanks for pointing that out.
Thanks also from me, I'll use this as well when I find some time...

A good mmpc foobar display config?

Reply #11
Thanks for the suggestions, what i was hoping my foobar would like look is a blend of the 2, Squeller i wanted to split my display in to half's like yours but have something like ojdo's in the top half so its really clear as to what is playing(i.e. album art).

In the bottom half i would like something like the below

http://www.hydrogenaudio.org/forums/index....st&p=455316

Is his possible? If so could you give me some pointers to where i should start?

Thanks

A good mmpc foobar display config?

Reply #12
Is his possible? If so could you give me some pointers to where i should start?


Sure: Get the needed plugins foo_ui_columns, foo_uie_trackinfo_mod and foo_uie_single_column_playlist from the wiki. The links there hopefully work, otherwise look for the corresponding thread in the forum. Familiarize yourself at least with the layout system: It can be found in Preferences > Display > Columns UI > Tab "Layout" after installing foo_ui_columns (hint: try a right-click=context menu on the white layout area - this took me ages to find out). Make a layout which pleases you, then customize the single panels:

If you just want a playlist like OMart's, just use his code in the scp-settings (right click on the playlist > settings). Otherwise you need some spare time... 

HTH
ojdo

A good mmpc foobar display config?

Reply #13
ojdo thanks for the info ive got the components, concerning OmART's config would i be correct in thinking the code i need to have a similar playlist look is the "ITEM DISPLAY" if so where do i need to put this code within foobar?

On my old config and even now i still cant figure out how to have the trackinfo panel above the playlist, any suggestion?

Thanks

A good mmpc foobar display config?

Reply #14
ojdo thanks for the info ive got the components, concerning OmART's config would i be correct in thinking the code i need to have a similar playlist look is the "ITEM DISPLAY" if so where do i need to put this code within foobar?

On my old config and even now i still cant figure out how to have the trackinfo panel above the playlist, any suggestion?


Maybe you ask omart for a columns ui fcs file and import it.

TI panel above playlist. Go to columns ui layout page.A simple layout what you want is this:

Code: [Select]
vertical splitter
     menu
     trackinfo panel
     columns playlist

A good mmpc foobar display config?

Reply #15
Ohh thanks that worked.

I've now got my playlist in the bottom half and hopefully will have each album's album cover displaying next to each album, how would i do as you did and display track info in the complete top half. Preferably with album art and some sort of progress bar.

Does anyone know how do separate each album and have the album art display next to each one?(in the playlist)

Thanks

A good mmpc foobar display config?

Reply #16
I've now got my playlist in the bottom half and hopefully will have each album's album cover displaying next to each album, how would i do as you did and display track info in the complete top half. Preferably with album art and some sort of progress bar.

Does anyone know how do separate each album and have the album art display next to each one?(in the playlist)

Your possibilities are: Put your album art into your columns ui layout (you need to understand the splitter thing, you may want a horizontal splitter) or you can possibly display the album art inside the trackinfo mod panel. Can't tell more, as I don't do album art.

A good mmpc foobar display config?

Reply #17
I'm not sure this post is helpful for anyone, as this layout mainly profits from high resolution artist photos which are a pain to find/download. If no artist photo is found, this code shows a generic picture of the type of audio file (soundtrack, game music, sampler, ...). This easily could be changed to a "picture per genre" or something different if no pictures for all artists are available.

The code here is not completely quite independant from screen resolution (mostly obvious stuff like width and height of imageabs2-resizes). If requested I could fix that easily. Done.

Screenshots


[a href=\"http://www.galsch.de/files/open/screenshots/2007-01-15-fb2k-htpc-3.png\" target=\"_blank\"]

The rest of the time: Artist photo and album art presentation.

Downloads
  • Images. Extract to your foobar's image directory.
  • The font used: Gentium.
Trackinfo mod code (as shown in screenshots)
Code: [Select]
// Global
$puts(path.library,'D:\Audio')
$puts(art.h,$sub(%_height%,351))
$puts(pos.x1,71)
$puts(pos.y1,$add(-134,$get(art.h)))
$puts(pos.y2,86)
// - Fonts used for additional info
$puts(font.a,$font(Gentium,20,glow-19-19-19 glowexpand-1 glowblur-8,160-160-160))
$puts(font.b,$font(Gentium,20,bold glow-19-19-19 glowexpand-1 glowblur-8,220-210-210))

// Background
$drawrect(,,,,brushcolor-19-19-19 pencolor-null)
$imageabs($sub(%_width%,198),$sub(%_height%,$get(pos.y2),44),images\htpc1\addinfo.png,)

// PerTrack
// Artist photo
$if($fileexists($get(path.library)\Alben\%artist%\folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Alben\%artist%\folder.jpg,nokeepaspect),
$if($fileexists($get(path.library)\Singles\%artist%\folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Singles\%artist%\folder.jpg,nokeepaspect),
$if($fileexists($replace(%path%,$if(%disc%,$directory(%path%,2)\)$directory(%path%,1)\%filename_ext%,)folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$replace(%path%,$if(%disc%,$directory(%path%,2)\)$directory(%path%,1)\%filename_ext%,)folder.jpg,nokeepaspect),
$if($strstr(%path%,\Alben\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Alben\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Sampler\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Sampler\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Soundtrack\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Soundtrack\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Spiele\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Spiele\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Sprache\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Sprache\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Web\),$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,$get(path.library)\Web\folder.jpg,nokeepaspect),
$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,/images\bg\12.png,nokeepaspect)
)))))))))
$imageabs2(%_width%,$add(1,$get(art.h)),0,0,%_width%,$add(1,$get(art.h)),0,0,images\htpc1\artist-overlay2.png,nokeepaspect)

// Album art
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\cd.png,)
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\case.png,)
$if($fileexists($replace(%path%,$if(%disc%,$directory(%path%,1)\)%filename_ext%,)folder.jpg),
$imageabs2(300,300,0,0,300,300,$add(44,$get(pos.x1)),$add(18,$get(pos.y1)),$replace(%path%,$if(%disc%,$directory(%path%,1)\)%filename_ext%,)folder.jpg,nokeepaspect),
)
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\gloss.png,)
$if(%disc%,$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\2cd.png,))

// Title - Artist
$alignabs($add($get(pos.x1),500),$add($get(pos.y1),136),$sub(%_width%,$get(pos.x1),500,82),200,right,middle)
$font(Gentium,36,glow-100-100-100 glowblur-38 glowexpand-1,205-191-171)
[%title%]$char(10)
$font(Gentium,24,glow-80-80-80 glowblur-20 glowexpand-1,190-175-155)
[%artist%]

// PerSecond
// Progress bar
$ifgreater(%playback_time_seconds%,0,
$drawrect(0,$sub(%_height%,$get(pos.y2)),$add(23,$muldiv(%playback_time_seconds%,%_width%,%length_seconds%)),4,pencolor-null brushcolor-0-128-255)
$imageabs($muldiv(%playback_time_seconds%,%_width%,%length_seconds%),$sub(%_height%,$get(pos.y2)),images\htpc1\progress2.png,)
,)

// Additional info
$if($or($greater(30,%playback_time_seconds%),$greater(30,%playback_time_remaining_seconds%)),
$alignabs($sub(%_width%,$get(pos.x1),500),$add($get(pos.y1),-100),500,200,right,bottom)
$if(%last_played%,$get(font.a)Bisher $get(font.b)%play_counter%$get(font.a)mal gehört', 'zuletzt am $char(10)$get(font.b)$substr(%last_played%,9,10). $select($substr(%last_played%,6,7),Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember) $substr(%last_played%,1,4)$get(font.a).$char(10))
$if(%playback_time_seconds%,$get(font.a)Erschienen $if(%date%,im Jahr $get(font.b)%date%$get(font.a) )$if(%publisher%,bei $get(font.b)%publisher%$get(font.a) )$if(%album%,auf dem Album $get(font.b)%album%$get(font.a)).)
)

// Info squares
$font(Arial Unicode MS,18,glow-64-64-64 glowblur-5 glowexpand-1,19-19-19)
$alignabs($sub(%_width%,211),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)[%rating%]
$alignabs($sub(%_width%,177),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)[%mood%]
$alignabs($sub(%_width%,144),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)$if($strcmp(%cwb_playback_order%,'Shuffle (tracks)'),S)

// Pause overlay
$if(%ispaused%,
$drawrect($add(44,$get(pos.x1)),$add(18,$get(pos.y1)),300,300,pencolor-0-0-0 alpha-150)
$alignabs($add(44,$get(pos.x1)),$add(18,$get(pos.y1)),300,300,center,middle)$font(Webdings,72,,255-255-255)';'
)

Variant B: Lower part transparent
Code: [Select]
// Global
$puts(path.library,'D:\Audio')
$puts(art.h,$sub(%_height%,351))
$puts(pos.x1,71)
$puts(pos.y1,$add(-134,$get(art.h)))
$puts(pos.y2,86)
// - Fonts used for additional info
$puts(font.a,$font(Gentium,20,glow-19-19-19 glowexpand-1 glowblur-8,160-160-160))
$puts(font.b,$font(Gentium,20,bold glow-19-19-19 glowexpand-1 glowblur-8,220-210-210))

// Background
$drawrect(,,,,brushcolor-19-19-19 pencolor-null)

// PerTrack
// Artist photo
$if($fileexists($get(path.library)\Alben\%artist%\folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Alben\%artist%\folder.jpg,nokeepaspect),
$if($fileexists($get(path.library)\Singles\%artist%\folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Singles\%artist%\folder.jpg,nokeepaspect),
$if($fileexists($replace(%path%,$if(%disc%,$directory(%path%,2)\)$directory(%path%,1)\%filename_ext%,)folder.jpg),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$replace(%path%,$if(%disc%,$directory(%path%,2)\)$directory(%path%,1)\%filename_ext%,)folder.jpg,nokeepaspect),
$if($strstr(%path%,\Alben\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Alben\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Sampler\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Sampler\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Soundtrack\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Soundtrack\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Spiele\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Spiele\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Sprache\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Sprache\folder.jpg,nokeepaspect),
$if($strstr(%path%,\Web\),$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,$get(path.library)\Web\folder.jpg,nokeepaspect),
$imageabs2(%_width%,%_height%,0,0,%_width%,%_height%,0,0,/images\bg\12.png,nokeepaspect)
)))))))))

// Artist overlays
$imageabs2(%_width%,$add(1,$get(art.h)),0,0,%_width%,$add(1,$get(art.h)),0,0,images\htpc1\artist-overlay2.png,nokeepaspect)
$drawrect(,$get(art.h),,,brushcolor-19-19-19 pencolor-19-19-19 alpha-180)
$imageabs($sub(%_width%,198),$sub(%_height%,$get(pos.y2),44),images\htpc1\addinfo.png,)

// Album art
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\cd.png,)
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\case.png,)
$if($fileexists($replace(%path%,$if(%disc%,$directory(%path%,1)\)%filename_ext%,)folder.jpg),
$imageabs2(300,300,0,0,300,300,$add(44,$get(pos.x1)),$add(18,$get(pos.y1)),$replace(%path%,$if(%disc%,$directory(%path%,1)\)%filename_ext%,)folder.jpg,nokeepaspect),
)
$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\gloss.png,)
$if(%disc%,$imageabs($get(pos.x1),$get(pos.y1),images\htpc1\2cd.png,))

// Title - Artist
$alignabs($add($get(pos.x1),500),$add($get(pos.y1),136),$sub(%_width%,$get(pos.x1),500,82),200,right,middle)
$font(Gentium,36,glow-100-100-100 glowblur-38 glowexpand-1,205-191-171)
[%title%]$char(10)
$font(Gentium,24,glow-80-80-80 glowblur-20 glowexpand-1,190-175-155)
[%artist%]

// PerSecond

// Progress bar
$ifgreater(%playback_time_seconds%,0,
$drawrect(0,$sub(%_height%,$get(pos.y2)),$add(23,$muldiv(%playback_time_seconds%,%_width%,%length_seconds%)),4,pencolor-0-128-255 brushcolor-0-128-255 alpha-180)
,)

// Additional info
$if($or($greater(30,%playback_time_seconds%),$greater(30,%playback_time_remaining_seconds%)),
$alignabs($sub(%_width%,$get(pos.x1),500),$add($get(pos.y1),-100),500,200,right,bottom)
$if(%last_played%,$get(font.a)Bisher $get(font.b)%play_counter%$get(font.a)mal gehört', 'zuletzt am $char(10)$get(font.b)$substr(%last_played%,9,10). $select($substr(%last_played%,6,7),Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember) $substr(%last_played%,1,4)$get(font.a).$char(10))
$if(%playback_time_seconds%,$get(font.a)Erschienen $if(%date%,im Jahr $get(font.b)%date%$get(font.a) )$if(%publisher%,bei $get(font.b)%publisher%$get(font.a) )$if(%album%,auf dem Album $get(font.b)%album%$get(font.a)).)
)

// Info squares
$font(Arial Unicode MS,18,glow-64-64-64 glowblur-5 glowexpand-1,19-19-19)
$alignabs($sub(%_width%,211),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)[%rating%]
$alignabs($sub(%_width%,177),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)[%mood%]
$alignabs($sub(%_width%,144),$sub(%_height%,$get(pos.y2),58),60,60,center,middle)$if($strcmp(%cwb_playback_order%,'Shuffle (tracks)'),S)

// Pause overlay
$if(%ispaused%,
$drawrect($add(44,$get(pos.x1)),$add(18,$get(pos.y1)),300,300,pencolor-0-0-0 alpha-150)
$alignabs($add(44,$get(pos.x1)),$add(18,$get(pos.y1)),300,300,center,middle)$font(Webdings,72,,255-255-255)';'
)

A good mmpc foobar display config?

Reply #18
Ojdo, this looks very good. You said you do something the last 30 seconds, so you use // Perseconds (ps).

I have massive problems with my fullscreen layout and ps. ps is alright when I have the panel in a small window, say 100*1024. But if I have it in full 1024x768 on my notebook, trackinfomod consumes almost 80% CPU. So I couldn't use dynamic stuff in my fullscreen trackinfo panel.

Would you please have a look into cpu usage and maybe report it in the trackinfo panel thread (I already did)

A good mmpc foobar display config?

Reply #19
Would you please have a look into cpu usage and maybe report it in the trackinfo panel thread (I already did)

I just looked: CPU usage settles to 0-5% during a track. Only when switching to a new track, all the imageabs2-stuff makes a ~90% peak for a second.
(Resolution is 1280x1024, CPU is an Athlon XP-M driven at 800 MHz)

A good mmpc foobar display config?

Reply #20
How to adapt to a 1280*800 screen ? beacause I have a lot of problem

A good mmpc foobar display config?

Reply #21
How to adapt to a 1280*800 screen ? beacause I have a lot of problem


I edited the code from the codebox. Now it should work on your resolution without change.

A good mmpc foobar display config?

Reply #22
I'm not sure this post is helpful for anyone, as this layout mainly profits from high resolution artist photos which are a pain to find/download. If no artist photo is found, this code shows a generic picture of the type of audio file (soundtrack, game music, sampler, ...). This easily could be changed to a "picture per genre" or something different if no pictures for all artists are available.

The code here is not completely quite independant from screen resolution (mostly obvious stuff like width and height of imageabs2-resizes). If requested I could fix that easily. Done.

Screenshots
[a href=\"http://www.galsch.de/files/open/screenshots/2007-01-15-fb2k-htpc-1.png\" target=\"_blank\"]

[a href=\"http://www.galsch.de/files/open/screenshots/2007-01-15-fb2k-htpc-3.png\" target=\"_blank\"]
Les mots d'amour...

A good mmpc foobar display config?

Reply #23
Thanks but i have a question :
How do you not to show the bar at the up of the screen ? (the bar with the button to close, minimze...)
How can i put my wallpaper at the backgroud in place of artist picture? (i want to have the information and thecd case with the cover but my wallpaper at backcground)

Thanks for your help

 

A good mmpc foobar display config?

Reply #24
How do you not to show the bar at the up of the screen ? (the bar with the button to close, minimze...)

I use autohotkey fort that purpose
Quote
How can i put my wallpaper at the backgroud in place of artist picture?

In this line
Code: [Select]
$imageabs2(%_width%,%_height%,0,0,%_width%,$get(art.h),0,0,/images\bg\12.png,nokeepaspect)

just enter the filename of your desired background image if no artist or other picture can be found (in the lines above). When you always only want to display that background, you should move the line to the "// Background" section and remove the other lines trying to display such a big (%_width%, %_height%) picture.