Skip to content

Instantly share code, notes, and snippets.

@apankrat apankrat/readme.txt Secret
Last active Jun 28, 2019

Embed
What would you like to do?
Giffer 0.9.7 (preview)
-- Giffer / preview release --
64-bit - https://bvckup2.com/files/uGiffer-0.9.7.exe (120960 bytes)
32-bit - https://bvckup2.com/files/uGiffer-0.9.7-32.exe (108672 bytes)
Both should carry an EV signature of Pipemetrics SA.
-- User manual --
The program records contents of the screen within its light-green frame and
then produces an animated GIF from the capture.
It works by grabbing frames as quickly as possible, but not exceeding 100 FPS.
Higher FPS doesn't make sense, because the smallest per-frame delay in GIF is
1/100 of a second => 100 FPS max, at best.
For each frame it checks if it's different from the last saved frame. If it's,
then it saves it as .bmp in a work folder (see below) and notes duration of
the previous frame in index.txt file, also in the work folder.
Once the recording is stopped, it goes through index.txt and assembles saved
frames in a GIF and saves it in the work folder. It then deletes all .bmp
files and index.txt, and opens resulting .gif in default viewer (that would
usually be the web browser).
-- Controls --
F1 starts recording. Alternatively - double-click on the window title.
To stop recording and make a GIF, hit F1 again.
To cancel recording and discard the capture, hit Esc.
When idle, Esc minimizes the window.
F2 run a benchmark. The program just tries to grab frames as quickly as
possible without saving them. The purpose of this is to estimate the max
achievable FPS for the screen and frame size. In my case, it tops at 30
FPS on one monitor and at around 45 FPS on another.
-- Ini file --
A small handful of settings is stored between the runs in uGiffer.ini,
which by default is written into %Temp%\uGiffer\ folder. If %Temp% is
undefined, it will fallback to using program's launch folder. Location
of the .ini can be overridden as follows:
giffer.exe -c x:\path\to\ini\folder
This will cause the program to search for uGiffer.ini there.
-- Work folder --
The program defaults to placing its temporary files (of which there's
a plenty) into %Temp%\uGiffer\Capture folder.
This too can be overridden by setting "work_folder" entry in the ini
to some other directory. If you have a RAM or an NVMe drive, you may
want to put the work folder there.
-- Assorted --
1. When in recording mode, the window cannot be resized or minimized. It
can however be moved and this is properly supported. Except when it's
taken outside of the desktop area, in which case there be dragons.
2. GIFs are saved by the main UI thread, so for larger captures the window
may enter "Not responding" state. Just give it time. I will redo this part
properly as time permits.
3. GIF are assmebled using rversteegen's fork [1] of ginsweater's gif-h
library [2]. Fantastic work on both counts.
.
[1] https://github.com/ginsweater/gif-h
[2] https://github.com/rversteegen/gif-h
@kmliles

This comment has been minimized.

Copy link

commented May 28, 2019

must be me but when I grab "https://bvckup2.com/files/giffer-0.9.1.exe" it isn't an .exe it is a .bat that appears to need to execute on that server to create the .exe ... am I missing something/everything?
[PS: new to git; be gentle....lol]

@apankrat

This comment has been minimized.

Copy link
Owner Author

commented May 28, 2019

Damn. That's me, sorry. The .bat you were getting is a packaging script for making a release.
Give the link another try, it should be fixed now.

@kmliles

This comment has been minimized.

Copy link

commented May 28, 2019

retried and works fine... playing with the prog now. I like it. Very cool.

@apankrat

This comment has been minimized.

Copy link
Owner Author

commented May 29, 2019

0.9.2 should fix this issue
0.9.3 should fix this issue

@apankrat

This comment has been minimized.

Copy link
Owner Author

commented May 29, 2019

0.9.4 should fix this issue
It also reworks and lightens the guts a bit for faster saving.

@apankrat

This comment has been minimized.

Copy link
Owner Author

commented Jun 3, 2019

0.9.5:

  • Henceforth it shall be known as μGiffer
  • Config and work files now go into %Temp%\uGiffer\ and %Temp%\uGiffer\Capture\ folders respectively
  • Cursor location is now captured correctly under rapid movement conditions
  • Final fix for green capture frame sometimes seeping through into the capture itself, again with uGiffer is moved around wildly
@apankrat

This comment has been minimized.

Copy link
Owner Author

commented Jun 3, 2019

0.9.6 should fix this issue, introduced in 0.9.5

@apankrat

This comment has been minimized.

Copy link
Owner Author

commented Jun 7, 2019

0.9.7 fixes a leak of 2 bitmap handles per frame, because apparently GetIconInfo() expects the caller to do the cleanup :-|

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.