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: foo_ui_panels (Read 1295583 times) previous topic - next topic
0 Members and 6 Guests are viewing this topic.

foo_ui_panels

Reply #25
Are you sure you've updated? Everything looks the same to me. :/

foo_ui_panels

Reply #26
does it say version 0.1.5? If you want the defaults, close foobar, delete the PanelsUI folder in your foobar profile directory, then restart foobar.

foo_ui_panels

Reply #27
is better now, but the volume bar has a black background

foo_ui_panels

Reply #28
We need a list of the commands and how they work, a more in-depth one. What options are there for panels?

Also, bug report...

Code: [Select]
$panel(Menu,Menu,0,0,%_width%,19,)
$puts(yOffset,20)

$if(%_trackinfo_notrack%,
,
    $panel(Playing,Track info mod,0,$get(yOffset),%_width%,50,)
    $puts(yOffset,70)
)
$panel(Playlist,Single Column Playlist View,0,$get(yOffset),%_width%,$sub(%_height%,$add($get(yOffset),20)),)

$panel(Seekbar,Seekbar,00,$sub(%_height%,20),$sub(%_width%,0),20,)


The scp doesn't seem to go on far enough, it quits after a whil;e. Scvrollbar is equally buggy.

But, very nice idea.

foo_ui_panels

Reply #29
alright...this looks like it could end up pretty good.

foo_ui_panels

Reply #30
I see something amazing with this...hoping for a way to make SCPL transparent though D:

//Edit: Will there be a way to change from our Now Playing view to our playlist selection view, vice versa you know what I mean?
naaa na na naaaaaa na na NAAAAAAA na na naaaaaaaaa

foo_ui_panels

Reply #31
If you're on Vista you can get it to be transparent, just increase the height value for the glass.

And for switching playlist you can right click on SCPL and choose Playlist > Active/Playing
Windows 10 Pro x64 // foobar2000 1.3.10

foo_ui_panels

Reply #32
Missed I something?
Thw window which containe everything has no Foobarsymbol 
And there is still strange effect with the menu bar



I used
foo_ui_panels.dll (2007-02-07 10:04:00)
    PanelsUI 0.1.5 beta [Feb  7 2007 - 10:03:39]

foo_ui_panels

Reply #33
hey Terrestrial! I'm loving this thing!
I've run into a limitation I don't seem to understand.

