Skip to main content

Topic: Move Toolbars to Bottom (Read 4084 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
Move Toolbars to Bottom
I am trying to recreate this configuration: using columns ui and I need a little help.

How can I get the menu toolbar to the bottom of the screen like this, and have custom color icons for prev, play, stop, next, etc... Also, How can I remove the big gray bar on the top of the columns playlist that has the column titles (track, track number, album, etc...). And last but not least, I'm trying to configure my item details to look like the one above, but formatting such as $alignabs() doesn't seem to work. How can I align text to the left like in the above config? Thanks for all the help.

  • jeremija
  • [*][*][*][*]
Move Toolbars to Bottom
Reply #1
you need the following components: panel stack splitter, el playlist, chronflow and channel spectrum panel. you can get them here.

next, set the columns ui layout like this:
panel stack splitter
|--chronflow
|--elplaylist
|--channel spectrum panel

now you need to set the layout in panel stack splitter, read the google translated readme here.
read about the $textbutton() function.

when you're done, customize elplaylist. google translate of manual is here.
  • Last Edit: 23 December, 2008, 01:48:58 PM by jeremija

Move Toolbars to Bottom
Reply #2
I'm a little bit confused about panel stack splitter. More specifically what it does exactly, and how I can configure it. I'll be going through the readme, but as you probably know, it is a little difficult to understand

EDIT: I've configured the three panels to look approximately the way I want, but I'm confused about your tip to study the $textbutton() function. Am I going to be making the stop, play, next, and toolbar buttons in panel stack splitter or elplalist? If it is PSS, can you guide me through accomplishing something similar to what I'm trying to imitate?
  • Last Edit: 23 December, 2008, 09:59:51 PM by albinolove

  • jeremija
  • [*][*][*][*]
Move Toolbars to Bottom
Reply #3
Here is a short tutorial

Let me put it this way. With columns ui you can put the panels in splitters and by default you can configure your layout using horizontal and vertical splitter only. You can't leave empty space and put panels one above the other.

Panel stack splitter comes here. Basically it's the only splitter you'll need. When you first create panel stack splitter and put a few panels in it (eg. elplaylist and channel spectrum panel).
Here is what it will look like:

but configuring elplaylist isn't the primary objective here. it's PSS.
Next, you need to configure panel stack splitter. right click in the grey area in the window (for example, the divider between the elplaylist and spectrum panel, then click "splitter settings..."



Notice that splitter settings window has three tabs: PanelList, Script and Behaviour. I'll let you figure out PanelList and Behaviour by yourself. The Script part is the complicated one.



Script tabs has two more PerTrack and Per Second. You use PerTrack panel for almost everything that is changed on trackchange (eg. Artist/Title display, Album art display) and you use Per Second for everything that chagnes every second (eg. Track Time and progress bar). I recommend you to check foobar2000 title formatting reference page.

Note the function dropdown box and the list button. when function is selected and you click list, you get list of all PanelStackSplitter functions. Other title formatting functions also work. Menu Command and Context Command are only important for creating buttons. We'll create a play button. But first remove Elplaylist and Spectrum panel to make it easier to see what you'reb scripting. So close the Splitter settings window, go to preferences, Columns UI layout and then remove the two panels:



Back to the splitter settings, Script, PerTrack tab.



I'll first create a text play button. Press function-> list and select $textbutton(). Replace x,y,w,h with coordinates for the text area.



Code: [Select]
$textbutton(5,5,70,20,play or pause,play or pause,COMMAND:'Playback/Play or Pause',fontcolor:0-0-255,fontcolor:255-0-0)


if you want it to stick to the right or bottom border, you can use $sub() function and %_width% and %_height% variables. for example:

Code: [Select]
$textbutton(5,$sub(%_height%,20),70,20,play or pause,play or pause,COMMAND:'Playback/Play or Pause',fontcolor:0-0-255,fontcolor:255-0-0)

will result in:



The same thing can be used when setting the forced layout coordinates for panels.

Check the manual for further instructions.

There's more to it, but I currently don't have the time to write it.

Edit: you can create your own graphic buttons and then use $imagebutton() function
  • Last Edit: 24 December, 2008, 03:16:39 AM by jeremija

Move Toolbars to Bottom
Reply #4
Thanks so much for this guide. It has been a real help. However, the coordinates you showed as an example seem quite arbitrary. Where are the zeroes of the x and y axis?
  • Last Edit: 25 December, 2008, 10:42:39 PM by albinolove

  • jeremija
  • [*][*][*][*]
Move Toolbars to Bottom
Reply #5
Code: [Select]
//using the $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) function

$drawrect(50,60,30,15,255-0-0-255,0-0-0-255,RESERVED)




%_width% and %_height% are width and height of the panel stack splitter, zeroes of the x and y axis are in the top-let corner.
  • Last Edit: 26 December, 2008, 04:21:16 AM by jeremija

Move Toolbars to Bottom
Reply #6

The 'Next' button is generated with:
Code: [Select]
$textbutton(110,$sub(%_height%,20),30,20,Next,Next,COMMAND:'Playback/Next',fontcolor:241-153-027,fontcolor:214-223-036)

So I would like the next set of buttons to start roughly 130 units to the left of that bottom line to match the length of the other set of buttons. I know I have to use the $sub() and %_width% functions to achieve this, but what I did didn't quite work:
Code: [Select]
$textbutton($sub(%_width%,110),$sub(%_height%,20),30,20,Rand,Rand,COMMAND:'Playback/Order/Random',fontcolor:241-153-027,fontcolor:214-223-036)
$textbutton($sub(%_width%,85),$sub(%_height%,20),30,20,Norm,Norm,COMMAND:'Playback/Order/Default',fontcolor:30-143-211,fontcolor:235-01-124)

First of all, the 'Rand' button doesn't start 130 units to the left of the panel, and second of all, the 'Norm' button isn't 35 units away from 'Rand' like the other line of buttons is formatted. What did I do wrong?

  • jeremija
  • [*][*][*][*]
Move Toolbars to Bottom
Reply #7
I am not sure I understand what problem do you have, you want Rand button to start 130 pixels to the left of the right PSS border? and you want the Norm button to start 35 pixels away, to the right?

you can't use x = $sub(%_width%,110) because you used x = 110 to draw the Next button. It's not the same. Both of these coordinates refer to the distance from the left margin of Panel Stack Splitter.

If you want the x coordinate for the Rand button to be 130 pixels away from the right border:
Code: [Select]
$textbutton([b]$sub(%_width%,130)[/b],$sub(%_height%,20),30,20,Rand,Rand,COMMAND:'Playback/Order/Random',fontcolor:241-153-027,fontcolor:214-223-036)

//and if you want the next button to be 35 pixels away:

$textbutton($sub(%_width%,95),$sub(%_height%,20),30,20,Norm,Norm,COMMAND:'Playback/Order/Default',fontcolor:30-143-211,fontcolor:235-01-124)

the x coordinate is always the position of the left margin of the button.