Left : Search on top, Filter 1 & 2 on bottom
Right : Nowplaying on top, Tab (Library (=Album panel + Song panel), Queue, Context, etc.) on bottom, Bouton on right
Note : Personnalisable on menu

Screenshot :



Code :

[Garage3]
Author= MajorGrubert (with aboettger's help and inspiration)
Type=G+

# Major Grubert was a fictional character being used by Moebius in his comics from the 1970s.
# Major Grubert appeared in "Le Garage Hermétique"

Default = Window(size=90%x80%) HPMainPannel(size=600) VBMainleft(size=300) VPMainright(size=300)

VolumeScroll = VBVolume HPNowplaying


VBMain = HBMenu _VBMainContainer

HBMenu = _MBmenu

MBmenu = MainMenuItem LayoutItem PSortItem PFilterItem QueueItem SMViews


                        SMViews = (label=_"Personnalisation") \
                            MenuItem01(togglewidget=HBtri1,label=_"Filtre 1") \
                            MenuItem02(togglewidget=VPtri2,label=_"Filtre 2") \
                            SeparatorMenuItem01 \
    MenuItem03(togglewidget=HBAlbums1,label=_"Albums 1") \
    MenuItem04(togglewidget=HBAlbums2,label=_"Albums 2")
                           

VBMainContainer = 3Filler1 _HPMainPannel 3Filler2

HPMainPannel = _VBMainleft _VPMainright
 

############################
# Left
############################

VBMainleft =  HBSearchBar _HPTri
HBSearchBar = (minheight=34,maxheight=34)  ResetFilter2 2_SimpleSearch(noselector=1,suggest=0) 

HPTri = _HBtri1 _VPtri2

HBtri1 = _FilterPane1(nb=1,hidetabs=0,hidebb=1,page=savedtree,pages=savedtree)

VPtri2 = _HBArtist _HBAlbums1

HBArtist = _FilterPane2(nb=2,\
              hidebb= 1,\
      hidetabs= 1,\
      min= 1,\
      page= artists,\
page_artists/depth= 1,\
page_artists/lmarkup= 1,\
page_artists/lpicsize= '-1|16',\
      pages= artists)
HBAlbums1 = _FilterPane3(nb=3,\
hidebb= 1,\
      hidetabs= 1,\
      min= 1,\
      page= album,\
      page_album/lmarkup= 1,\
page_album/lpicsize= 64,\
page_album/mmarkup= below,\
page_album/mode=mosaic,\
page_album/sort= year,\
      pages=album)
 

############################
# Right
############################

VPMainright = HPNowplaying _HBListAndBouton

########Top

HPNowplaying = VBCover _HBSongInfoEtControlsEtTimebarEtVolume
               
                VBCover = _Filler6 Cover(default=elementary/no-cover.svg,showcover=0,minsize=200,maxsize=400) Stars _Filler7

HBSongInfoEtControlsEtTimebarEtVolume = _VBSongInfoEtControlsEtTimebar VBVolume

VBVolume = VolumeIcon(button=1) _VolumeSlider(1,0)

VBSongInfoEtControlsEtTimebar = -HBControls _VBSongInfoEtTimebar

VBSongInfoEtTimebar = _Filler8 VBSongInfo _Filler9 -HBTimeBar

VBSongInfo =  \
    _HBInfoTitre \
    _HBInfoArtist \
    _HBInfoalbum \
_HBInfoGenre

HBInfoTitre = 2Filler10 _Title(minsize=0,markup="<big><big><big><b>%t</b></big></big></big>",click1="",yalign=0.5)
HBInfoArtist = 2Filler11 _Artist(yalign=1,minsize=0,markup="<big><big>par %a</big></big>",click1="")
HBInfoalbum = 2Filler12 _Album(minsize=1,expand_max=200,yalign=1,markup="dans %l",click1="") -2Filler13 -Date
HBInfoGenre = -2Filler20 -Title2(yalign=1,minsize=0,markup="<i>%g</i> ",click1="")
group
HBTimeBar = 2Filler14 _TimeBar 2Filler15

HBControls = \
_Filler16 \
Prev(size=large-toolbar,tip=_"Previous Song") \
Play(size=large-toolbar,tip=_"Play/Pause") \
Stop(size=large-toolbar,tip=_"Stop") \
Next(size=large-toolbar,tip=_"Next Song") \
_Filler17

########Bottom

HBListAndBouton = _NBSidebar1 VBBouton

#TBRight = _"Library" HPAlbumAndSongs _"Queue" VBQueueList _"Context" Context

NBSidebar1 = (tabpos=left90,typesubmenu='PC') \
HPAlbumAndSongs \
VBQueueList \
VBPlayList \
Context

HPAlbumAndSongs = (tabtitle=_"Library") HBAlbums2 VBSongtree

HBAlbums2 = _FilterPane4(nb=3,\
hidebb= 1,\
      hidetabs= 1,\
      min= 1,\
      page= album,\
      page_album/lmarkup= 1,\
page_album/lpicsize= 64,\
page_album/mmarkup= below,\
page_album/mode=mosaic,\
page_album/sort= year,\
      pages=album)

VBSongtree =  _SongTree HBTotal
   
HBTotal = -Total(size=small)     


VBQueueList = (tabtitle=_"Queue") \
                    EditListButtons(group=2,small=1,relief=none) \
                    _QueueList(cols="queuenumber titleaa",colwidth="queuenumber 20",sort="path album:i disc track file",songtree=0,group=2) \
    HBQueueActions

                        HBQueueActions = Total1(size="small",group=2) -QueueActions


VBPlayList = (tabtitle=_"Playlist") \
                            _SongList(cols="playandqueue titleaa",colwidth="queuenumber 20",sort="path album:i disc track file",mode=playlist,group=1,follow=1)

##############  Boutons ############################

VBBouton = \
Fullscreen(size=button,minwidth=34,maxwidth=34) \
Playlist(size=button,minwidth=34,maxwidth=34) \
ResetFilter \
HSeparator1 \
Sort(size=button,minwidth=34,maxwidth=34) \
10Filter(size=button,minwidth=34,maxwidth=34)  \
Queue(size=button,minwidth=34,maxwidth=34)  \

-Quit(size=button,minwidth=34,maxwidth=34,tip=_"Quit") \
-Pref(stock=gtk-preferences,size=button,minwidth=34,maxwidth=34) \
        -HSeparator2 \
#-MBLayouts \
-HSeparator3 \
-Button1(click1="RunPerlCode(::ChooseAddPath(0,1))",stock=gtk-add,size=button,minwidth=34,maxwidth=34,tip=_"Add folder ...") \
-Button2(click1="RunPerlCode(::IdleCheck)",stock=gtk-refresh,size=button,minwidth=34,maxwidth=34,tip=_"check now") \
-Button3(click1="RunPerlCode(::IdleScan)",stock=gtk-zoom-in,size=button,minwidth=34,maxwidth=34,tip=_"scan now")