getmusicbee.com

Support => Developers' Area => TheaterMode => Topic started by: redwing on September 01, 2016, 10:29:25 PM

Title: Album Offset
Post by: redwing on September 01, 2016, 10:29:25 PM
@redwing, i have sent you a PM in regards to potential enhancements for your skins

Thanks for the improvement!

I did a quick test, but it has an issue with indexing starting point.
For instance, if you start playing #5 track of a playlist, Albums[1] should be #6 track or the next album but it is always #2 track.
It happens with library filters as well.

Tracks[n] doesn't have the problem and always takes the next queued track as Tracks[1].
Title: Re: Album Offset
Post by: Steven on September 03, 2016, 12:30:51 PM
you are right about the offset - could you try this version:
http://www.mediafire.com/download/2fcq0c05qche3jv/mb_TheaterModePlugin.zip
Title: Re: Album Offset
Post by: redwing on September 03, 2016, 03:53:44 PM
Thanks! That's fixed.

Another issue. "Field" element with Album offset returns just a random track from a random album.

Code
 
<element type="Field" id="Albums[1]" xAnchor="#Cover_2.10" x="0" yAnchor="#Cover_2.45" y="0" widthDock="x:#Cover_2.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title">
</child></element>
Title: Re: Album Offset
Post by: Steven on September 03, 2016, 04:23:28 PM
it shouldnt be a random track - it should be the first track in the album thats in the Playing Tracks list for that album offset (and is the case in my testing)
You might change the field to id="Album" as Title doesnt really make sense as is implemented
Title: Re: Album Offset
Post by: redwing on September 03, 2016, 05:00:07 PM
Did some more tests. It can work properly even for "Title", but the problem is it requires rerunning of the TM.

Try this test view:

Code
<?xml version="1.0" encoding="utf-8"?>
<root>
<settings enableScaling="true" />

 <!--Background-->

<element type="BackgroundAlbumCover" brightness="1.0" refreshInterval="20"></element>
<element type="Icon" image="Images\album flow\album flow overlay.png" gammaCorrected="false" x="-1" y="-1" widthDock="Panel" width="2" heightDock="Panel" height="2" ></element>
<element type="PlayerBar" x="-10" y="-10" width="0" height="0" ></element>
<element type="AlbumCover" x="-100" y="-100" width="10" height="10" min="10" max="10"></element>

<!-- Artwork List -->
<element name="#ArtworkList" type="Block" xAnchor="Panel.1" x="0" yAnchor="Panel.1" y="0" widthDock="x:Panel.99" width="0" heightDock="y:Panel.Bottom" height="-90" bg="0,0,0,0" ></element>

