It is currently May 2nd, 2024, 11:51 am

[Features suggeston]

Report bugs with the Rainmeter application and suggest features.
User avatar
haibusa2005
Posts: 52
Joined: June 15th, 2011, 7:23 pm
Location: Bulgaria, Varna

[Features suggeston]

Post by haibusa2005 »

Hello everyone! As I am coding my new skins and I have a hard time coding the eye candy so I think of some new features that can make writing a new skin from scratch a lot easier and also simplify the code. I came to the idea of some new bangs.
The first ones are Show/HideMeterFade which work on meters in similar way how the !Show/HideFade works on skins.
I would like to suggest another bang - !Wait which used in an! Execute bang to delay execution of the next bang(s) by some period of time - like one update cycle or by a user specified amount of time. That can make a resetable timer a lot easier to code. For example, lets imagine a button that resets a timer on click - LeftMouseUpAction=!Execute [!DisableMeasure Timer] [!Wait 100] [!EnableMeasure Timer] This will make the tomer measure to start from zero again or instead of disabling the measure we can set a different value of some variable and so on. The wait bang can also be used to make an array of meter to appear one by one. First show one meter (preferably by fading it in :D) then the next one and so on.
I would code the features myself and send them to the developer team afterwards but since my c++ coding abilities are very poor (almost none) I am hoping someone will take this suggestions into account :D
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: [Features suggeston]

Post by Kaelri »

You can already achieve the "wait" effect by using a Calc measure, albeit with a little more code:

Code: Select all

LeftMouseUpAction=[!DisableMeasure Timer][!EnableMeasure Wait]

Code: Select all

[Wait]
Measure=Calc
Formula=Wait+1
IfEqualValue=100
IfEqualAction=[!EnableMeasure Timer]
Disabled=1
The "ShowFadeMeter/HideFadeMeter" idea is more difficult because of the way the Update cycle works. On each update, the whole skin is "redrawn" as a single window. Individual meters may as well not exist for the purpose of rendering. A fading effect therefore a) has to take place across many updates, and b) requires a high update rate to look "smooth." These facts make it unsuitable for the majority of skins, and the only solution would be a fairly dramatic reworking of Rainmeter's rendering process.

Never say never, of course. :)