The 1.1.0 release closes 28 issues, along with many issues that were never recorded.
Bugfixes
- We now decode all videos that reference ffmpeg wrappers (e.g.
mpv
) can decode, so far as I can tell. Before, we successfully decoded very few. #215 - Correct presentation timings for videos. They were pretty much never accurate in 1.0.0. #159
- Don't FPE fading in an empty plane #269
- Properly handle a higher plane bisecting a wide glyph #260
- Eliminate nasty cruft around transparent ncvisuals #276
- Restore original palette on exit #285
- Interrupt blocking getc with
NCKEY_RESIZE
#262 - Fix segfault on startup in fbterm #252
- Fix segfault when
ncplane_putstr()
is invoked off-plane - Fix average byte/time calculations in demo summary table
- Instruction banner restored in
notcurses-input
#263
Perf, sweet perf
- Painter's Algorithm was implemented, necessary for handling large numbers of planes #255. Thousands of planes are now perfectly usable. Before, we choked up with a few dozen.
term_esc_rgb()
was noticed dominatingperf
profiles. Hand-optimization boosted FPS anywhere from 10% to 500% across demos. #277
Enhancements
- man pages added for all functionality. html versions are also available.
notcurses-demo
summary table improved a great deal- Implemented indexed-palette color when desired and supported #230
- New demos
jungle
andfallin'
.jungle
uses artwork of pixel legend Mark Ferrari with permission to demonstrate palette cycling, a very low-bandwidth animation technique #253fallin'
uses reflection to have the screen "fall apart" #267
ncvisual_stream()
now accepts a duration scaling parameter- all fade functions now take a curry #284
- plane pulsing added to the fading suite #163
notcurses-video
now accepts-s
to specify scaling typenotcurses-video
now properly handles resize events- all demos and example code had
notcurses_cursor_move_yx()
etc. removed in favor of atomic move+update calls. demos in general were cleaned up a good deal. - Python wrappers seem to be working now? I'd love to get testers here #149