I assure you that this application was not created with those intentions. However, if you bring an issue to my attention and I don't address it, that wouldn't be right. So, I’ve made the necessary updates and resolved the problem. Link always be:https://shotcap.pages.dev/
Amazingly quick update, thank you so much for considering this addition! You rock!
I didn't reply immediately because I made further tests to be sure I'm not talking nonsense. I checked the source code and the changes you made, and I can't for the life of me see where's the issue because everything seems correct there. An image is worth a thousand words, so I'll let the test skin below speak for itself (didn't want to release the full technique just yet, but anyway):
Test_1.0.0.rmskin
Code:
[Variables]Edge=2Size=416Shots=125State=0[Rainmeter]Update=1000AccurateText=1DynamicWindowSize=1OnRefreshAction=[!UpdateMeasure Command3][!CommandMeasure Command3 "Run"]OnCloseAction=[!UpdateMeasure Command3][!CommandMeasure Command3 "Run"]---Measures---[Command0]Disabled=1Measure=CalcUpdateDivider=-1OnUpdateAction=[!SetVariable State 1][!UpdateMeter *][!Redraw][!UpdateMeasure Command[#State]][!CommandMeasure Command[#State] "Run"]DynamicVariables=1[Command1]Measure=PluginPlugin=RunCommandProgram=#@#shotcap 1.2.exeParameter=-f "#CURRENTPATH#C.png" -r #CURRENTCONFIGX#,#CURRENTCONFIGY#,#CURRENTCONFIGWIDTH#,#CURRENTCONFIGHEIGHT# -format png -p -repeat 0.04 #Shots#OutputType=ANSIUpdateDivider=-1FinishAction=[!SetVariable State 2][!UpdateMeter *][!Redraw][!UpdateMeasure Command[#State]][!CommandMeasure Command[#State] "Run"]DynamicVariables=1[Command2]Measure=PluginPlugin=RunCommandProgram=#@#gifski.exeParameter=--fps 25 --quality=70 --lossy-quality=70 --motion-quality=100 -o "#CURRENTPATH#A.gif" "#CURRENTPATH#C_*.png"OutputType=ANSIUpdateDivider=-1FinishAction=[!SetVariable State 3][!UpdateMeter *][!Redraw][!UpdateMeasure Command[#State]][!CommandMeasure Command[#State] "Run"]DynamicVariables=1[Command3]Measure=PluginPlugin=RunCommandParameter=del /a /f /q "#CURRENTPATH#C_*.png"OutputType=ANSIUpdateDivider=-1FinishAction=[!SetVariable State 0][!UpdateMeter *][!Redraw]DynamicVariables=1---Meters---[Background]Meter=ShapeShape=Rectangle (#Edge#/2),(#Edge#/2),(#Size#-#Edge#),(#Size#-#Edge#) | Fill Color 0,0,0,1 | Stroke Color 255,(85*((#State#+3)%4)),0,255 | StrokeWidth #Edge#UpdateDivider=-1LeftMouseUpAction=[!EnableMeasure Command#State#][!UpdateMeasure Command#State#][!CommandMeasure Command#State# "Kill"]DynamicVariables=1
On left click, the skin captures the part of the screen corresponding to its area to an A.gif file created in the skin folder. The border of the skin will change color from yellow (idle) to red (saving frames using shotcap) to orange (converting frames to gif using gifski), before finally returning back to yellow (idle) when finished.
Now, as explained earlier, I used the same 0.04 seconds interval, but for the 1.2 version of shotcap, and now the animation speed in the resulting GIF is much faster as it should be, basically the opposite of the 1.1 version also included in the package, where the speed was much slower. In fact, to replicate the 'normal' speed, one has to set -repeat 0.004 instead of -repeat 0.04 in the [Command1] measure.
You can test this by playing, say, some YouTube video and capturing a relevant part of it, first with the default 0.04 interval and then with the 0.004 one. Just left click the skin and wait for the border to go yellow > red > orange > yellow before checking the result (if you left click again while it's capturing, the capturing stops, so you can control how much you capture, by the way). By default, I left the Shots variable at 125 like used eariler as an example, but you can adjust the number of frames captured to a different number if needed.
Any idea why that faster speed happens, and whether there might be a solution to make it at least close to what is supposed to be?