You already know how to use a measure's string value as a dynamic variable:
Code: Select all
[MyMeter]
Meter=String
DynamicVariables=1
Text=The string value of MyMeasure is [MyMeasure].
Meters
First, you can now get any meter's real-time X/Y/W/H value as a dynamic variable, which can be used in options and formulas throughout the skin.
[MeterName:X]
[MeterName:Y]
[MeterName:W]
[MeterName:H]
It's now easy to base one meter's size or position on any other meter's. If you've ever wished you could use relative positions like X=10r or Y=-5R on any meter, instead of just the previous one, then this is for you. Cases like the following are now possible:
Code: Select all
X=[MeterName:X]
X=([MeterName:X] + 10)
X=([MeterName1:X] + [MeterName2:W] / [MeterName3:Y] * [MeterName4:H] - 10)
As for measures, you can now use the number value of a measure, instead of the string. Before now, number values were only used in certain measures and meter options, so in order to use a number value anywhere else, you would have to "pass it through" a Calc measure. Now, you can just use this:
[MeasureName:]
You can also modify the number value in a few ways. You can choose the number of decimal places:
[MeasureName:n]
Scale it:
[MeasureName:/n]
Or use it as a percentage:
[MeasureName:%]
You can even combine more than one modifier:
[MeasureName:/1024, 5]
[MeasureName:%, 4]
This makes it possible to (for example) show the same value several different ways, all within the same meter. DSVs are not bound by meter options such as Scale, AutoScale, Percentual or NumOfDecimals.
Code: Select all
Text=My number value is [MyMeasure:].
ToolTipText=My percentual value is [MyMeasure:%].
Code: Select all
Text=[MeasureBytes:] B is equal to [MeasureBytes:/1024] KB is equal to [MeasureBytes:/1048576] MB.
Finally, if you use Lua, the ReplaceVariables() function has been expanded to support these new variables.
Code: Select all
MyString = SKIN:ReplaceVariables('The scaled value of MyMeasure is [MyMeasure:/1000].')
Section variables can be used wherever regular dynamic variables can today, including formulas and bangs. As always, remember to use DynamicVariables=1 in order to get the real-time value of meter/measure properties.
There's also a new manual page for this feature, which will be revised and expanded over time.