That's it. You do not need to include "Disabled=1" or "UpdateDivider=1". The script handles its own update rate automatically.
To Use
Once the script is loaded, you can use these bangs anywhere you want:
MoveToX/Y !CommandMeasure Transition "MoveToX('MeterName', 100)" !CommandMeasure Transition "MoveToY('MeterName', 5)"
Move the meter(s) to a coordinate.
MoveByX/Y !CommandMeasure Transition "MoveByX('MeterName', 120)" !CommandMeasure Transition "MoveByY('MeterName', -50)"
Move the meter(s) by a number of pixels.
MoveToggleX/Y !CommandMeasure Transition "MoveToggleX('MeterName', 0, 200)" !CommandMeasure Transition "MoveToggleY('MeterName', 50, 150)"
Toggle the meter(s) between two coordinates.
Fade !CommandMeasure Transition "Fade('MeterName', 128)"
Fade the meter(s) to a certain alpha value. Since not all meters use the same option for transparency, the script looks for one of the following: ImageAlpha, ImageTint, FontColor, PrimaryColor, BarColor, LineColor, SolidColor. It uses whichever one it finds first.
FadeIn/Out !CommandMeasure Transition "FadeIn('MeterName')" !CommandMeasure Transition "FadeOut('MeterName')"
Fade the meter(s) in (to 255) or out (to 0).
FadeToggle !CommandMeasure Transition "FadeToggle('MeterName', [0], [255])"
Toggle the meter(s) between two alpha values. Defaults to "0" and "255" if no numbers are given.
You do not need to set a lower UpdateDivider on your meters. They can even have UpdateDivider=-1. They will automatically update during the transition, then return to normal after it's done.
Advanced Options
MeterName
The meter name parameter can be multiple meter names, separated by commas.
All of the bangs above have an optional variable name parameter. If supplied, the transition changes this variable's value, instead of meter options. (You must still provide the name of at least one meter to be updated during the transition.) The variable name 'Auto' will use the default ("automatic") behavior.
You may also use meter groups if you target a variable. You can mix meters and groups however you want. This can be useful if you want one transition to affect a large number of meters, or if the automatic behavior is not what you want.
By default, transitions take place over 25 skin updates. This determines the duration of the transition. You will probably want a different number of steps depending on your skin's Update rate, so you can override the default in two ways:
Add another parameter to the bang. This must be after the 'variable name' parameter, so if you want to change the number of steps, but you still want the automatic setting, just use 'Auto' as the variable name. !CommandMeasure Transition "MoveByX('MeterName', 120, 'VariableName', 10)" !CommandMeasure Transition "MoveByX('MeterName', 120, 'Auto', 10)"
Profiles
If you need to use one transition command many times, you can create a profile for it by adding an option to the script measure.
The parameters are separated by semicolons (no spaces). The first is the name of the profile, whatever you want it to be. The second is the command name, from the list above. Everything else is added as a parameter to that command. You can run the profile with:
Kaelri wrote:
Once the script is loaded, you can use these bangs anywhere you want:
MoveToX/Y !CommandMeasure Transition "MoveToX('MeterName', 100)" !CommandMeasure Transition "MoveToY('MeterName', 5)"
Move the meter(s) to a coordinate.
MoveByX/Y !CommandMeasure Transition "MoveByX('MeterName', 120)" !CommandMeasure Transition "MoveByY('MeterName', -50)"
Move the meter(s) by a number of pixels.
MoveToggleX/Y !CommandMeasure Transition "MoveToggleX('MeterName', 0, 200)" !CommandMeasure Transition "MoveToggleY('MeterName', 50, 150)"
Toggle the meter(s) between two coordinates.
Fade !CommandMeasure Transition "Fade('MeterName', 128)"
Fade the meter(s) to a certain alpha value. Since not all meters use the same option for transparency, the script looks for one of the following: ImageAlpha, ImageTint, FontColor, PrimaryColor, BarColor, LineColor, SolidColor. It uses whichever one it finds first.
FadeIn/Out !CommandMeasure Transition "FadeIn('MeterName')" !CommandMeasure Transition "FadeOut('MeterName')"
Fade the meter(s) in (to 255) or out (to 0).
FadeToggle !CommandMeasure Transition "FadeToggle('MeterName', [0], [255])"
Toggle the meter(s) between two alpha values. Defaults to "0" and "255" if no numbers are given.
"Eclectic-tech" steered me on this subject because I have problems with synchronizing the images change "QuotePlugin" with animation slide "BitmapTransitionFrames" http://rainmeter.net/forum/viewtopic.php?f=5&t=13453
I saw how it works your script in the skin Fluid Reader_0.1.rmskin
And I know how to achieve such an effect on the set of my photo is possible, and here asking you steered me in the right direction in building skins. I have a lot of questions and do without modification LUA, where to apply! CommandMeasure ...... I do not mean ready-made solution, fun is on understanding and building skins! The biggest problem is that I know little English and ask for advice in the form of code so much easier for me to understand
What you're trying to do isn't possible right now. The reason is because the size of the skin window is "dynamic." So when the image slides to the right, the skin's width will increase, and the image will continue to be visible. This is the same reason why the "Fluid Reader" demo skin is full-screen; it was supposed to be just one item at a time, but I couldn't make it work with items that slide in from the right.
If you want to do a full-screen version of your slideshow skin instead, you can use roughly the same approach. You just need something to trigger the !CommandMeasure bangs - either a button or a "timer" measure of some kind.
Kaelri wrote: You just need something to trigger the !CommandMeasure bangs - either a button or a "timer" measure of some kind.
Here I have a "timer" who made jsmorley is set to 5 seconds
but explain to me how it is supposed to look at 30 seconds and 1 minute.
I do not understand this: Formula=Counter % 7
wiedzmawiedzma wrote:
Here I have a "timer" who made jsmorley is set to 5 seconds
but explain to me how it is supposed to look at 30 seconds and 1 minute.
I do not understand this: Formula=Counter % 7
I will leave the explanation of Modulus math to http://rainmeter.net/forum/viewtopic.php?f=15&t=8759, but the long and the short of it is that you just need to set the "7" to "31" or "61" and the IfAboveValue to "30" or "60" to get what you want.
What the counter measure is doing is just counting from 0 to the number after the "%". When it hits it, it resets to 0 and starts over. This is not REALLY "seconds" as such, but as long as you have Update=1000 in the [Rainmeter] section of the skin, so the skin updates every 1000 milliseconds, the practical effect is that you are counting seconds.
So then you watch for that number in the IfAboveValue / IfAboveAction and fire away when the desired number is reached.
P.S. Another approach, and one that I think is really better is:
This is using a similar approach, but instead of the internal "counter" variable, which is not reset on the refresh of a skin, this uses the value of the measure itself, adding 1 on each update until it reaches that "30" after the "%", then resets to 1 and starts again. I prefer this as it allow the refresh of the skin to control it, and counts from 1 to xxx instead of 0 to xxx.
But.. what about groups? I'd like to make my dock slide on hover, do I have to apply 14 bangs to do it?
Or is possible to move whole skin from another one?
Now I have separate skin to show with fade effect my dock which basically trigger MouseOverAction=[!ShowFade "woodock"][!Hide "woodock\$widgets\position"] at hover on it.