<!-- Album Cover -->
<element name="#Cover_9" type="AlbumCover"  id="Albums[8]" xAnchor="#ArtworkList.50" x="0" yAnchor="#ArtworkList.Top" y="0" align="Top.Center" widthDock="Panel.Height.15" width="0" heightDock="Panel.Height.15" height="0" brightness="1.0" ></element>
<element name="#Cover_10" type="AlbumCover"  id="Albums[9]" xAnchor="#ArtworkList.57" x="0" yAnchor="#ArtworkList.2" y="0" align="Top.Center" widthDock="Panel.Height.17" width="0" heightDock="Panel.Height.17" height="0" brightness="1.0" ></element>
<element name="#Cover_11" type="AlbumCover"  id="Albums[10]" xAnchor="#ArtworkList.65" x="0" yAnchor="#ArtworkList.6" y="0" align="Top.Center" widthDock="Panel.Height.19" width="0" heightDock="Panel.Height.19" height="0" brightness="1.0" ></element>
<element name="#Cover_12" type="AlbumCover"  id="Albums[11]" xAnchor="#ArtworkList.74" x="0" yAnchor="#ArtworkList.9" y="0" align="Top.Center" widthDock="Panel.Height.22" width="0" heightDock="Panel.Height.22" height="0" brightness="1.0" ></element>
<element name="#Cover_13" type="AlbumCover"  id="Albums[12]" xAnchor="#ArtworkList.83" x="0" yAnchor="#ArtworkList.13" y="0" align="Top.Center" widthDock="Panel.Height.24" width="0" heightDock="Panel.Height.24" height="0" brightness="1.0" ></element>
<element name="#Cover_14" type="AlbumCover"  id="Albums[13]" xAnchor="#ArtworkList.Right" x="0" yAnchor="#ArtworkList.30" y="0" align="Top.Right" widthDock="Panel.Height.29" width="0" heightDock="Panel.Height.29" height="0" brightness="1.0" ></element>
<element name="#Cover_15" type="AlbumCover"  id="Albums[14]" xAnchor="#ArtworkList.93" x="0" yAnchor="#ArtworkList.82" y="0" align="Bottom.Right" widthDock="Panel.Height.35" width="0" heightDock="Panel.Height.35" height="0" brightness="1.0" ></element>
<element name="#Cover_16" type="AlbumCover"  id="Albums[15]" xAnchor="#ArtworkList.82" x="0" yAnchor="#ArtworkList.95" y="0" align="Bottom.Right" widthDock="Panel.Height.42" width="0" heightDock="Panel.Height.42" height="0" brightness="1.0" ></element>
<element name="#Cover_8" type="AlbumCover"  id="Albums[7]" xAnchor="#ArtworkList.43" x="0" yAnchor="#ArtworkList.2" y="0" align="Top.Center" widthDock="Panel.Height.17" width="0" heightDock="Panel.Height.17" height="0" brightness="1.0" ></element>
<element name="#Cover_7" type="AlbumCover"  id="Albums[6]" xAnchor="#ArtworkList.35" x="0" yAnchor="#ArtworkList.6" y="0" align="Top.Center" widthDock="Panel.Height.19" width="0" heightDock="Panel.Height.19" height="0" brightness="1.0" ></element>
<element name="#Cover_6" type="AlbumCover"  id="Albums[5]" xAnchor="#ArtworkList.26" x="0" yAnchor="#ArtworkList.9" y="0" align="Top.Center" widthDock="Panel.Height.22" width="0" heightDock="Panel.Height.22" height="0" brightness="1.0" ></element>
<element name="#Cover_5" type="AlbumCover"  id="Albums[4]" xAnchor="#ArtworkList.17" x="0" yAnchor="#ArtworkList.13" y="0" align="Top.Center" widthDock="Panel.Height.24" width="0" heightDock="Panel.Height.24" height="0" brightness="1.0" ></element>
<element name="#Cover_4" type="AlbumCover"  id="Albums[3]" xAnchor="#ArtworkList.Left" x="0" yAnchor="#ArtworkList.30" y="0" align="Top.Left" widthDock="Panel.Height.29" width="0" heightDock="Panel.Height.29" height="0" brightness="1.0" ></element>
<element name="#Cover_3" type="AlbumCover"  id="Albums[2]" xAnchor="#ArtworkList.7" x="0" yAnchor="#ArtworkList.82" y="0" align="Bottom.Left" widthDock="Panel.Height.35" width="0" heightDock="Panel.Height.35" height="0" brightness="1.0" ></element>
<element name="#Cover_2" type="AlbumCover"  id="Albums[1]" xAnchor="#ArtworkList.18" x="0" yAnchor="#ArtworkList.95" y="0" align="Bottom.Left" widthDock="Panel.Height.42" width="0" heightDock="Panel.Height.42" height="0" brightness="1.0" ></element>
<element name="#Cover_1" type="AlbumCover" xAnchor="#ArtworkList.Center" x="0" yAnchor="#ArtworkList.Bottom" y="0" align="Bottom.Center" widthDock="Panel.Height.56" width="0" heightDock="Panel.Height.56" height="0" brightness="1.0" ></element>

<!--Album Track-->
<element type="Field" id="Albums[1]" xAnchor="#Cover_2.10" x="0" yAnchor="#Cover_2.45" y="0" widthDock="x:#Cover_2.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[2]" xAnchor="#Cover_3.10" x="0" yAnchor="#Cover_3.45" y="0" widthDock="x:#Cover_3.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[3]" xAnchor="#Cover_4.10" x="0" yAnchor="#Cover_4.45" y="0" widthDock="x:#Cover_4.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[4]" xAnchor="#Cover_5.10" x="0" yAnchor="#Cover_5.45" y="0" widthDock="x:#Cover_5.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[5]" xAnchor="#Cover_6.10" x="0" yAnchor="#Cover_6.45" y="0" widthDock="x:#Cover_6.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[6]" xAnchor="#Cover_7.10" x="0" yAnchor="#Cover_7.45" y="0" widthDock="x:#Cover_7.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[7]" xAnchor="#Cover_8.10" x="0" yAnchor="#Cover_8.45" y="0" widthDock="x:#Cover_8.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[8]" xAnchor="#Cover_9.10" x="0" yAnchor="#Cover_9.45" y="0" widthDock="x:#Cover_9.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[9]" xAnchor="#Cover_10.10" x="0" yAnchor="#Cover_10.45" y="0" widthDock="x:#Cover_10.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[10]" xAnchor="#Cover_11.10" x="0" yAnchor="#Cover_11.45" y="0" widthDock="x:#Cover_11.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[11]" xAnchor="#Cover_12.10" x="0" yAnchor="#Cover_12.45" y="0" widthDock="x:#Cover_12.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[12]" xAnchor="#Cover_13.10" x="0" yAnchor="#Cover_13.45" y="0" widthDock="x:#Cover_13.90" width="0" align="Center" font="Segoe UI" style="Bold" size="12" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[13]" xAnchor="#Cover_14.10" x="0" yAnchor="#Cover_14.45" y="0" widthDock="x:#Cover_14.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[14]" xAnchor="#Cover_15.10" x="0" yAnchor="#Cover_15.45" y="0" widthDock="x:#Cover_15.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>
<element type="Field" id="Albums[15]" xAnchor="#Cover_16.10" x="0" yAnchor="#Cover_16.45" y="0" widthDock="x:#Cover_16.90" width="0" align="Center" font="Segoe UI" style="Bold" size="16" fg="0,0,0,0" mouseOverFg="0,255,255" onClick="PlayNow">
<child id="Title"> </child></element>

<!--Control Bar-->
<element type="Block"  xAnchor="Panel.Left" x="15" yAnchor="Panel.Bottom" y="-71" widthDock="x:Panel.Right" width="-15" heightDock="y:Panel.Bottom" height="-5" bg="100,0,0,0" ></element>

<!-- Player Buttons -->
<element name="#OpenTrackListPanel" type="Text"  xAnchor="Panel.Right" x="-274" yAnchor="Panel.Bottom" y="-60" width="40" font="Wingdings" style="Bold" size="10" fg="200,200,200"  mouseOverFg="255,255,0" onClick="OpenNowPlayingAssistant">R</element>
<element name="#PlayPreviousBottom" type="Text" xAnchor="Panel.Right" x="-181" yAnchor="Panel.Bottom" y="-50" width="40" font="Webdings" style="Regular" size="17" fg="200,200,200" mouseOverFg="0,255,255" onClick="PlayPrevious">7</element>
<element type="Text" xAnchor="Panel.Right" x="-127" yAnchor="Panel.Bottom" y="-52" width="45" font="Webdings" style="Regular" size="22" fg="200,200,200" mouseOverFg="0,255,255" onClick="PlayPause" visibleTrigger="Playing">;</element>
<element type="Text" xAnchor="Panel.Right" x="-127" yAnchor="Panel.Bottom" y="-52" width="45" font="Webdings" style="Regular" size="22" fg="200,200,200" mouseOverFg="0,255,255" onClick="PlayPause" visibleTrigger="NotPlaying">4</element>
<element name="#PlayNextBottom" type="Text" xAnchor="Panel.Right" x="-65" yAnchor="Panel.Bottom" y="-50" width="40" font="Webdings" style="Regular" size="17" fg="200,200,200" mouseOverFg="0,255,255" onClick="PlayNext">8</element>

<!--Track Info-->
<element type="Field" id="Artist" xAnchor="Panel.Left" x="50" yAnchor="Panel.Bottom" y="-66" widthDock="x:Panel.Right" width="-285" font="Segoe UI" style="Regular" size="12" fg="200,200,200" onClick="PlayPause">
<child>  •  </child>
<child id="Title" ></child>
<child>  •  </child>
<child id="Album"> </child>
</element>

<element type="Field" xAnchor="Panel.Left" x="65" yAnchor="Panel.Bottom" y="-27" widthDock="x:Panel.50" width="0" >
<child id="RatingLove" visible="MusicBeeSetting" fg="30,255,255,255" rightMargin="4" size="16"></child>
<child id="Rating" visible="MusicBeeSetting" y="0" fg="200,255,255,255" fg2="30,255,255,255" size="16"></child>
</element>

<!-- Progress Bar -->
<element type="ProgressBar" xAnchor="Panel.Left" x="30" yAnchor="Panel.Bottom" y="-38" widthDock="x:Panel.Right" width="-220" height="5"  fg="255,0,0" bg="2,255,255,255" ></element>
<element type="ProgressPosition" xAnchor="Panel.Right" x="-350" yAnchor="Panel.Bottom" y="-29" width="120" align="right" font="Segoe UI" style="Regluar" size="10" fg="200,200,200" ></element>
</root>

Now start with an album with several tracks first.
Then the second track is the same first album's but it incorrectly displays over the second album. Third track too.
But at this point, rerun the TM. Then it displays all tracks correctly for displayed albums (first track of each album).
Again click on next button, then all displayed tracks go wrong. Rerun TM fixes it again.
So I think it's a bug.
Title: Re: Album Offset
Post by: Steven on September 03, 2016, 06:25:39 PM
yep. It should be fixed now if you redownload the same link
Title: Re: Album Offset
Post by: redwing on September 03, 2016, 08:03:44 PM
That fixed the issue. Thanks!

Probably the last one. With shuffle on, if you start a new track using Now Playing Assistant, track titles don't get displayed over album covers for some reason. Rerunning the view fixes it. This doesn't happen if you start a new track with shuffle off.
Title: Re: Album Offset
Post by: Steven on September 04, 2016, 03:01:58 PM
to address this i have had to make a change in the MB api as well. It should be fixed now:
http://musicbee.niblseed.com/V3_0/MusicBee3_Patched.zip
Title: Re: Album Offset
Post by: redwing on September 05, 2016, 01:01:38 AM
Working perfect now. Thanks!