Warning: session_start(): open(/var/lib/php/sessions/sess_4e6rhku8lb64c42tmg67mfgkqp, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
module RecordGIFSpike > DynSingleFunctionWithPrintLog {
double sleepBefore = 5, recordForSeconds = 10, frameRate = 10;
void doIt {
// TODO: delete gif on interruption
runInterruptibly(voidfunc(final Runnable interrupt) ctex {
temp AutoCloseable action = dm_currentAction("Will record GIF from screen in " + n2(sleepBefore, "second") + "...",
r { print("INTERRUPTED"); callF(interrupt) });
print("Sleeping for " + sleepBefore + " before recording GIF...");
sleepSeconds(sleepBefore);
call(action, 'setText, "Recording GIF");
Rect r = rect(screenWidth()/2-100, 0, 200, 100);
GifSequenceWriter writer = null;
long start = sysNow();
File f = programFile("test.gif");
temp ImageOutputStream out = fileImageOutputStream(f);
int delay = iround(1000/frameRate);
int i = 0;
while (elapsedMS(start) < toMS(recordForSeconds)) {
BufferedImage img = shootScreenArea_possiblyBroken(r);
if (writer == null)
writer = GifSequenceWriter(out, img.getType(), delay, true);
writer.writeToSequence(img);
++i;
long slept = sleepUntilSys(start+delay*i);
print("Wrote image " + i + " (leeway: " + slept + " of " + delay + " ms" + ")");
}
close(writer);
print("Done writing " + fileInfo(f));
});
}
}