<element type="AlbumTracks" ...> now supports attribute: mouseOverFg="255,0,0"
and when clicking a track it plays that track from the album.
<element type="AlbumTracks" ... mouseOverFg="255,0,0">
if you are using the indexed field element, onClick="PlayNow" is already supported
<element type="Field" id="Tracks[3]" ... onClick="PlayNow" >
fg2 to color playing track differently
i've added support for including the now playing list
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip
in this example i just replaced the album in the Album and Artist example. It also includes a new attribute on child elements so you can format the playlist index
format="#\." puts a . after the numberCode<element type="Block" x="10" y="210" width="360" height="35" bg="230,5,5,5" />
<element type="NowPlayingList" x="10" y="245" width="360" height="290" font="Arial" style="Regular" size="9.5" bg="180,5,5,5" fg="240,240,240" mouseOverFg="220,10,10" >
<child width="15" />
<child id="Speaker" width="23" />
<child id="#" width="50" format="#\." align="center" />
<child id="TrackArtistAndTitle" width="230" />
<child id="Duration" />
</element>
also i have added a row padding attribute (default is 2)
<element type="NowPlayingList" ... rowPadding="5" .../>
this is done for the next 2.1 update which i will post later today.
To implement just put which track the album cover is for in the id attribute
<element type="AlbumCover" id="Tracks[1]" x="0" y="53" width="80" height="80" brightness="1.0" ></element>
<element type="AlbumCover" id="Tracks[2]" x="0" y="143" width="80" height="80" brightness="1.0" ></element>
one thing to keep in mind is if you positioning elements relative to the main AlbumCover and using the default skin, you should name the main album cover element to avoid naming conflicts
<element name="#AlbumCover" type="AlbumCover" ...
and reference #AlbumCover for the fields that are positioned relative to the album cover
<element type="Field" id="Artist" xAnchor="#AlbumCover.Right" x="30" ...
to use - in any colour attribute:
bg="TrackAndArtistPanel(bg)"
bg="TrackAndArtistPanel(20)"
fg="TrackAndArtistPanel(fg)"
fg="TrackAndArtistPanel(90)"
bdr="TrackAndArtistPanel(bdr)"
where a number between 0 and 100 means a %mix of bg and fg, where a lower number is more bg and higher number more fg
edit:
also added alpha support for background colours, where alpha is between 0 and 255 (unlike the weight parameter)
eg.
bg="190,TrackAndArtistPanel(20)"
an align="xxx" attribute has now been added and can be one of: "Top.Left", "Top.Right", "Bottom.Left", "Bottom.Right"
its in the next 2.1 update
also note that the max="" attribute wasnt being set for artist pictures and now is, so that might have an impact on any existing embedded skins
for right aligning an element, i have added support for basic expressions (+/-) in the x and y offset values eg. to right align a variable size picture:Code<element type="AlbumCover" xAnchor="Panel.Right" x="11-Panel.Height" y="9" widthDock="Panel.Height" width="-20" heightDock="Panel" height="-20" min="100" max="300" brightness="1.0" ></element>
also i have changed it so "enableScaling" is ignored for embeded theatermode skins because as implemented it causes positioning problems for aligning elements (I will leave it in for the normal theatermode skins incase the change causes older skins to not work plus its useful for resizing fonts)
for embedded skins it now respects the aspectRatio setting which by default is "Keep"
you can now set the gallery element with the tags attribute set to "artist:local" which will restrict the gallery to local pictures.
<element type="Gallery" ... tags="artist:local" .../>
Also the existing artist gallery has been improved so it now uses htbackdrops.com and fanart.tv in addition to last.fm and then flickr
<element type="Gallery" ... tags="artist" .../>
i've changed it to use the same setting as the Compact player
to retrieve square artist pictures (from last.fm)
<element type="ArtistPicture" artistType="Artist" pictureSize="Square" ...
for the next v2.2 update i have changed it so fanart.tv is given a higher priority than htbackdrops.
i have added "movieOrAlbum" as a supported field
behave like <Album> except if there is a movie title
support for percentage values
e.g. heightDock="x:#Cover.70" would be 70% of the width of element #Cover
percentages for anchors is now supported
the syntax for anchors is
xAnchor="Panel.30" x="0"
i have made the change to support
widthDock="X:target element name.Center" ie. the width of the element is set to half the width of the target element
heightDock="Y:target element name.Center"
"PlayPosition" and "PlayDuration"
Support for onClick functions for "ShuffleToggle" and "RepeatToggle"
the following attribute is now supported for fields, blocks, child elements etc.
visibleTrigger="XXXX"
when XXXX is true the element is displayed. So that means you would need to repeat the element but show it with a different image or text and the opposite trigger condition
Valid triggers are:
Playing
NotPlaying
VolumeMute
VolumeNotMute
ShuffleOn
ShuffleOff
RepeatOn
RepeatOff
EqualiserOn
EqualiserOff
ScrobbleOn
ScrobbleOff
eg.Code<element type="Text" x="81" yAnchor="Panel.Bottom" y="-52" width="50" font="Webdings" style="Bold" size="25" fg="255,255,255" mouseOverFg="0,150,250" onClick="PlayPause" visibleTrigger="Playing">4</element>
<element type="Text" x="81" yAnchor="Panel.Bottom" y="-52" width="50" font="Webdings" style="Bold" size="25" fg="255,255,255" mouseOverFg="0,150,250" onClick="PlayPause" visibleTrigger="NotPlaying">8</element>
for the background image, i have created a new element
<element type="BackgroundAlbumCover" brightness="0.2" refreshInterval="20"></element>
its basically the same as what you have done except its more optimised and picks a random location on the album cover. It always sizes to the panel size. Also the refreshInterval (seconds) will choose a new random location
<element name="#artwork_text_3" type="Field" id="Comment" multiLine="true" xAnchor="#Cover.Left" x="0" yAnchor="#artwork_text_2.Bottom" y="13" widthDock="x:#Cover.Right" width="0" align="left" font="Calibri" size="12" fg="200,200,200" hight="40" />
https://www.mediafire.com/file/d54ye4rqdaeeb7a/mb_TheaterModePlugin.dll/file
i have added this attribute, which prevents the mouse pointer changing to a handCodeshowMouseHandPointer="false"
andCodeif you want to open the panel using a double click action. It doesnt show the mouse handonDoubleClick="OpenAutoHidePanel(#xxx)"
Does multiLine="true" not be support now?That hight="40" was probably the culprit...multiLine still works.
When I add this key , MB not display any text for the element; and when I remove it, MB could display comment as single line textCode<element name="#artwork_text_3" type="Field" id="Comment" multiLine="true" xAnchor="#Cover.Left" x="0" yAnchor="#artwork_text_2.Bottom" y="13" widthDock="x:#Cover.Right" width="0" align="left" font="Calibri" size="12" fg="200,200,200" hight="40" />