getmusicbee.com

General => MusicBee Wishlist => Topic started by: Steven on December 15, 2012, 04:37:31 PM

Title: Embeded TheatreMode panel
Post by: Steven on December 15, 2012, 04:37:31 PM
i'm in the process of enabling a theatremode panel to be displayed in place of the Playing Track tab for the Track and Artist panel as suggested by lnminente:
http://getmusicbee.com/forum/index.php?topic=8200.0

I was wondering if anyone would be willing to create a panel layout that would be suitable for a wide and narrow format. Of course anyone would be able to add there own but it would be good to include a nice one with the MB installation.
Maybe using the record player background: Default.jpg ?
Title: Re: Embeded TheatreMode panel
Post by: redwing on December 16, 2012, 08:24:43 AM
I think you have two choices here. It's more about concept than about layout.
If you think you're simply adding, as a new layout option, theater mode as a tab, then using default theater view file would suffice.
But I feel what Inminente requested was more than that. It's highly easy customizability.
I'm thinking about something like this. You right click on the default theater view panel (as a tab), then you have a list of elements such as gallery(artist, composer, etc.), artist info, lyrics, spectrum visualizer, sound graph, progressive bar, etc. Upon choosing one, you have a drag-and-drop panel or element, not only the place but also the size and color of which can be easily adjusted by simple mouse movement and the color selector. As you know, the shape of Playing Track tab is so variable and customizable that there can't be a single layout fitting nicely.
As for the background image, I think the current no-image background tone of Playing Track tab would work nicely since the overall tone of theater mode as a tab would be highly skin dependent.
 
Title: Re: Embeded TheatreMode panel
Post by: Steven on December 16, 2012, 09:42:42 AM
the point with enabling a theatremode skin in the Playing Track tab of the Track and Artist panel is so anyone can edit the skin to change the layout to suit themselves. Its not even necessary to have a background picture, and the elements in the skin can be configured to resize/ locate according to the panel size. You will be able to choose one skin for when the Track and Artist panel is docked down the bottom of the main panel and choose another for when the Track and Artist docked in the entire main panel (or just keep using the current MusicBee in-built layout)
Title: Re: Embeded TheatreMode panel
Post by: Steven on December 16, 2012, 02:27:25 PM
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip

This version now supports theatermode skins inside the Track and Artist panel. In the Track and Artist settings tab, you can use the default MusicBee layout ie. same as now or you can select a theatermode skin instead. You can edit the default skin or add your own.
The skins for this function need to be located in:
Plugins/TheaterMode.Embeded
I have included a very quick skin suitable for when the Track and Artist panel is docked down the bottom of the main panel ie. wide and narrow - hopefully some forum members will post some better ones, and also one suitable when sized larger.
Title: Re: Embeded TheatreMode panel
Post by: Alexis on December 16, 2012, 03:12:20 PM
Just noticed this, and I have to say, this looks REALLY fantastic.  I TRULY like and this is something I was really hoping to see, but could not visualize it.  Very well done.   I suppose I just have to then skin it to match the overall theme of the skin (Though I think this goes well), and  choose image rotation as in Theatermode.  This is truly having having it both ways :)

