Hi,
this post will give you a brief overview of what has changed in VisualMR 1.2 skinning (for details please check the
documentation). This is to help you updating your skin if you already made one for a previous version of VisualMR.
Most important: The <Skin>-tag in Skin.xml and the <Form> tag in
ALL layouts must contain an attribute SkinFormat="2.0" which is used to identify that it is really a skin using the new features otherwise the compatibility mode is used (you can remove the VisualMRVers attribute which is replaced by SkinFormat).
New controls / elements introduced are: StateLabel, Image, StateImage and DrawShape
Label has been enhanced with the optional attributes
Type (to control horizontal scrolling) and
Empty (alternative text when nothing would be displayed)
Setting Volume: 'Vol+10','Vol-10',... has been replaced by SetVol(+10),SetVol(-10),... This way you can increase/decrease by any value, not only use the predefined. Additionally SetVol(=x) is possible for setting absolute volume levels from 0 to 100
Added Actions: 'Search', 'BrowsePresets', 'PlayPreset(x)', 'SetLayout(x)', 'GoAmazon', 'None'
The biggest change is in the area of values ('variables'): Now you can assign a static values, too (for example for a label with the text "Album". Therefor the syntax changed slightly: Static value begin with a single quote ' while dynamic values start with a #. Additionally the attributes of the current song are now grouped as "#CurrentSong.xxx".
Therefore the variables used before must be
renamed as follows:
- Title => #CurrentSong.Title
- Album => #CurrentSong.Album
- Artist => #CurrentSong.Artist
- ElapsedTime => #ElapsedTimeText
- ElapsedTimeS => #ElapsedTimeSec
- TotalTime => #CurrentSong.TrackLengthText
- TotalTimeS => #CurrentSong.TrackLengthSec
- RepeatState => #Repeat
- ShuffleState => #Shuffle (Value "Shuffle" becomes "True")
- IsStopped => #IsStopped
- Volume100 => #Volume
- SongInfo => Not supported anymore
- State => Not supported anymore
Thanks to this changes the following
new dynamic values are available:
1.) #IsPlaying, #HasMessage, #Message, #TransportState, #TransportStateText
2.)
#CurrentSong.Genre / TrackLengthMSec / Year / Format / Bitrate / FormatAndBitrate / TrackNumber / TrackCount / TrackNumerAndCount / DiscNumber / DiscCount / DiscNumerAndCount / CoverArt / HasCoverArt / ASIN
Another new feature is that you can
optionally define multiple (sub)layouts for each window size (like the cover art /info/buttons layouts in BlueGlass. Remember that these sublayouts must be defined in the skin.xml file, too. See the
documentation and BlueGlass skin for more info about these sublayouts.
Thorsten