I am trying to wrap my head around something I was discussing on the IRC with squentin. I wanted to post here so that more can see it and because it is a lot easier to get all this information on the forum
I use this as a type D Desktop Widget .. everything works great..
Window = transparent=1
VBmain= HBtitle HBartist HBalbum Cover(minsize=300,maxsize=300,xalign=.5) TimeBar -HBButtons -HBTime
HBButtons = Prev Play Next 1Filler1 -HBSettings -VolumeIcon
HBSettings = ExtraButtons(size=menu) BMSettings
BMSettings = (icon=gtk-preferences,size=menu) MainMenuItem PSortItem SMLibrary LayoutItem QueueItem PFilterItem SeparatorMenuItem01 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")
HBTime = Length(markup="$length",initsize="XX:XX",xalign=0) -PlayingTime(markup="%s",initsize="XX:XX",xalign=1)
VolumeScroll = HBButtons
But I want to add a PlayItem to the menu that does the same thing as in my layout for the main player.. squentin has told me that PlayItem must be in a menu container (it is) and be associated with a SongTree/SongList which in this Type D (it is not)
Here is the the question.. Can you associate with the players already defined SongTree/SongList in a pseudo method or like a symlink would?
I ask this because if you have a LayoutItem defined in a MBMenu on the main player type g+ layout, it will not display in a Type D that is running at the same time.. So it is reading from the main player layout in some method ... If I remove LayoutItem from MBMenu on the main players type g+ layout, it then works fine in the above
Can you do the same with Type D to read what is already there in the players type g+ layout? Only the existing SongTree/SongList
I want to be able to read and use information from SongTree/SongList without actually having one in this Type=D
Or the correct way of using SongTree/SongList in a Type D
I don't really understand what you are saying about the g+ layouts, but anyway ...
The PlayItem widget is a submenu that allows you to filter a songlist/songtree (I'll just call it a songlist) using the current or recent songs title/artist/album, so it obviously needs a songlist. You can of course add one to your D layout, but it's probably not what you want.
I guess you want to use the songlist from the main layout, though I'm not sure why you are not putting the PlayItem directly in the main layout. Currently to do that you need to use a songlist with a group that begins with an uppercase character, and give that group option to your PlayItem widget, this has been an (I think) undocumented feature for a long time.
I'm planning to add various ways to refer to a group/window/widget, mostly for the new command system, but I'm still not sure how that will work exactly.
I hope it answers your questions.
I do have PlayItem in my main layout and it does work perfectly from there
All I was saying about my g+/main layout is that if I have LayoutItem in the main layout file, it will not work if it is also in the type D that runs at the same time. It can only be either/or. I had to take LayoutItem out of the my main player.layout in order to use it as a menu item in the Type D I use all the time..
So it appears that the Type D recognizes what is in the main player.layout
Sorry that I am not explaining this better
Thank You Quentin for the explanations and help