Title: Re: Embeded TheatreMode panel
Post by: lnminente on December 16, 2012, 03:14:01 PM
Nice! That's very welcome. I started doing one this morning. I don't have many skills with theatremode but i will release it when have something interesting
Title: Re: Embeded TheatreMode panel
Post by: Steven on December 16, 2012, 06:36:32 PM
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip
update to fix the "max" sizing attribute on the AlbumCover element and a couple of tweaks to the included skin
Title: Re: Embeded TheatreMode panel
Post by: Bee-liever on December 16, 2012, 11:49:15 PM
Something to consider for the New Year would be someway of accessing the skins colours in the TheaterMode.xml, so that these embedded panels can change with the skin without having to create one to match each one. (or a generic "one-size-fits-all" that doesn't quite match any)
Title: Re: Embeded TheatreMode panel
Post by: beeing good on December 16, 2012, 11:53:26 PM
I also don't have any skills with Theatre Mode but this is great as it is already.
Great addition Steven. I look forward to seeing what the more talented members can do with it.
Title: Re: Embeded TheatreMode panel
Post by: redwing on December 17, 2012, 01:21:31 AM
Please consider to switch the place of the options for the bottom and main panel tab. Bottom should be in the bottom. It's so confusing.

(http://i47.tinypic.com/35ndl5g.png)
Title: Re: Embeded TheatreMode panel
Post by: Steven on December 17, 2012, 09:06:42 AM
Something to consider for the New Year would be someway of accessing the skins colours in the TheaterMode.xml, so that these embedded panels can change with the skin without having to create one to match each one. (or a generic "one-size-fits-all" that doesn't quite match any)
yes i forgot to include that. Its done now:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip

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)"
Title: Re: Embeded TheatreMode panel
Post by: Bee-liever on December 17, 2012, 10:58:58 AM
Steven, I wasn't expecting this until the New Year!

Thank You for an early Xmas present

(http://smileys.on-my-web.com/repository/Holidays_and_Party/party-101.gif)
Title: Re: Embeded TheatreMode panel
Post by: redwing on December 17, 2012, 11:55:44 AM
Just now I implemented the new feature within my theater view file. Have a look!:

http://getmusicbee.com/forum/index.php?topic=8254.0
Title: Re: Embeded TheatreMode panel
Post by: Steven on December 17, 2012, 12:01:58 PM
make sure you mention on your information post to get the very latest patched 2.1 version, as the colour changes are not in the weekly update version:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip
Title: Re: Embeded TheatreMode panel
Post by: redwing on December 17, 2012, 12:07:53 PM
make sure you mention on your information post to get the very latest patched 2.1 version, as the colour changes are not in the weekly update version:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip

Did it. Thanks!
Title: Re: Embeded TheatreMode panel
Post by: Alexis on December 19, 2012, 05:38:01 AM
I would like a little hand from anyone regarding the string to get the album cover to be seen to eh right and bottom of the gallery image, and be anchored and re-sizable to the bottom so as not to overlap the text in that area as the player is re-sized.  I do not want it overlapping the text or ratings as seen in the image.

This is what I am using:  The numbers may look strange because I have been experimenting.  I know I would have to tweak until it is correct, but I am not having luck with the various anchors.

<element type="AlbumCover" xAnchor="Gallery.Right" x="30" y="100" widthDock="Panel.Height" width="-10" heightDock="Panel" height="50" min="50" max="300" brightness="1.0" ></element>

Title: Re: Embeded TheatreMode panel
Post by: redwing on December 19, 2012, 06:48:49 AM
As far as I know, album cover can be aligned left and top only, not right and bottom. Hence you're trying to achieve something currently impossible. If you compromise a bit so that album cover tops track info, there won't be any problem.


(http://i48.tinypic.com/160voeo.png)
Title: Re: Embeded TheatreMode panel
Post by: lnminente on December 19, 2012, 09:27:44 AM
For not overlapping text or ratings increase the y value so the top of the image will never touch them.
For adjusting the size of the image maintain keep widthDock="Panel.Height" heightDock="Panel" and use same values for height and width adjustments as it changes the aspect ratio of the images and i think keep aspect ratio is not possible here by now.
Title: Re: Embeded TheatreMode panel
Post by: Bee-liever on December 19, 2012, 12:39:11 PM
@ Alexis
assuming you have set the Gallery heightDock to Panel, than you can put an invisible scaling line in:

<element type="Line" name="#scale1" xAnchor="Gallery.Right" x="0" yAnchor="Panel.Top" y="0" width="1" heightDock="Y:Panel.Bottom" height="0" bg="0,0,0,0"></element>

you can then use your original line modified to:

<element type="AlbumCover" xAnchor="#scale1.Right" x="30" yAnchor="#scale1.Center" y="0" widthDock="Panel.Height" width="-10" heightDock="Panel" height="50" min="50" max="300" brightness="1.0" ></element>

the top of the artwork will always be at exactly halfway down the Gallery space
Title: Re: Embeded TheatreMode panel
Post by: redwing on December 19, 2012, 01:09:44 PM
@ Alexis
assuming you have set the Gallery heightDock to Panel, than you can put an invisible scaling line in:

<element type="Line" name="#scale1" xAnchor="Gallery.Right" x="0" yAnchor="Panel.Top" y="0" width="1" heightDock="Y:Panel.Bottom" height="0" bg="0,0,0,0"></element>

you can then use your original line modified to:

<element type="AlbumCover" xAnchor="#scale1.Right" x="30" yAnchor="#scale1.Center" y="0" widthDock="Panel.Height" width="-10" heightDock="Panel" height="50" min="50" max="300" brightness="1.0" ></element>

the top of the artwork will always be at exactly halfway down the Gallery space

If you really want that half-cut cover view, simply use for album cover without the scaling line
 
Code
yAnchor="Gallery.Center" y="0"
Title: Re: Embeded TheatreMode panel
Post by: Alexis on December 19, 2012, 01:51:08 PM
Thank you all very much for the feedback.  I was able to come up with something while keeping the simplicity of the default Plugin style.  For now, I came to the conclusion that having an album cover there just makes it a bit to busy.  However, I now know how I could achieve  what I was requesting, thanks to the suggestions here.
Title: Re: Embeded TheatreMode panel
Post by: lnminente on December 19, 2012, 02:03:07 PM
(I suggest spliting this post, and moving since the ask from Alexis to plugins\theater mode\developers, it could be helpful for people starting with it)
Title: Re: Embeded TheatreMode panel
Post by: Alexis on December 19, 2012, 02:04:59 PM
yes please.  I regretted posting it here after seeing the helpful responses this morning.
Title: Re: Embeded TheatreMode panel
Post by: Steven on January 01, 2013, 12:25:26 PM
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>
Title: Re: Embeded TheatreMode panel
Post by: Steven on January 02, 2013, 07:31:08 PM
this has the support for right aligning variable size elements using expressions as described above:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip
Title: Re: Embeded TheatreMode panel
Post by: redwing on January 05, 2013, 05:41:24 AM
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>

Tried this and found it worked well as long as the artwork size is smaller than its maximum size.

(http://i50.tinypic.com/2i0xhsm.png)


But once it reaches its maximum size, it keeps moving to the left as panel enlarges even though it's set aligned right.

(http://i45.tinypic.com/2ywg1o7.png)


Is there a way to keep it to the right end?
Title: Re: Embeded TheatreMode panel
Post by: redwing on January 05, 2013, 05:48:35 PM
I am wondering whether "align" attribute could be supported for rectangular elements such as gallery and album artwork. What I mean by that is x and y values of those elements are, by default, of top-left corner point. But align="Bottom.Right" could change the base point of the rectangular element to bottom-right corner point. So except for the default top-left, three values (Top.Right, Bottom.Left, Bottom.Right) are possible for the attribute. If this can be supported, we can place variable sizes of gallery and artwork to virtually any places of screen by controlling its aligning point.

With regard to the case above, xAnchor="Panel.Right" x="0" align="Top.Right" will easily solve the problem. Then we will no longer need +/- values.
Title: Re: Embeded TheatreMode panel
Post by: Steven on January 06, 2013, 12:39:23 PM
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
Title: Re: Embeded TheatreMode panel
Post by: Steven on January 07, 2013, 09:42:20 PM
this has the change as described above:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip
Title: Re: Embeded TheatreMode panel
Post by: redwing on January 08, 2013, 01:21:26 AM
this has the change as described above:
http://musicbee.niblseed.com/V2_1/MusicBee_Exe_Patched.zip

It's working excellent! Thanks a lot!
Title: Re: Embedded TheaterMode panel
Post by: lnminente on January 08, 2013, 09:34:23 PM
Steven, if it isn't much work could be possible adding support for basic expressions for height too? I would like to dinamically adjust the SoundGraph for only seeing the top half of it adjusted to the height of the panel

Code
<!-- WaveBar -->
<autoHide name="#WavebarPanel" allowPinning="true" >
<element type="SoundGraph"
xAnchor="AlbumCover.Right" x="10" y="16"
widthDock="X:ArtistPicture.Left" width="-2" height="Panel.Height+Panel.Height-32"
bg="TrackAndArtistPanel(8)" fg="TrackAndArtistPanel(16)"
></element>

Here an example of what i would like to draw: http://getmusicbee.com/forum/index.php?topic=8363.msg48448#msg48448

Edit: post title changed to  "Embedded TheaterMode panel" for searching in forum purposes