July 22, 2010, 23:43:23 Last Edit: July 28, 2010, 01:27:45 by Satoshi
This is a very very simple layout based upon AlexC-base layout.

[Lyrics, queue and songtree]

Default         = Window size=1280x800,sticky=0
VBall           = MBMenu HBStatus _HPmain HPEnd

MBMenu          = MainMenuItem PSortItem PFilterItem QueueItem
HBStatus        = Prev Stop Play Next LabelTime Length _Scale -Pref
HPEnd           = HPAbout Equalizer
HPAbout         = _AABox1(aa=artist) _AABox2(aa=album)
HPmain          = _HPpart
HPpart          = VBpart2 TBpart3
VBpart2         = _VPcenter
TBpart3        = _"Lyrics" Context _"Queue" QueueList
VPcenter       = _VBcenterdown
VBcenterdown    = HBSearch _SongTree
HBSearch        = SimpleSearch ResetFilter Refresh PlayFilter FLock -TogButton(icon=gtk-dialog-info,widget=HPEnd) -Total

Would appreciate suggestions. It's still not perfect to my taste, but I don't really know what exactly's missing.

hm, having a lyrics-tab in the lyrics tab is a bit too... kinky for my taste.

#2 July 23, 2010, 16:36:08 Last Edit: July 23, 2010, 20:13:22 by Satoshi
Well, I had to separate it from queue, somehow.

AlexC had a different panel for queue. I couldn't bear the lost space to something I won't use *everytime*, so I thought I could tab it along with lyrics, since I won't be looking at lyrics when enqueueing songs and when listening I don't need to look at the queue list except occasionaly.

BTW, is there a way to change the lyrics thingy? As you can see, the Auto scroll option is falling off screen. Is there a way to change those options and/or group them in two lines?

Oh, god, now I got what you said!

Can you believe I didn't notice until now that there's a lyrics tab inside the lyrics tab?

Is there a way to put the queue tab alongside the lyrics tab? And what do I do with the "Follow Playing Song"?

As I said on irc, you need to use v1.1.x to put the queue and lyrics tab on the same level, by simply using a TabbedList and select the pages you want with the tabs context menu.

About the "Auto scroll option is falling off screen" that can't be changed, but the v1.1.x version is a bit different, and "options falling off the screen" should at least be in an overflow button in the toolbar.

Yay! I got it!

How do I make it default in the .layout file, without having to chose it in the right-button options?

you can add this option to your TabbedLists widget :
pages="+QueueList +PluginLyrics"
and to select which page is selected :

example in the "Lists, Library & Context" layout :
NBLeft = _TabbedLists(group=1, pages="+QueueList +PluginLyrics", page=+PluginLyrics)

for the default options, you can look how the state of your layout is saved in your ~/.config/gmusicbrowser/gmbrc file for clues
of course the default options only works the first time you are using the layout

Also if you want to make these pages fixed you can use this instead of a TabbedLists :
NBexample      = QueueList PluginLyrics

Does hideif=empty work with queuelist like that?

#8 July 26, 2010, 05:52:21 Last Edit: July 26, 2010, 11:22:40 by Satoshi
Yes, it does!

Okay, lots of questions now:

1. Now I am toying around with TimeBar (which doesn't seem to be documented). And it seems I can't use tango markup in text displayed inside it, which is a pity. Is there a way to do that?

Besides, I'm only experimenting with it because I don't like the slider behavior when you click somewhere (forwarding a little instead of jumping to where you clicked). Which leads to

2. Is there a way to change that behavior?

3. Is it me or there is no LabelTime equivalent in %-letters? Something that shows the current position in time?
Edit: I read you are substituting %-letters to a more robust alternative. Is it usable here?

4. Is there a way to assign the drop-down menu from the Album widget (or AABox(aa=album)) to something else?

I'm thinking of cramming all needed funcionality inside the TimeBar, essentially leaving just the controls, two icons (preferences and quit), filter and the timebar. I like saving space  ;D
By needed functionality, I mean a nice markuped text showing Music, Artist, Album and current time/total time (could get complicated with very long names, but I'll think of that later). And, when clicked with the right mouse button, being able to use the Set Picture/Look for picture features (which I can't seem to have access anywhere else besides that dropdown menu).

Recommendations on elegant ways to save space also welcomed.

5. In the QueueList, I'd like to have a small album pic alongside the song's name, however, the current columns  will only show the picture once per album. I want EVERY song to have the picture, even if they are all from the same album. I looked through the columns layouts but didn't quite get how I'd do that. How would I? Mustn't be a very complicated change.

Edit: It seems the "mini album pic" column does that already, but it is not selectable in the queue list, only in songtree. Why?

Edit 2: I found out. I had to use songtree to do it, which is accomplished by QueueList(songtree=1).

6. Is there a way to type things and have them go into the filter instead of that weird search thingy?

7. Is there a way to change the size of PluginLyrics buttons? Something like only-text/only-icons/icons-and-text?
Edit: Found it out by going through /usr/share/gmusicbrowser/layouts. I'm using PluginLyrics(shadow=none,HideToolbar=1).

Hey, squentin, if you'd like I volunteer to help update the documentation. God knows I suffered. Most of what I learnt I had to learn by looking at the layouts file and trial-and-error. The existing documentation helped a lot, sometimes, but there's a lot of gaps. I understand that, seeing as you are in middle of development and things are changing fast, but I could help compile an up-to-date documentation that more or less follow current development.

Since I can't code (yet), that's one way of helping one of my favorite programs.

1. It's not possible to use pango markup because I'm simply using the features of GtkProgressBar (http://library.gnome.org/devel/gtk/stable/GtkProgressBar.html) which doesn't support pango markup. I could maybe try to draw the text "myself", but not for now.

the TimeBar is not in the current documentation, because it's an addition of 1.1.x, and I haven't yet updated the doc with the v1.1.x changes :(
I sometime explain new features in the git log message of the commit, like this one : http://git.gmusicbrowser.org/commit/ec2a32272c

2. Not currently, though I may add it in in the future as some people seem to prefer the look of the TimeScale. Btw there are ways to reduce the height of the TimeBar if you find it to big.

3. I added something like it in this commit : http://git.gmusicbrowser.org/commit/b046a76c1b it only works in a LabelTime widget
in v1.1.x the $-word are available everywhere the %-letter are used, though it's currently not possible to append a letter right after a $-word, it will be possible when I add the extended syntax : ${some instructions}

4. not currently, but I plan to make all these kinds of action into commands so that they can be used in other widgets
But you can keep the left and right click menus of the Album widget and redefine the text with the markup option.
btw the Set Picture/Look for picture feature is also available in the right-click menu of the album list (=album page of a FilterPane)

5. yes the SongTree can do that

6. I'm not sure what you mean. Have you tried the SimpleSearch widget ? it is significantly better in v1.1.x : http://git.gmusicbrowser.org/commit/4fcce327bc
(it is used in the current v1.1.x default layout : Lists, Library & Context)

7. not currently, but as you found out, you can hide the toolbar, there is some options in the context menu, to bring the toolbar back in particular.

The documentation could use some help, about the layouts, I'm planning to move the doc to the wiki ( http://gmusicbrowser.org/dokuwiki/doku.php?id=customization:layouts) and update it, there are as I mentioned some documentation updates that can be found in the git log, in particular these :

so you're welcome to go ahead if you want to update the doc, and of course you can ask me questions on irc or elsewhere ...

Thanks a lot for your help. I already started working on the documentation.