Yincognito wrote: ↑February 3rd, 2021, 1:17 pm
Seeing examples to understand is natural. Regarding your questions, you should be aware that:
- there is almost always a solution (or more than one) to any problem, in any situation, not just Rainmeter related stuff
- your best bet is to look in the Rainmeter manual for the sections that are related to your idea / problem (e.g. if you want a visualizer, look at AudioLevel plugin, if you want some animation, look at the ActionTimer, and so on); if that doesn't work and you still have issues, get help from the forum
By and large, I'll go over the Rainmeter manual as well. And a lot of things can usually be quickly understood by me. Despite the language barrier and partly ignorance of the Rainmeter syntax.
However, as I said, when it comes to more complicated things, get on the proverbial hose quickly.
There are then again more examples like here from the forum that I come across and can take parts of them in order to implement them or to understand or to see "Ah, there is something like that too"
My bookmarks in the browser for Rainmeter (examples) are now so rich that I have partly forgotten that I had already seen problem XY there and saved it as a link.
Yeah, no problem, we're always glad to help here. Luckily you understood very well how to adapt and use stuff from such basic examples in your own scenario / skin. It's a bit more effort for you to extract and possibly modify things according to your preference, but it helps nevertheless.
That's right, once I've understood the logic of the syntax, it will usually be easy for me later.
Then sometimes it is only "overlooked" errors that cause me problems. A forgotten bracket, a wrongly placed comma, or the measure and meter have the same name, and such stupid careless mistakes.
Here is an example once i have understood how it works, what is possible when it comes to optimization, for example.
Example 1 (Code Snippet from my Alarm Clock ... as it was before):
Code: Select all
;--- Alarm-SET ------------------------------------
[AlarmBG]
Meter=Image
solidcolor=0,0,0,1
X=0
Y=0
W=#Width#
H=#Height#
Hidden=1
Group=ALARMSET
MouseLeaveAction=[!HideMeterGroup ALARMSET][!ShowMeterGroup CLOCK][!ShowMeter AlarmIconON][!ShowMeterGroup ALARMON][!HideMeter AlarmSetIcon][!Redraw]
[HourAlarm]
Meter=String
MeterStyle=Style1 | Style2
FontSize=#FS1#
Text="#ValueHourSet#"
X=6
Y=-9
DynamicVariables=1
Hidden=1
Group=ALARMSET
MouseScrollUpAction=[!SetVariable ValueHourSet (#ValueHourSet#+1)][!UpdateMeasureGroup mALARM][!UpdateMeter HourAlarm][!Redraw]
MouseScrollDownAction=[!SetVariable ValueHourSet (#ValueHourSet#-1)][!UpdateMeasureGroup mALARM][!UpdateMeter HourAlarm][!Redraw]
[MinuteAlarm]
Meter=String
MeterStyle=Style1 | Style2
FontSize=#FS1#
Text="#ValueMinuteSet#"
X=92r
Y=r
DynamicVariables=1
Hidden=1
Group=ALARMSET
MouseScrollUpAction=[!SetVariable ValueMinuteSet (#ValueMinuteSet#+1)][!UpdateMeasureGroup mALARM][!UpdateMeter MinuteAlarm][!Redraw]
MouseScrollDownAction=[!SetVariable ValueMinuteSet (#ValueMinuteSet#-1)][!UpdateMeasureGroup mALARM][!UpdateMeter MinuteAlarm][!Redraw]
Example 2 (Code Snippet from my Alarm Clock ... after optimizing ... same function):
Code: Select all
;--- MEASURE CLOCK & ALARM-SWITCH -----------------
[mClockAlarm]
Measure=Calc
Formula=#State#
IfEqualValue=0
IfEqualAction=[!EnableMeasureGroup mALARM][!UpdateMeasureGroup mALARM][!ShowMeterGroup ALARMSET][!ShowMeterGroup ALARMON][!HideMeterGroup CLOCK][!UpdateMeter *][!Redraw]
IfAboveValue=0
IfAboveAction=[!HideMeterGroup ALARMSET][!ShowMeterGroup CLOCK][!UpdateMeter *][!Redraw]
DynamicVariables=1
[...]
...
...
...
[...]
[HourAlarm]
Meter=STRING
SolidColor=0,0,0,1
Padding=29,-7,145,18
MeterStyle=Style1 | Style2 | Style3 | Style8
FontSize=#FS6#
Text="#ValueHourSet#"
X=0
Y=0
DynamicVariables=1
Hidden=1
Group=ALARMSET
MouseScrollUpAction=[!SetVariable ValueHourSet (#ValueHourSet#+1)][!UpdateMeasureGroup mALARMSET][!UpdateMeter HourAlarm][!Redraw]
MouseScrollDownAction=[!SetVariable ValueHourSet (#ValueHourSet#-1)][!UpdateMeasureGroup mALARMSET][!UpdateMeter HourAlarm][!Redraw]
MouseLeaveAction=[!SetVariable State "1"][!UpdateMeasure mClockAlarm]
[MinuteAlarm]
Meter=STRING
MeterStyle=Style1 | Style2 | Style3 | Style8
FontSize=#FS6#
Text="#ValueMinuteSet#"
X=113r
Y=-7r
DynamicVariables=1
Hidden=1
Group=ALARMSET
MouseScrollUpAction=[!SetVariable ValueMinuteSet (#ValueMinuteSet#+1)][!UpdateMeasureGroup mALARMSET][!UpdateMeter MinuteAlarm][!Redraw]
MouseScrollDownAction=[!SetVariable ValueMinuteSet (#ValueMinuteSet#-1)][!UpdateMeasureGroup mALARMSET][!UpdateMeter MinuteAlarm][!Redraw]
The meter [AlarmBG] could be omitted and its function is now taken over in example 2 by the meter [HourAlarm] by inserting the command "Padding" which represents the background on which the mouse lies.
In short, it's like you say when you understand it ... which can take time for me
So now I'm really out for today. I have to do something ...
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet
The absolutly High-End Machine on 2024 ... at least the graphics card