Hi,

the title sounds maybe confusing, but to make it more clear I attached a screenshot:

What I look for is a way to prevent gmb from jumping to completely different music when finishing a track. So if I choose for example a genre (number 1) and the last track from the upper album is played, sometimes it can be quite a hard transition when the next track hasn't anything to do with the songs played before. In the case in the screenshot the next song after "Hindsight" won't be Ben Harper and Jack Johnson, but something starting with "AN" since "Hindsight" is from a band called "Anathema"

So, instead of making filters by hand, is there a possibility to make the main song list (number 3 on the picture) the actual filter?

Sorry for not replying sooner.
If you know how to edit the layout (if you don't I can help you) you can change the SongTree (3 in your screenshot) to be in playlist mode by adding "mode=playlist" to the SongTree options.
You can also make it so that double-clicking on a song in the SongTree, in addition to playing the song, change the playlist to the songs listed in the SongTree. That is done by adding the option activate=playlist to the SongTree

Wow, Quentin! Thanks again! I'll try both options... :D

Hmmm, seems more complicated than I thought...

Is this the right column?
HBSongListtree = _SongTree(cols="playandqueueandtrack title length ratingpic",colwidth="artist 124 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 ratingpic 100 title 390 titleaa 397 track 21",grouping="album|artistalbum_breadcrumbs(picsize=100)|disc|discleft(width=15)",follow=1,sort="year album disc track") _VPSongPlaylist _FilterPane2(nb=3,hidebb=1,pages=album,page_album/mode=mosaic,page_album/mmarkup=1,page_album/mpicsize=96,hidetabs=1)

...and if so, where to enter the code?

Quote from: staubi on February 26, 2013, 19:10:02
Hmmm, seems more complicated than I thought...

Is this the right column?
HBSongListtree = _SongTree(cols="playandqueueandtrack title length ratingpic",colwidth="artist 124 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 ratingpic 100 title 390 titleaa 397 track 21",grouping="album|artistalbum_breadcrumbs(picsize=100)|disc|discleft(width=15)",follow=1,sort="year album disc track") _VPSongPlaylist _FilterPane2(nb=3,hidebb=1,pages=album,page_album/mode=mosaic,page_album/mmarkup=1,page_album/mpicsize=96,hidetabs=1)

...and if so, where to enter the code?
In the parentheses following SongTree, the order doesn't matter, so you can put it first, you just need to add a comma after to separate it from the other options (and optionally spaces).
So replace SongTree(cols=...) by SongTree(activate=playlist, cols=...)
(I said the order doesn't matter, that's only true if the same option doesn't appear twice, if that is the case the last one replace the the first one)


Quote from: Quentin Sculo on February 24, 2013, 18:36:30
You can also make it so that double-clicking on a song in the SongTree, in addition to playing the song, change the playlist to the songs listed in the SongTree. That is done by adding the option activate=playlist to the SongTree
I tried that but it just starts playing with a song from the list, but not with the one I doubleclicked??? Is that a bug or a feature? I mean, did I missunderstand something?

Quote from: staubi on March 10, 2013, 14:44:12
I tried that but it just starts playing with a song from the list, but not with the one I doubleclicked??? Is that a bug or a feature? I mean, did I missunderstand something?

Is there any way to make gmb start playing with the song I choose? Then this would be perfect!

sorry again for not replying sooner :(
It should play the song that you've double-clicked, I've tested it and it works. Can you post your layout ?

Sure, it's a variation of the Shimmer layout...

[Mein Desktop]
Type=G+
Title = "gmusicbrowser"
DefaultFocus = SimpleSearch
Default = Window(size=1000x750)
Window = hidden=VPSongPlaylist|FilterPane2
Author = [email protected]
### main window containers: top bar, main and statusbar ###
VBMain = HBTop _HPMain
HPMain = VBLeft _VBRight
HBTop = ABButtons _15VBPlayer 10ABToggle -5ABSettings
### top bar from left to right ###
ABButtons = (yalign=0,yscale=0.0) HBButtons
HBButtons = Prev Play Next(click2=NextAlbum)
VBPlayer = 1Filler0 HBTitle HBTimeSlider
HBTitle = Title(expand_max=500,markup="<big><b>%t</b></big> ",click1="",tip=_"Title: %t (Track No. %n)",yalign=0.5,ellipsize=end) LockAlbum(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") AlbumBreadcrumb(tip=_"Album: %l (%Y)",minsize=1,expand_max=200,yalign=0.5,minsize=1,markup="<big> </big>%l ",showcover=0,ellipsize=end) LockArtist(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") ArtistBreadcrumb(tip=_"Artist: %a",expand_max=300,yalign=0.5,markup="<big> </big>%a",ellipsize=end) -Stars(yalign=0.5)
HBTimeSlider = PlayingTime(markup="%s",initsize="XX:XX",xalign=0) _TimeSlider(direct_mode=1) -Length(markup="$length",initsize="XX:XX",xalign=1)
ABToggle = (yalign=0,yscale=0.0) HBToggle
HBToggle = ToggleButton0(relief=none,size=large-toolbar,icon=gmb-view-list,widget=VPSongPlaylist,togglegroup=1,tip=_"Simple List View") ToggleButton1(relief=none,size=large-toolbar,icon=gmb-view-tree,widget=SongTree,togglegroup=1,tip=_"Songtree View") ToggleButton2(relief=none,size=large-toolbar,icon=gmb-view-mosaic,widget=FilterPane2,togglegroup=1,tip=_"Mosaic View") Fullscreen(stock=gmb-view-fullscreen,size=large-toolbar,tip="Fullscreen View") 10Filler2 ABSearchBox
ABSearchBox = (yalign=0) SimpleSearch(suggest=1,nb=0)
ABSettings = (yalign=0,yscale=0.0) HBSettings
HBSettings = ExtraButtons(size=large-toolbar) BMSettings
BMSettings = (icon=gtk-preferences,size="large-toolbar") SMLibrary LayoutItem PlayItem SeparatorMenuItem01 MenuItem34(click1=OpenCustom(Equalizer),label=_"Equalizer",icon=gmb-equalizer) SeparatorMenuItem20 MenuItem14(command=OpenPref,label=_"Settings",icon="gtk-preferences") MenuItem05(command=Quit,label=_"Quit",icon="gtk-quit")
SMLibrary = (label=_"Library") MenuItem00(command="RunPerlCode(::ChooseAddPath(0,1))",label=_"Add Music",icon="gtk-add") MenuItem32(command="RunPerlCode(::IdleScan)",label=_"Rescan Collection",icon="gtk-refresh")
### main left: artist pane and album-cover ###
VBLeft = _VBListCover HBStatus
#VBListCover = _NBList Cover(overlay=6x6:350x350:elementary/overlay.png,default=elementary/no-cover.svg,showcover=0) # uncomment this line to add overlay shadow
VBListCover = _NBList 1Cover(default=elementary/no-cover.svg,showcover=0)
NBList = (tabpos="bottom")FilterPane1(tabtitle="Filter",nb=1,hidebb=1) QueueList(songtree=1,tabtitle=_"Queue (%n)",tabicon="",cols="queuenumber titleaa",colwidth="queuenumber 20 titleaa 248",showbb=1,hscrollbar=0) HBLyrics VBAlbuminfo VBArtistinfo
HBLyrics = (tabtitle="Lyrics") _PluginLyrics
VBArtistinfo = (tabtitle="Artist") _PluginArtistinfo
VBAlbuminfo = (tabtitle="Album") _PluginAlbuminfo
HBStatus = 3Total(format=short,relief=none,button=1,mode=library) -2Sort(button=1,tip=_"Right-click to toggle shuffle/random") -2Filter(button=1,tip=_"Right-click to remove filters") -2ToggleButton3(icon=gmb-picture,relief=none,size=menu,widget=Cover,tip=_"Show/Hide Cover")
### main right: list/tree/mosaic widgets ###
VBRight = _HBSongListtree Progress
HBSongListtree = _SongTree(activate=playlist, cols="playandqueueandtrack title length ratingpic",colwidth="artist 124 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 ratingpic 100 title 390 titleaa 397 track 21",grouping="album|artistalbum_breadcrumbs(picsize=100)|disc|discleft(width=15)",follow=1,sort="year album disc track") _VPSongPlaylist _FilterPane2(nb=3,hidebb=1,pages=album,page_album/mode=mosaic,page_album/mmarkup=1,page_album/mpicsize=96,hidetabs=1)
VPSongPlaylist = HBFilters _HBSonglist
HBFilters = _FilterPane3(nb=1,hidebb=1,page=genre,hidetabs=1) _FilterPane10(nb=2,hidebb=1,page=artists,page_artists/lmarkup="<b>%a</b>%Y\n<small>%x « %s</small>",hidetabs=1) _FilterPane5(nb=3,hidebb=1,page=album,page_album/lpicsize=32,page_album/lmarkup="<b>%a</b>%Y\n<small>%s « %l</small>",hidetabs=1)
HBSonglist = _SongList(cols="playandqueueandtrack title artist album year length playcount",sort=artist,colwidth="album 200 artist 200 file 400 lastplay 100 length 41 path 413 playandqueueandtrack 24 playcount 96 rating 80 title 270 track 21 year 31",follow=1,sort="year album disc track")
#VBMosaic = FRToggleMosaic _VPMosaicAlbum _VPMosaicArtist
#FRToggleMosaic = (shadow=in) HBToggleMosaicClose
#HBToggleMosaicClose = ABToggleMosaic -ToggleButton6(widget=FRToggleMosaic,label="",icon="gtk-close",tip=_"Hide Artist/Album bar")
#ABToggleMosaic = (xalign=0.5,xscale=0.0) HBToggleMosaic
#HBToggleMosaic = 3ToggleButton4(widget=VPMosaicAlbum,togglegroup=2,label=" Album ",relief=none) 3ToggleButton5(widget=VPMosaicArtist,togglegroup=2,label=" Artist ",relief=none)
#VPMosaicAlbum = _FilterPane2(nb=3,hidebb=1,pages=album,page_album/mode=mosaic,page_album/mmarkup=1,page_album/mpicsize=96,hidetabs=1)
#VPMosaicArtist = _FilterPane3(nb=3,hidebb=1,pages=artist,page_artist/mode=mosaic,page_artist/mmarkup=1,page_artist/mpicsize=96,hidetabs=1)
### bottom: statusbar ### Pref(size=small-toolbar,button=0)
### positioning and sizing ###
DefaultFocus = SimpleSearch
KeyBindings = c-l SetFocusOn(SimpleSearch)

[Shimmer Netbook]
Type=G+
Title = "gmusicbrowser"
DefaultFocus = SimpleSearch
Default = Window(size=1000x750)
Author = [email protected]
Window = hidden=SimpleSearch
### main window containers: top bar, main and statusbar ###
VBMain = VBTop _NBList
VBTop = 3Filler8 HBTop
HBTop = VBButtons _15VBPlayer -5VBSettings
VBButtons = HBButtons 3Filler4
HBButtons = Prev Play Next(click2=NextAlbum)
VBPlayer = HBTitle VBTime
HBTitle = Title(expand_max=300,markup="<big><b>%t</b></big> ",click1="",tip=_"Title: %t (Track No. %n)".if($track,pesc($track)),yalign=0.5,ellipsize=end) LockAlbum(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") AlbumBreadcrumb(tip=_"Album: %l (%Y)",expand_max=200,yalign=0.5,markup="<big> </big>%l ",showcover=0,ellipsize=end) LockArtist(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") ArtistBreadcrumb(tip=_"Artist: %a",expand_max=200,yalign=0.5,minsize=0,markup="<big> </big>%a",ellipsize=end) -Stars(yalign=0.5)
VBTime = _HBTimeSlider _SimpleSearch(suggest=1)
HBTimeSlider = PlayingTime(markup="%s",initsize="XX:XX",xalign=0) _TimeSlider(direct_mode=1) -Length(markup="$length",initsize="XX:XX",xalign=1)
VBSettings = HBPrefSearch 5Filler5
HBPrefSearch = ToggleButton0(size=large-toolbar,relief=none,icon=gtk-find,widget=SimpleSearch) ExtraButtons BMSettings
BMSettings = (icon=gtk-preferences,size="large-toolbar") SMLibrary LayoutItem PlayItem SeparatorMenuItem01 MenuItem34(click1=OpenCustom(Equalizer),label=_"Equalizer") SeparatorMenuItem20 MenuItem14(command=OpenPref,label=_"Settings",icon="gtk-preferences") MenuItem05(command=Quit,label=_"Quit",icon="gtk-quit")
SMLibrary = (label=_"Library") MenuItem00(command="RunPerlCode(::ChooseAddPath(0,1))",label=_"Add Music",icon="gtk-add") MenuItem32(command="RunPerlCode(::IdleScan)",label=_"Rescan Collection",icon="gtk-refresh")
NBList = (tabpos="bottom") HBSongListtree QueueList(songtree=1,tabtitle=_"Queue (%n)",tabicon="",cols="queuenumber titleaa",colwidth="queuenumber 20 titleaa 248",showbb=1) HBLyrics VBAbout
HBLyrics = (tabtitle=_"Lyrics") _PluginLyrics
VBAbout = (tabtitle=_"Info") _PluginArtistinfo
HBSongListtree = (tabtitle=_"Playlist") _SongTree(cols="playandqueueandtrack title length ratingpic",colwidth="artist 124 lastplay 107 length 49 playandqueue 19 playandqueueandtrack 20 playcount 22 ratingpic 100 title 390 titleaa 397 track 21",grouping="album|Compact(picsize=50)|disc|discleft(width=15)",follow=1,sort="year album disc track")
DefaultFocus = Play
KeyBindings = c-l SetFocusOn(SimpleSearch)

# Trayicon-Layouts
#####################################

[Shimmer Traytip]
Type=T
VBMain = HBTime Filler0 VBMain1
VBMain1 = HBLeft _HBRight
HBLeft = Cover(forceratio=1,default=elementary/no-cover.svg,maxsize=80) _VBText
VBText = 2HBArtist HBAlbum _2HBTitle
HBButtons = Prev(size=small-toolbar) Play(size=small-toolbar) Next(size=small-toolbar)
HBTitle = LockSong _Title(font=12,tip=_"Title: %t",ellipsize=end)
HBArtist = LockArtist _Artist(font=8,tip=_"Artist: %a",ellipsize=end)
HBAlbum = LockAlbum _Album(font=8,tip=_"Album: %l",ellipsize=end,expand_max=100) Date(font=7,markup=" <b>»</b> %y")
HBRating = Filler1  -Stars
HBTime = _TimeBar(minheight=7)
HBRight = HBButtons _2HBRating
VSize0 = 3 Filler0
HSize0 = Filler1 LockArtist LockAlbum LockSong
HSize1 = Cover HBButtons
HSize3 = 250 VBMain
VSize1 = 125 VBMain

# Fullscreen Layouts
#####################################

[Shimmer Party]
Type=F
Window = fullscreen=1,sticky=0,hidden=VBSidebar
VBMain = _HPMain HBNowPlaying
HPMain = _FilterPane2(nb=3,hidebb=1,pages=album,page_album/mode=mosaic,page_album/mmarkup=1,page_album/mpicsize=128,hidetabs=1) VBSidebar
HBNowPlaying = HBButtons 15Filler0 _HBTitle
HBButtons = Prev Play Next
HBTitle = Title(expand_max=300,minsize=0,markup="<big><b>%t</b></big> ",click1="",tip=_"Title: %t (Track No. %n)".if($track,pesc($track)),yalign=0.5) LockAlbum(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") AlbumBreadcrumb(tip=_"Album: %l (%Y)",minsize=1,expand_max=200,yalign=0.5,minsize=1,markup="<big> </big>%l ",showcover=0) LockArtist(stock="on:gmb-lock gmb-lockopen off:gmb-breadcrumb gmb-locklight") ArtistBreadcrumb(tip=_"Artist: %a",expand_max=200,yalign=0.5,minsize=0,markup="<big> </big>%a") -ToggleButton1(size=button,relief=none,icon=gtk-find,widget=VBSidebar) -20Stars(yalign=0.5)
VBSidebar = 4Filler1 7HBSearch _7HBQueue 4Filler2
HBQueue = 14_QueueList(group=1,songtree=1,cols="queuenumber titleaa",colwidth="queuenumber 20 titleaa 248",showbb=1)
HBSearch = 4Filler3 6Label0(markup='<span size="xx-large" weight="ultrabold">«</span>') _SimpleSearch(suggest=1) 7Filler4
KeyBindings = Escape CloseWindow

# Groups and Columns for Songtree
#####################################

{Group discleft}
title=disc on the left side
head=3
left=width
vcollapse=head+title:h+line:h+2
title: text(markup='<b><big>'.pesc($title).'</big></b>'.if(!$_expanded,'<big><b>»</b></big>'),pad=2,w=left))
width: OptionNumber(default=15,min=10,max=100,step=1)
line: line(x1=1,y1=1,x2=$_w,y2=1,color='#ccc',width=1)

{Group artistalbum_breadcrumbs}
title=album and artist breadcrumbs
head=title:h
tail=25
vcollapse=head
vmin=pic:y+pic:h+25
left=pic:w+2
title: text(markup='<b><big>'.pesc($album).'</big></b>'. if($year,'  <big><b>«</b></big>  '.pesc($year)) . '  <big><b>«</b></big>  '.pesc($artist),pad=2)
pic: +aapic(y=title:h+title:y,picsize=picsize,ypad=2,xpad=1,aa='album')
picsize : OptionNumber(default=100,min=20,max=1000,step=10)
picstars : picture(file=ratingpic($rating_avrg),x=(picsize/2)-(picstars:w/2),y=pic:y+pic:h,hide=$rating_avrg==50 || picsize < 80)

{Group Compact}
title=Compact
head=pic:h
tail=25
vcollapse=head
vmin=pic:y+pic:h+25
title: text(markup='<b><big>'.pesc($album).'</big></b>'. if($year,'\n'.pesc($year)) . '\n'.pesc($artist),pad=2,x=pic:w)
pic: aapic(y=title:y,picsize=picsize,ypad=2,xpad=1,aa='album')
picsize : OptionNumber(default=50,min=20,max=1000,step=10)

{Column queuenumber}
menutitle = Queue-Item Number
title = #
width = 20
text: text(markup=$_row+1, x=-text:w)

{Column playandqueueandtrack}
menutitle = Playing/Queue Icon or Track
title = #
width = 20
sort = track
ico: icon(pad=2,icon=$playicon, hide= !$playing && !$queued)
text: text(markup=pesc($track.' '.$queued), hide= $playing || $queued)

{Column playandqueueandtracktext}
menutitle = Playing/Queue indicator or Track (text)
title = #
width = 20
sort = track
text: text(markup=if($playing,'?',$queued,'<b>Q</b>',$track.' '.$queued))
#,$paused,'??',$stopped,'?',

Maybe I was thinking to complicated in the beginning ???

Is there an option for the layout syntax to make the selections in the FilterPanel become the active filter? I've been trying to understand the layout documentation and manage to adjust some small details but this I couldn't find out how to do...

It works for me, when I double click on a song the song plays, and the playlist is changed to the current list. Though you could want to add activate=playlist to the SongList too :
HBSonglist = _SongList(activate=playlist, cols="playandqueueandtrack title artist album year length playcount",sort=artist,colwidth="album 200 artist 200 file 400 lastplay 100 length 41 path 413 playandqueueandtrack 24 playcount 96 rating 80 title 270 track 21 year 31",follow=1,sort="year album disc track")


I don't know what could cause it to play another song than the one you doubled-click, maybe a plugin could be causing problems ?

QuoteIs there an option for the layout syntax to make the selections in the FilterPanel become the active filter? I've been trying to understand the layout documentation and manage to adjust some small details but this I couldn't find out how to do...
If it is associated with a SongList or SongTree using the mode=playlist, changing the filter in the FilterPane will change the playlist filter. Though there are some bugs with the mode=playlist with a FilterPane, so I'm not sure it will work as you want.

Also using 2 SongTree/SongList that are using the same group (here the default group, as neither use a group option), though it mostly work and is used by the shimmer layout, is not currently supported (it will be). Maybe this is the cause of your problem, though I don't know how and can't reproduce it, but you could try removing one of them.

Quote from: Quentin Sculo on April 03, 2013, 14:25:15
It works for me, when I double click on a song the song plays, and the playlist is changed to the current list. Though you could want to add activate=playlist to the SongList too :
HBSonglist = _SongList(activate=playlist, cols="playandqueueandtrack title artist album year length playcount",sort=artist,colwidth="album 200 artist 200 file 400 lastplay 100 length 41 path 413 playandqueueandtrack 24 playcount 96 rating 80 title 270 track 21 year 31",follow=1,sort="year album disc track")


I don't know what could cause it to play another song than the one you doubled-click, maybe a plugin could be causing problems ?

Now it works!
Quote
QuoteIs there an option for the layout syntax to make the selections in the FilterPanel become the active filter? I've been trying to understand the layout documentation and manage to adjust some small details but this I couldn't find out how to do...
If it is associated with a SongList or SongTree using the mode=playlist, changing the filter in the FilterPane will change the playlist filter. Though there are some bugs with the mode=playlist with a FilterPane, so I'm not sure it will work as you want.
I will try and see! I just added it here now:
NBList = (tabpos="bottom")FilterPane1(tabtitle="Filter",nb=1,hidebb=0,mode=playlist) QueueList(songtree=1,tabtitle=_"Queue (%n)",tabicon="",cols="queuenumber titleaa",colwidth="queuenumber 20 titleaa 248",showbb=1,hscrollbar=0) HBLyrics VBAlbuminfo VBArtistinfo

Quote
Also using 2 SongTree/SongList that are using the same group (here the default group, as neither use a group option), though it mostly work and is used by the shimmer layout, is not currently supported (it will be). Maybe this is the cause of your problem, though I don't know how and can't reproduce it, but you could try removing one of them.
Don't know, what You mean by that :-[

...and I just got a new problem:
The bottom line in the queue tab disappeared (the one offering: normal, wait for more, quit when empty, etc.) and I tried to get it back without success... Don't even know, what made it disappear?!? Maybe that I upgraded to 1.1.10?

Quote...and I just got a new problem:
The bottom line in the queue tab disappeared (the one offering: normal, wait for more, quit when empty, etc.) and I tried to get it back without success... Don't even know, what made it disappear?!? Maybe that I upgraded to 1.1.10?
Yes it's the upgrade, it's one of the patches present in ochosi's version, I've got to integrate them.