It is currently March 28th, 2024, 10:06 am
Animated GIF issue
Re: Animated GIF issue
Thanks to all of you for making it work stable...
- Yincognito
- Rainmeter Sage
- Posts: 7017
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Animated GIF issue
I kind of realized that some time ago, haha!
Not to worry, it's better this way, you have other tough things to do anyway ... like setting a bunch of .inc files for all of us lazy folks to use in our weather skins.
Joking aside, this doesn't happen all the times. Let's say that "you have your moments" (which is perfecly understandable)...
- Yincognito
- Rainmeter Sage
- Posts: 7017
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Animated GIF issue
Yes, with the fade effect or balala must come with a stable sliding window version
- Yincognito
- Rainmeter Sage
- Posts: 7017
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Animated GIF issue
Hello Guy's
I've seen in the coding of buienradar that there is also a animated gif with lightning history which you can use.
In Stead of the original Rain forecast URL
https://image.buienradar.nl/2.0/image/animation/RadarMapRainNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=6&skip=1
You can use the Lightning URL:
https://image.buienradar.nl/2.0/image/animation/RadarMapLightningNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=0&skip=1
The intension is to make a code that ;
1] downloads the GIF with 9 frames (3 history and 6 forecast) of the Rain animation
2] extracts the 9 frames with gif2frames
3] downloads the GIF with 3 frames (3 history and 0 forecast) of the Lightning animation (there is no forecast for lightning) in the same folder as the Rain download
4] extracts the 3 frames with gif2frames (first 3 frames (from point 2 ) of the rain animation will be overwritten by the Lightning frames and files.
5] Display the animation with the 9 frames (3 history with Lightning and 6 with Rain forecasting)
This is the skin I have made: This is the code:
When I load the skin All seems to be OK and functional but at the first update the code gets stuck!
Example of running code after loading skin: Example of stuck code during 1st update skin: Resulting in sometimes an error but also the sequence at the update time is NOK: Could you have a look what I did wrong?
I've seen in the coding of buienradar that there is also a animated gif with lightning history which you can use.
In Stead of the original Rain forecast URL
https://image.buienradar.nl/2.0/image/animation/RadarMapRainNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=6&skip=1
You can use the Lightning URL:
https://image.buienradar.nl/2.0/image/animation/RadarMapLightningNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=0&skip=1
The intension is to make a code that ;
1] downloads the GIF with 9 frames (3 history and 6 forecast) of the Rain animation
2] extracts the 9 frames with gif2frames
3] downloads the GIF with 3 frames (3 history and 0 forecast) of the Lightning animation (there is no forecast for lightning) in the same folder as the Rain download
4] extracts the 3 frames with gif2frames (first 3 frames (from point 2 ) of the rain animation will be overwritten by the Lightning frames and files.
5] Display the animation with the 9 frames (3 history with Lightning and 6 with Rain forecasting)
This is the skin I have made: This is the code:
Code: Select all
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
[Variables]
BackgroundColor=0,0,0,50
BackgroundColor2=0,0,0,160
UpdateInterval=1000
UpdateWebParser=600
Delay=0
---Measures WebParser---
[MeasureImage]
Measure=WebParser
URL=https://image.buienradar.nl/2.0/image/animation/RadarMapRainNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=6&skip=1
Download=1
DownloadFile=current.gif
ForceReload=1
UpdateRate=1
UpdateDivider=(#UpdateWebParser#*1000/#UpdateInterval#)
FinishAction=[!Log "DL Rain"][!Delay #Delay#][!PauseMeasure "MeasureAnimLoop"][!CommandMeasure MeasureExtract "Run"]
OnConnectErrorAction=[!Log "Connection Error"][!Delay #Delay#][!PauseMeasure "MeasureAnimLoop"][!CommandMeasure MeasureExtract "Run"]
OnDownloadErrorAction=[!Log "Download Error"][!Delay #Delay#][!PauseMeasure "MeasureAnimLoop"][!CommandMeasure MeasureExtract "Run"]
DynamicVariables=1
---Measures RunCommand---
[MeasureExtract]
Measure=Plugin
Plugin=RunCommand
Parameter=gif2frames.exe current.gif
StartInFolder=#CURRENTPATH#DownloadFile
State=Hide
OutputType=ANSI
Timeout=5000
FinishAction=[!Log "Ext Rain"][!EnableMeasure MeasureImageLight][!CommandMeasure MeasureImageLight "Run"]
DynamicVariables=1
[MeasureImageLight]
Measure=WebParser
URL=https://image.buienradar.nl/2.0/image/animation/RadarMapLightningNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=6&skip=1
Download=1
DownloadFile=current.gif
ForceReload=1
UpdateRate=1
UpdateDivider=(#UpdateWebParser#*1000/#UpdateInterval#)
FinishAction=[!Log "DL Light"][!Delay #Delay#][!EnableMeasure MeasureExtractLight][!CommandMeasure MeasureExtractLight "Run"]
OnConnectErrorAction=[!Log "Connection Error"][!Delay #Delay#][!PauseMeasure "MeasureAnimLoop"][!CommandMeasure MeasureExtractLight "Run"]
OnDownloadErrorAction=[!Log "Download Error"][!Delay #Delay#][!PauseMeasure "MeasureAnimLoop"][!CommandMeasure MeasureExtractLight "Run"]
DynamicVariables=1
Disabled=1
---Measures RunCommand---
[MeasureExtractLight]
Measure=Plugin
Plugin=RunCommand
Parameter=gif2frames.exe current.gif
StartInFolder=#CURRENTPATH#DownloadFile
State=Hide
OutputType=ANSI
Timeout=5000
FinishAction=[!Log "Ext Light"][!Delay 1000][!DisableMeasure MeasureImageLight][!DisableMeasure MeasureExtractLight][!UnpauseMeasure MeasureAnimLoop]
DynamicVariables=1
Disabled=1
---Measures Rainmeter---
[MeasureAnimLoop]
Paused=1
Measure=Calc
Formula=((MeasureAnimLoop%9)+1)
RegExpSubstitute=1
Substitute="^(.*)$":"0000\1","^.*(.{5})$":"\1"
DynamicVariables=1
---Meters---
[MeterBackground]
Meter=Shape
Shape=Rectangle 0,0,236,236,5 | Fill Color #Backgroundcolor2# | StrokeWidth 1.5 | Stroke Color #Backgroundcolor#
X=315
Y=596
[MeterAnimLoop]
Meter=Image
ImagePath=#CURRENTPATH#DownloadFile
ImageName=current[MeasureAnimLoop].png
PreserveAspectRatio=1
;SolidColor=0,0,0,160
Imagetint=255,255,255,155
X=2r
Y=2r
W=232
H=232
DynamicVariables=1
Example of running code after loading skin: Example of stuck code during 1st update skin: Resulting in sometimes an error but also the sequence at the update time is NOK: Could you have a look what I did wrong?
- Yincognito
- Rainmeter Sage
- Posts: 7017
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Animated GIF issue
Just tested your skin and while I did experience a "stuck moment" at the 4th frame on the first update (where the last 2 operations didn't complete, probably due to some of the measure disable operations interfering), I got no errors and everything worked fine afterwards. As usual when testing / debugging your skin, I set up the UpdateWebParser to 60 (i.e. 1 minute) to speed up the process and not stay for hours staring at the display waiting for some visual indicatiion of what's happening - I just say that so you can read the screenshot below and the timings properly, I'm not implying that you should do the same: I'll take a look at the code tomorrow, but in the meantime I have some things that don't seem that clear to me:JamX wrote: ↑June 28th, 2020, 5:53 pm Hello Guy's
I've seen in the coding of buienradar that there is also a animated gif with lightning history which you can use.
In Stead of the original Rain forecast URL
https://image.buienradar.nl/2.0/image/animation/RadarMapRainNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=6&skip=1
You can use the Lightning URL:
https://image.buienradar.nl/2.0/image/animation/RadarMapLightningNL?height=500&width=500&extension=gif&renderBackground=True&renderBranding=False&renderText=True&history=3&forecast=0&skip=1
The intension is to make a code that ;
1] downloads the GIF with 9 frames (3 history and 6 forecast) of the Rain animation
2] extracts the 9 frames with gif2frames
3] downloads the GIF with 3 frames (3 history and 0 forecast) of the Lightning animation (there is no forecast for lightning) in the same folder as the Rain download
4] extracts the 3 frames with gif2frames (first 3 frames (from point 2 ) of the rain animation will be overwritten by the Lightning frames and files.
5] Display the animation with the 9 frames (3 history with Lightning and 6 with Rain forecasting)
This is the skin I have made:
Radar_plus_.rmskin
When I load the skin All seems to be OK and functional but at the first update the code gets stuck!
Example of running code after loading skin:
Running.mp4
Example of stuck code during 1st update skin:
Pause.mp4
Resulting in sometimes an error but also the sequence at the update time is NOK:
Capture.JPG
Could you have a look what I did wrong?
- you said you wanted to download only the 3 history frames for lightning, as per the link you posted, but in the code the 2nd URL also attempts to download the 6 forecast frames for lightning; is this a typo / mistake or something intentional, and if the latter, why?
- I'm thinking, is this the only way of getting these kind of frames, or there is a possibility of "building" and "downloading" the GIF with 3 historical lightning and 6 forecast rain right from the start, through some sort of alternate / tweaked URL syntax? Maybe you could check it out, as I don't know Dutch so I can't use my intuition properly when examining the page source...
Other than that, I might be wrong with this (will have a clearer idea about it tomorrow when working with the code), but from the top of my head, apart from starting [MeasureImageLight] disabled to prevent its first run after refreshing the skin, I believe setting either its UpdateDivider or its UpdateRate to -1 will suffice, as the measure will only be executed with [!CommandMeasure MeasureImageLight "Update"] (and not with [!CommandMeasure MeasureImageLight "Run"] as the "Run" command is only suited for RunCommand plugin measures, not WebParser ones) from the preceding measure anyway, meaning it won't have anything to do with its own regular update cycle, but rather the update cycle (and the finish/etc. actions) of the "rain" measures. Also, the RunCommand measures don't necessarily need to be disabled as they are only triggered by commanding the measure to "Run".
Re: Animated GIF issue
Hello yincognito,
The 2nd url with 6 forecasting is a type, should be 0.
The 2nd url with 6 forecasting is a type, should be 0.
Re: Animated GIF issue
I have adjusted the code with your comments UpdateRate=-1 and calling the webparser with the [!CommandMeasure MeasureImageLight "Update"] and it works, code does not get stuck, ...BUT now I see this happening:
The next update is the opposite, the rain png are not correct
The next update(s) all is working perfectly.
This is the skin:
Somehow during the extraction of the Lightning GIF the produced PNG's are not usable???The next update is the opposite, the rain png are not correct
The next update(s) all is working perfectly.
This is the skin: