Quantcast
Channel: Rainmeter Forums
Viewing all articles
Browse latest Browse all 1418

Help: Rainmeter Skins • [#Variable] is unknown. Is this a bug?

$
0
0
So, the skin I'm having problems with is much more complex that this example I'm gonna show you, but it perfectly demonstrate the problem.

I'm making a proportional/scalable/dynamic skin (hence the variables format) and when I'm trying to set a escaped variable it shows this error on the log:
Formula: "[#Variable]" is unknown: (...)

I made this skin that replicates the error:
It resizes when scrolling on it, the target is to keep the corners proportional while doing it.

Code:

[Rainmeter]Update=-1AccurateText=1DynamicWindowSize=1 [Variables]Size=200Scale=1scaleMin=1scaleMax=5scaleIncrement=0.5aspectRatio=(16/9)Width=([#*Size*]*[#*Scale*])Height=([#*Width*]/[#*aspectRatio*])Corners=([#*Width*]*(1/20))Theme=Theme1[measureMeter]measure=StringString=[#Theme]IfMatch=Theme1IfMatchAction=[!SetVariable Corners "([#*Width*]*(1/10))"]DynamicVariables=1[shapeMeter]meter=shapeshape=rectangle 0,0,[#Width],[#Height],[#Corners] | strokewidth 0MouseScrollUpAction=[!SetVariable Scale (Clamp(([#Scale]+[#scaleIncrement]),[#ScaleMin],[#ScaleMax]))][!UpdateMeter *][!Redraw]MouseScrollDownAction=[!SetVariable Scale (Clamp(([#Scale]-[#scaleIncrement]),[#ScaleMin],[#ScaleMax]))][!UpdateMeter *][!Redraw]DynamicVariables=1
As you can see, it works fine, if you scroll up/down it resizes correctly even though it shows the error I mentioned earlier on the log.

So the question is, what is causing this error? To me it has to do with the escaped variable but this is what happens:

(I'm talking about the IfMatchAction)
If you don't escape [#Width] then it stops being dynamic (which means the corners stop being proportional when resizing it).
If you escape it once [#*Width*] then it works fine but shows the error Formula: "[#Width]" is unknown: ([#Width]*(1/10)).
If you escape it twice [#**Width**] then it stops working at all (to me this should be the correct syntax btw).

Before you say, "use Set Option :Whistle ". Set option is indeed a possibility, but in the real skin I'm not changing a single shape but many, so in terms of number of characters and code readability is just more optimal to set a single variable than set a whole shape option only to change a single parameter of it, without mentioning I'd need a set option bang per shape.

but to answer, yes, this works:

Code:

IfMatchAction=[!SetOption shapeMeter Shape "rectangle 0,0,[#*Width*],[#*Height*],([#*Width*]*(1/10)) | strokewidth 0"]
But is not what I need.

TIA.

Statistics: Posted by RicardoTM — Today, 7:50 pm



Viewing all articles
Browse latest Browse all 1418

Trending Articles