I'm using the following for my window code:
Code: [Select]
$drawrect(0,0,0,0,brushcolor-234-232-227 pencolor-null)
$puts(yOffset,0)
$if(%_trackinfo_notrack%,
,
$panel(Playing,Track info mod,0,$get(yOffset),%_width%,144,)
$puts(yOffset,144)
)
$button2($sub(%_width%,20),$add($get(yOffset),5),0,0,10,20,<,<,PVAR:SET:tabs:$ifgreater($getpvar(tabs),1,0,$add($getpvar(tabs),1)),)
$button2($sub(%_width%,10),$add($get(yOffset),5),0,0,10,20,>,>,PVAR:SET:tabs:$ifgreater(1,$getpvar(tabs),2,$add($getpvar(tabs),-1)),)
$ifequal($getpvar(tabs),0,
$panel(Quick Search Toolbar,Quick Search Toolbar,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$ifequal($getpvar(tabs),1,
$panel(Menu,Menu,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$ifequal($getpvar(tabs),2,
$panel(Seekbar,Seekbar,0,$get(yOffset),$sub(%_width%,20),22,)
,)

$panel(Playlist,Single Column Playlist View,0,$add(22,$get(yOffset)),%_width%,$sub(%_height%,$add($get(yOffset),39)),)
$panel(Playlists Dropdown,Playlists Dropdown,0,$sub(%_height%,20),%_width%,20,)
When configured like this, the playlists dropdown expands itself over the playlist like would be expected (when towards the bottom of the screen)
However, If I try to do something like this:
Code: [Select]
$drawrect(0,0,0,0,brushcolor-234-232-227 pencolor-null)
$puts(yOffset,0)
$if(%_trackinfo_notrack%,
,
$panel(Playing,Track info mod,0,$get(yOffset),%_width%,144,)
$puts(yOffset,144)
)
$button2($sub(%_width%,20),$add($get(yOffset),5),0,0,10,20,<,<,PVAR:SET:tabs:$ifgreater($getpvar(tabs),2,0,$add($getpvar(tabs),1)),)
$button2($sub(%_width%,10),$add($get(yOffset),5),0,0,10,20,>,>,PVAR:SET:tabs:$ifgreater(1,$getpvar(tabs),3,$add($getpvar(tabs),-1)),)
$ifequal($getpvar(tabs),0,
$panel(Quick Search Toolbar,Quick Search Toolbar,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$ifequal($getpvar(tabs),1,
$panel(Menu,Menu,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$ifequal($getpvar(tabs),2,
$panel(Seekbar,Seekbar,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$ifequal($getpvar(tabs),3,
$panel(Playlists Dropdown,Playlists Dropdown,0,$get(yOffset),$sub(%_width%,20),22,)
,)
$panel(Playlist,Single Column Playlist View,0,$add(22,$get(yOffset)),%_width%,$sub(%_height%,$add($get(yOffset),20)),)

...the drawing of scpl doesn't allow the playlist dropdown to draw the dropdown over top of it.

Any ideas?

[edit] I just remembered that playlist dropdown hasn't be recompiled for vista yet, and by the looks of it, you're running vista.
elevatorladylevitateme

foo_ui_panels

Reply #34
Any chance to insert the album art panel somehow?
Also is it possible to open the buttons settings on right mouse clck,cos now it only opens the main Panels UI settings.
BTW: GREAT UI,viva la terrestrial!
Favourite artist:CD-R
Favourite album:700MB

foo_ui_panels

Reply #35
Just a thought - try placing the code for the SCPL panel above the code for the playlist dropdown panel (keep x and y offsets the same).  If this works like trackinfo_mod and SCPL (which I assume it does) then layering priority increases with each line of code, ie a panel coded below another would be drawn on top of it.  Put the playlist dropdown at the bottom and it should have the highest layering priority and be drawn overtop the SCPL panel (like in your first example).

foo_ui_panels

Reply #36
Just a thought - try placing the code for the SCPL panel above the code for the playlist dropdown panel (keep x and y offsets the same).  If this works like trackinfo_mod and SCPL (which I assume it does) then layering priority increases with each line of code, ie a panel coded below another would be drawn on top of it.  Put the playlist dropdown at the bottom and it should have the highest layering priority and be drawn overtop the SCPL panel (like in your first example).

I've tried it both ways, same problem. 


[Edit]New [vista compatible] version of playlists dropdown released. 
However, the issues are still there.
elevatorladylevitateme

foo_ui_panels

Reply #37
Can someone explain the parameters for $glass() a little better?  (Left, Right, Top, Bottom) is not very descriptive unfortunately...

EDIT:  I got it now....left, right, top, and bottom MARGINS.  I was thinking coordinates or width/height and it wasn't making sense to me.

foo_ui_panels

Reply #38
With regards to your code terrestrial...where is the UI loading these images from for the buttons? Ive looked in my images folder in foobar and cant seem to locate them.....yet 3 of the buttons are displayed.....just wanted to adjust your code for them to show up properly but they arent there.....I'm confused (not a new thing)

Edit: In fact i just happen to have some of the icons you use in your code coincidentally :S So in other words can you share the images please?

Anyway congrats on the plugin.....been loving your work since the creation of SCPL and I know you've got many more ideas rattling around just waiting to be spooged forth
My Name is Sean and I'm here to leech off your genius.

foo_ui_panels

Reply #39
From the foo_uie_tabs [NOTMYRELEASE] thread:
Has anyone discovered a way to programatically determine either what the currently active tab is, or if a given tab is active? I would like to whip up some titleformatting code that changes based on the currently active tab but have not had much success.

sounds like a perfect case for foo_ui_panel. Use track_info_mod buttons and and persistent variables to switch panels.

From the foo_uie_trackinfo_mod wiki page:
Quote
*  PVAR:SET:variable:value

    Sets a persistent variable - a variable that is recognized throughout the Trackinfo pannel mod and can be changed through buttons. In the above, 'value' is the value you are setting the variable to and 'variable' is the name of the variable. The value of a persistent variable can only be set via a button and is returned using the $getpvar() function.
    Note: $get() and $getpvar() are separate and exclusive. As well, $puts() cannot change the value of a persistant variable.


I realize that this component is still very new so I hope I'm not "jumping the gun" but I would like to be able to switch between different panel layouts by using buttons on a trackinfomod panel. I would think this sort of thing might work:
Panel UI layout:
Code: [Select]
$drawrect(0,0,%_width%,20,brushcolor-233-233-233 pencolor-null)
$panel(Menu,Menu,0,0,240,20,)

$ifequal($getpvar(display.mode),1,$panel(Main1,Track info mod,0,20,%_width%,140,),)
$ifequal($getpvar(display.mode),2,$panel(Main2,Queue Manager,0,20,%_width%,140,),)
$ifequal($getpvar(display.mode),3,$panel(Main3,Console,0,20,%_width%,140,),)

$panel(Buttons,Track info mod,0,160,%_width%,20,)

Track info mod:
Code: [Select]
$button2(0,0,0,0,14,14,1,x,'PVAR:SET:display.mode:1',)
$button2(14,0,0,0,14,14,2,x,'PVAR:SET:display.mode:2',)
$button2(28,0,0,0,14,14,3,x,'PVAR:SET:display.mode:3',)

However with what little experimentation I have done I have been unable to get $getpvar() to read any variable made with PVAR:SET in a separate panel.

Is there any way to store a variable in one panel and read it in another? Am I using pvar incorrectly, can anyone point me to some more information?

foo_ui_panels

Reply #40
is better now, but the volume bar has a black background


the volume bar will use the background behind it (which is black). if you want some thing else use you have to first draw underneath it.

I see something amazing with this...hoping for a way to make SCPL transparent though D:

//Edit: Will there be a way to change from our Now Playing view to our playlist selection view, vice versa you know what I mean?


no, no way to make scpl transparent (different drawing functions). you should be able to change views using some code and pvars.


Missed I something?
Thw window which containe everything has no Foobarsymbol 
And there is still strange effect with the menu bar




[Edit][a href="http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=44703&view=findpost&p=470193" target="_blank"]New [vista compatible] version of playlists dropdown released.
 
However, the issues are still there.


seems to work for me. please try the new version and let me know if the problem is still there.

Edit: In fact i just happen to have some of the icons you use in your code coincidentally :S So in other words can you share the images please?


I didn't make the images, since I'm pretty bad with graphics. I got the stars from the trackinfo thread somewhere, and the buttons are in the big button thread here.

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

I've uploaded a new version with some major changes.

trackinfo mod, single column playlist, and this have been combined into one dll, so before installing backup your settings, delete foo_uie_trackinfo_mod.dll and foo_uie_single_column_playlist.dll.

Trackinfo mod has been renamed to Track Display and Single Column Playlist View to Single Column Playlist. The settings should carry through (however you should still make a backup before installing), but you will need to change and references you make to these two panels from your PanelsUI code. To migrate old settings over rename the files in the PanelsUI subfolder to the new names. The files are named "ID - Name" (eg: Playlist - Single Column Playlist View) so just rename them to the new name (Playlist - Single Column Playlist).

foo_ui_panels

Reply #41
I realize that this component is still very new so I hope I'm not "jumping the gun" but I would like to be able to switch between different panel layouts by using buttons on a trackinfomod panel. I would think this sort of thing might work:
Panel UI layout:
Code: [Select]
$drawrect(0,0,%_width%,20,brushcolor-233-233-233 pencolor-null)
$panel(Menu,Menu,0,0,240,20,)

$ifequal($getpvar(display.mode),1,$panel(Main1,Track info mod,0,20,%_width%,140,),)
$ifequal($getpvar(display.mode),2,$panel(Main2,Queue Manager,0,20,%_width%,140,),)
$ifequal($getpvar(display.mode),3,$panel(Main3,Console,0,20,%_width%,140,),)

$panel(Buttons,Track info mod,0,160,%_width%,20,)

Track info mod:
Code: [Select]
$button2(0,0,0,0,14,14,1,x,'PVAR:SET:display.mode:1',)
$button2(14,0,0,0,14,14,2,x,'PVAR:SET:display.mode:2',)
$button2(28,0,0,0,14,14,3,x,'PVAR:SET:display.mode:3',)

However with what little experimentation I have done I have been unable to get $getpvar() to read any variable made with PVAR:SET in a separate panel.

Is there any way to store a variable in one panel and read it in another? Am I using pvar incorrectly, can anyone point me to some more information?


it should work with the new version, however you can just draw the buttons onto the main window itself instead of on a child panel. there's is also a $setpvar(name,val) function.

foo_ui_panels

Reply #42
seems to work for me. please try the new version and let me know if the problem is still there.

works.
I cleared pl_dd's prefs from my config and all is better.
I don't think it was a ui_panel problem.

thanks for looking into it.
elevatorladylevitateme

foo_ui_panels

Reply #43
Thank you pvar now works wonderfully sort of works with the new version. I am able to use $getpvar() from a secondary Track Display panel however I am having difficulty using it in $if() statements in the main layout. Should this code allow me to click between two different panels?
$ifequal($getpvar(diplay.mode),0,$panel(Now Playing,Track Display,0,160,%_width%,140,),)
$ifequal($getpvar(diplay.mode),1,$panel(Test,Track Display,0,160,%_width%,140,),)

$button2(0,$sub(%_height%,14),0,0,14,14,X,x,'PVAR:SET:display.mode:0',)
$button2(14,$sub(%_height%,14),0,0,14,14,Y,y,'PVAR:SET:display.mode:1',)


EDIT: I was able to select panels with buttons like this, which is probably a better approach anyway:
Code: [Select]
$select($add($getpvar(display.mode),1),
$panel(Now Playing,Track Display,0,160,%_width%,140,)
,
$panel(Test,Track Display,0,160,%_width%,140,)
)

$button2(0,$sub(%_height%,14),0,0,14,14,X,x,'PVAR:SET:display.mode:0',)
$button2(14,$sub(%_height%,14),0,0,14,14,Y,y,'PVAR:SET:display.mode:1',)
I successfully migrated to the new trackinfomod and singlecolumnplaylist however there is one issue I encountered.

As mentioned before, new panels have a black background unless you draw something behind it. With the new version I added this line to the top of my layout code in an attempt to change that black to something else (a light gray):
Code: [Select]
$drawrect(0,0,%_width%,%_height%,brushcolor-233-233-233 pencolor-null)
The light grey color did not carry through to the background of the trackinfomod panel as expected even after restarting foobar. I instead added that same line of code to the trackinfomod panel itself and achieved the desired results.

foo_ui_panels

Reply #44
try
Code: [Select]
$drawrect(0,0,0,0,brushcolor-233-233-233 pencolor-null)
elevatorladylevitateme

foo_ui_panels

Reply #45
Before I sneak off to homework, here is a layout with working buttons to scroll across 3 different layouts (configuration up to you): SCPL, Album Art, and Lyrics (not even started).



Code: [Select]
$ifequal($getpvar(display),1,

////////////////////////////////////SCPL

$button(15,10,0,0,26,26,/images\LE5\visual.png,/images\LE5\visual_.png,'PVAR:SET:display:2',)
$button($sub(%_width%,40),10,0,0,26,26,/images\LE5\playlist.png,/images\LE5\playlist_.png,'PVAR:SET:display:3',)

$puts(yOffset,0)

$if(%_trackinfo_notrack%,
,
$puts(yOffset,50)
$alignabs(0,0,%_width%,50,center,middle)$font(Swis721 Cn BT D-Type,13,bold,98-105-113)
%title%$char(10)
$font(calibri,9,bold,120-120-120)%album%$char(10)
)

$panel(FilterAndSort,Track info mod,5,$get(yOffset),$sub(%_width%,10),20,)

$puts(yOffset,$add($get(yOffset),20))

$panel(Playlist,Single Column Playlist View,5,$get(yOffset),$sub(%_width%,10),$sub(%_height%,$add($get(yOffset),35)),)

$drawrect(3,48,$sub(%_width%,6),$sub(%_height%,$add($get(yOffset),10)),pencolor-233-233-233)

$if(%isplaying%,
$if(%ispaused%,
$button(0,$sub(%_height%,25),0,0,0,0,/images\icon24\play_24_bw.png,/images\icon24\play_24.png,Play,),
$button(0,$sub(%_height%,25),0,0,0,0,/images\icon24\pause_24_bw.png,/images\icon24\pause_24.png,Pause,)),
$button(0,$sub(%_height%,25),0,0,0,0,/images\icon24\play_24_bw.png,/images\icon24\play_24.png,Play,))

$button(26,$sub(%_height%,18),0,0,0,0,/images\icon16\splay_16_bw.png,/images\icon16\splay_16.png,Stop,)
$button(44,$sub(%_height%,18),0,0,0,0,/images\icon16\skipb_16_bw.png,/images\icon16\skipb_16.png,Previous,)
$button(62,$sub(%_height%,18),0,0,0,0,/images\icon16\skipf_16_bw.png,/images\icon16\skipf_16.png,Next,)

$puts(rating,$if2(%rating%,0))
$button(86,$sub(%_height%,18),0,0,13,13,/images\rating\rating$get(rating).png,/images\rating\rating1.png,TAG:SET:Rating:1,)
$button(86,$sub(%_height%,18),13,0,13,13,/images\rating\rating$get(rating).png,/images\rating\rating2.png,TAG:SET:Rating:2,)
$button(86,$sub(%_height%,18),26,0,13,13,/images\rating\rating$get(rating).png,/images\rating\rating3.png,TAG:SET:Rating:3,)
$button(86,$sub(%_height%,18),39,0,13,13,/images\rating\rating$get(rating).png,/images\rating\rating4.png,TAG:SET:Rating:4,)
$button(86,$sub(%_height%,18),52,0,13,13,/images\rating\rating$get(rating).png,/images\rating\rating5.png,TAG:SET:Rating:5,)

///////////////////////////////////END SCPL

,

$ifequal($getpvar(display),2,
///////////////////////////////////BEGIN ALBUM ART

//REFLECTED ALBUM ART
$imageabs2(320,320,0,0,0,0,5,330,$replace(%path%,%filename_ext%,$replace(cover.jpg,/,-)),nokeepaspectROTATEFLIP-6)

//ALBUM ART
$imageabs2(320,320,0,0,0,0,5,5,$replace(%path%,%filename_ext%,cover.jpg),nokeepaspect)

//SHADES THE LOWER ART
$imageabs2(400,255,0,0,0,0,5,280,/images\NP\reflect.png,nokeepaspect)

//BORDER
$drawrect(3,3,324,324,pencolor-255-255-255 brushcolor-null width-1)

$button(15,430,0,0,26,26,/images\LE5\search.png,/images\LE5\search_.png,'PVAR:SET:display:1',)
$button($sub(%_width%,40),430,0,0,26,26,/images\LE5\playlist.png,/images\LE5\playlist_.png,'PVAR:SET:display:3',)

///////////////////////////////////END ALBUM ART

,)

$ifequal($getpvar(display),3,
///////////////////////////////////BEGIN LYRICS
'UH OH, NOTHING HERE YET'

$button(15,430,0,0,26,26,/images\LE5\search.png,/images\LE5\search_.png,'PVAR:SET:display:1',)
$button($sub(%_width%,40),430,0,0,26,26,/images\LE5\visual.png,/images\LE5\visual_.png,'PVAR:SET:display:2',)
///////////////////////////////////END LYRICS
,)
)
naaa na na naaaaaa na na NAAAAAAA na na naaaaaaaaa

foo_ui_panels

Reply #46
there is an issue with pvars not working when there's no track (%_trackinfo_notrack%). it will be fixed for the next version.

As mentioned before, new panels have a black background unless you draw something behind it. With the new version I added this line to the top of my layout code in an attempt to change that black to something else (a light gray):
Code: [Select]
$drawrect(0,0,%_width%,%_height%,brushcolor-233-233-233 pencolor-null)

The light grey color did not carry through to the background of the trackinfomod panel as expected even after restarting foobar. I instead added that same line of code to the trackinfomod panel itself and achieved the desired results.


some child panels will use the background from the parent, while some do not (depending on how they're written). track display and scpl will not use the background from the parent, but others (like the seekbar and menu bar) will.

 

foo_ui_panels

Reply #47
Will it be possible to to use $panel() inside of child Track Display panels?

We can already position panels inside other panels from the master panel code however there seems to be some flickering issues when the underlying panel refreshes (i.e.: spectrum analyser on top of a Track Display). Also it would be nice to be able to host full layouts when using Track Display under foo_dockable_panels. (Are you planning your own solution to opening other foobar windows?)

And thank you for all your hard work, your components continue to make foobar fun and exciting to use!


foo_ui_panels

Reply #49
Is there, or will there be a way, to section off // Per parts? Such as:


if statement(
// PerTrack
Buttons

// PerSecond
Seekbar
)

next if statement....


Or, would
a new panel will be required?
naaa na na naaaaaa na na NAAAAAAA na na naaaaaaaaa