Commit Graph

759 Commits (ce3e5d112eab920f14c719ceb5d2862b65d69786)

Author SHA1 Message Date
nick black 004f5ca1ea
Note copyright of Mark Ferrari for jungle demo 5 years ago
nick black bee5be9d80
chunli: finalize out 5 years ago
nick black 19db2a5675
still more chunli 5 years ago
nick black cffd08418a
more chun li 5 years ago
nick black bb0cdb2b88
demo: add demo_nanosleep() for HUD 5 years ago
nick black 1e403123e1
s/notcurses_render/demo_render/g pass 5 years ago
nick black 6a2dae0279
box: punch it up a little 5 years ago
nick black eb8ecb2433
jungle: center image, use demo_render() 5 years ago
Nick Black 3d612aebcb
ruins color cycling demo #253 (#287)
* palette_set: update pal256 damage map #230
* drone: use newest builders
* palette: send oc on exit for color reset #285
* palette_new: copy existing palette in #230
* Python: use checkRGB everywhere
* more palette unit testing
* add ncplane_set_*_palindex()
* render fg palindex #230
* palette index color is out of 1000
* jungle demo works #253
5 years ago
nick black 02698ebbd1
add jungle demo 5 years ago
nick black 03e3c5406d
interrogate_term: check CCC if initc is defined 5 years ago
nick black f450c1261a
libav: don't molest user pointer 5 years ago
nick black c23b4196a2
notcurses-view: get status line back, urk 5 years ago
nick black 3e9347a339
palette color: unit test for alpha clear 5 years ago
nick black f5e151e9a0
render+raster palette-index support #230 5 years ago
nick black b02acd8631
Curry a void* to fader callbacks #284 5 years ago
nick black d95069fb1e
fallin: more blocks, many more #283 5 years ago
nick black ed783fe421 drop ncplane_erase() from slider 5 years ago
nick black 98fe08727b fallen: open the curtain on patents.png 5 years ago
nick black ff34fb387a fallin' demo pretty much works #267 5 years ago
nick black 5d69545f22 rgb_greyscale: linear approximation to gamma decomp 5 years ago
nick black fe2dcc3387 unibloick: call ncplane_greyscale() at start 5 years ago
nick black 1b01494c79 implement ncplane_greyscale() #280 5 years ago
nick black 3bd0732e81 notcurses_view: accept -s option 5 years ago
nick black 56479fd777 panelreel-demo: lock in border background 5 years ago
nick black 97e17c6cf5 demos: lock in some backgrounds 5 years ago
nick black 44af796e74 demos: lock in some backgrounds 5 years ago
nick black 3e6a862603 libav: require alpha 192 to be visible 5 years ago
nick black 02b845ba75 notcurses-view: quit on 'q' 5 years ago
nick black 4c7093901b banner: print term shortname/dims 5 years ago
nick black 011f7524bb reject bad demo spec before starting 5 years ago
nick black df08a8fb8a fallen demo working up through disappearance #267 5 years ago
nick black 9046bbfbe7 notcurses-view: erase screen between files 5 years ago
nick black b3f4fbdf51 fix fallin' bug 5 years ago
nick black 55c946ca6b fallin' 5 years ago
nick black 7860e1eace first start of fallin' demo 5 years ago
nick black 2783a1b503 ncplane_move bugfix when already in desired config 5 years ago
nick black 08f6fa0e79 implement ncplane_dup() 5 years ago
nick black 38b2b3d075 render: fix bad reference in final pass 5 years ago
nick black 209d4f41f4 palette: add necessary predicates #230 5 years ago
nick black 0e70304596 palette indexing: set up attributes #230 5 years ago
nick black 20f4b3493c send palette updates (initc) #230 5 years ago
nick black dfcdd10cb5 more palette support/testing #230 5 years ago
nick black 684bcdcc8c introduce palette256 #230 5 years ago
nick black 98446b4810 render: fix setting of channel on wide 5 years ago
nick black 97c0a34504 make pulser() available to all 5 years ago
nick black d7d61aa669 trans: pulse up so HUD clock keeps moving 5 years ago
nick black f953d18cfb HUD: move to lower left 5 years ago
nick black 79c1314854 uniblock: up with the white and gold 5 years ago
nick black fc1341ea5a
painter: skip unnecessary work 5 years ago
nick black b2dcc7cdf2 demo: push delaymult through to ncvisuals 5 years ago
nick black 0f435240d6 xray: scroll twice as quickly 5 years ago
nick black 7295377db7 panelreeldemo: don't block on input 5 years ago
nick black aba9a4f967 Eliminate fprintf() for ~20% FPS boost #277
Profiling with `perf` revealed the fprintf() inside term_esc_rgb()
to dominate our performance. Replace it with a u8->str lookup table
and a hand-assembled string fed into a single fputs(). On a 80x70
xfce4-terminal geometry, this wins 20%+ FPS on the demo, w00t!

Huzzah for profiling!
5 years ago
nick black 19c2d7d6df demo: export delaymultiplier 5 years ago
nick black 785ef20937 view: legend visible on 80x24 5 years ago
nick black afcd265253 handle 10^4 FPS in summary table :) 5 years ago
nick black b8f25ff89b Map 8-bit ffmpeg α to 2-bit notcurses α #276 5 years ago
nick black f857edd09d libav: render spaces when possible 5 years ago
nick black 17df279b66 libnotcurses-sys rust lowlevel bindings 5 years ago
nick black 5cf8b8327a demo: don't overcount time in summary table 5 years ago
nick black 3011a59cbd don't call ncplane_dim_yx() in notcurses_render_internal 5 years ago
nick black 385d37ac8c painter: drop loop at end, nice FPS gain 5 years ago
nick black 1c17b05434
allow rtl uniblocks 5 years ago
nick black c8f12b6412
uniblock: darken the area above the block 5 years ago
nick black 631c684a88
cut view demo runtime by 1/3 5 years ago
nick black adf808110d
convert remaining man1 pages to pandoc 5 years ago
nick black a419e866fe
witherworms: color/timing tweaks 5 years ago
nick black 5f58ef3a4d
implement ncvisual timescaling #275 5 years ago
nick black dd7f8eff4b
ncvisual_stream: add timescale param 5 years ago
nick black 347f85150f
witherworms: just lighten head #272 5 years ago
Nick Black 7ec022d067
Painter's algorithm #255 (#274)
* notcursesI.avi 30 -> 60fps
* painter's algorithm works #255
5 years ago
nick black 7c687faea0
pulsing text + unit test + docs #163 5 years ago
nick black 13c2dc9841
fade: propagate fader return value 5 years ago
nick black 56a54b5441
break apart render/rasterize #155 5 years ago
nick black 1b83c8b182
uniblock: drop rtl blocks for now #183 #259 5 years ago
nick black 49d684c772
render: always restore char when recovering 5 years ago
nick black 2ebc3e2bfe blend: conditionally blend in alpha 5 years ago
nick black f280db744d panelreeldemo: support abort/fail 5 years ago
nick black 6508135667 witherworm: enable mathtext 5 years ago
nick black 3faffaa847 channels_blend() : don't blend in wide status #260 5 years ago
nick black 38fb082c61 pthread_cond_timedwait() requires CLOCK_REALTIME :/ 5 years ago
nick black f8c870bb76 demo: reject multiplier <= 0 5 years ago
nick black 9b62958bd0 witherworm: support abort v failed 5 years ago
nick black a120e40816 panelreel-demo: support abort vs fail 5 years ago
nick black 6a7d7a750c xray: support abort vs failed 5 years ago
nick black 8b4de3f482 add internal cell_debug() 5 years ago
nick black 0f60af347d add clipped set functions 5 years ago
nick black c4ee0acff0 demo: support aborted vs failed 5 years ago
nick black 5742c7396c viewdemo: support abort vs failed 5 years ago
nick black 4f629cc5b3 lighting kick! 5 years ago
nick black b1995190c4 don't be an asshole 5 years ago
nick black b8e11e5ef4 poc mathtext works now #260 5 years ago
nick black f36431bc19 render: inherit wide mask on assignment #260 5 years ago
nick black 3ee48a8233 vfprintf: need a va_copy() 5 years ago
nick black dc2f788d28 summary: match rounding #268 5 years ago
nick black 7895d06273 cursor_move(-1,-1) while invalid is invalid #270 5 years ago
nick black fc039b034e notcurses-demo: implement -r option 5 years ago
nick black 00e6ecac7d fade: avoid divide by zero on empty plane #269 5 years ago
nick black 602b34bc0c mathtext: full strings #260 5 years ago
nick black abc17d37aa ncplane_vprintf_prep: reprint after realloc #260 5 years ago
nick black d055faed9a add mathtext PoC #260 5 years ago
nick black 7d598a5033
demo: add -p to usage() 5 years ago
nick black 1be4025289
CMake: true fix for #208, use NOTCURSES_SHARE 5 years ago
nick black ebbac42bf6
whoomp, there it is: fix all libav timing issues #159 5 years ago
nick black 306045116f API: always call complex from static simple 5 years ago
nick black d8c6e2434a
demo: summary table adds render% 5 years ago
nick black f092e62bca
demo summary: total out columns 5 years ago
nick black a56846468e
notcurses-view: keypress skips, not aborts 5 years ago
nick black acef43c759
avcodec_parameters_to_context() #215 5 years ago
nick black 75f0ea6ca0
HUD: print framecount 5 years ago
nick black 9677114e45
notcurses-view: support -l 5 years ago
nick black f4cda62d63
uniblock: don't emit useless \u200e 5 years ago
nick black 309211e308
enmetric() for small values #256 5 years ago
nick black 14d7bed6db
notcurses-input: fix banner display #263 5 years ago
nick black b37ea582a3
enmetric()ize total time output in demo summary 5 years ago
nick black c00fc3c3f7
mask out SIGWINCH in demo #262 5 years ago
nick black 7e59cf1053
don't print Term line with suppress_banner 5 years ago
nick black 24ba1c4425
grid: fix error on superlarge geometries 5 years ago
nick black a170e4334a
cmake: write install prefix #208 5 years ago
nick black c8148fe949
xray: don't blend banner 5 years ago
nick black 3d02318e29
panelreel-demo: hook up pipe 5 years ago
nick black 1a2cccaa18 fold out ncplane_move_cursor_yx() wherever possible #257 5 years ago
nick black 7016e7f5da summary: clean up table's unicode BDC 5 years ago
nick black 6cb945f3d5 panelreel: initial tablet count based on height 5 years ago
nick black 930968f31a
demo: add legend to summary table #258 5 years ago
nick black 07c175b320
refrain from using undefined terminfo capabilities #252 5 years ago
nick black 9c8ce83f95
chunli/view: trans out 5 years ago
nick black 54fb468dfe chunli: use demo_render() 5 years ago
Nick Black f5c6297902
Chun Li demo (#251)
* chun li demo
* ncvisual_decode: allow multiple renders of the same frame
* add -H to notcurses-demo man page
* update section 1 man page versions
5 years ago
nick black a748dea61b uniblock: restore colors/fade 5 years ago
nick black 5dd90f3735 add ncplane_dim_[yx] quick accessors 5 years ago
Nick Black f6975d11d5
Docs/API sweep for 1.0.0 #244 #249 (#250)
* sync up some docs #244
* sync README and man page
* notcurses_output() man page work
* pull attr/channels from output functions #244
* witherworm: clean up explicit moves #244
* still more man page work
* notcurses_lines, last of the man pages i think
* panelreel man page #244
* debian: ruby-ronn->pandoc
* debian: full multiarch compliance
* debian: symbols file
* pandoc: fix syntax for lexgrog
* fm6.mkv: strip audio
* pandoc: fix up apropos man syntax #249
* ncurses_lines man page
5 years ago
nick black a868a29c24
notcurses-view: support resizes post-render 5 years ago
nick black 03636b14d3
maxcolor -> trans, document loglevels 5 years ago
nick black 781a0eda44 clean up input thread in demo #246 5 years ago
nick black bd27e056e7 don't ncvisual_decode+stream #246 5 years ago
nick black c7558550f4 drop sprite-enhalfen 5 years ago
nick black 0de1856e38 accept a loglevel for libav 5 years ago
nick black 6518e2f888 xray: free up path accessor 5 years ago
nick black 867a0db3e9 witherworms: rewrite with ncplane_at_yx() 5 years ago
nick black b1c16cd437
more space between instances than letters, ick 5 years ago
nick black 029142e2c2
grid demo: actually do something now 5 years ago
nick black 44da49d351
ncvisual: free up the oframe #241 5 years ago
nick black e05ec51629
ncvisual: fix the major memory leak in streaming #241 5 years ago
nick black bc1f9bfb43
ncvisual: free up image alloc #241 5 years ago
nick black 9fdee8f672
xray: kill obsolete FIXME and static 5 years ago
Nick Black 2fbc94e41c
Higher planes obliterate bisected wide glyphs #158 (#243)
* higher planes stomp wide glyphs
* broken unit test
* develop out widestomp PoC
* fix notcurses_at_yx()
* fix up dig_visible_cell() return value
* refuse wide glyph on last column #242
* set adjacent cell wide when rendering #158
* xray: eliminate weird color flicker
* witherworm: don't eat wide glyphs
* unit test for boxed glyph
* uniblock: no need to emit so many U+200Es
* witherworm: remove wide glyph hack
5 years ago
nick black 48177b8474
implement notcurses_at_yx() 5 years ago
nick black 35aa7f6e85
move cell_egc_copy() to internal.h 5 years ago
nick black bdcea181a2
don't sleep without defined interval #224 5 years ago
nick black e03653b964
fix libav when DISABLE_FFMPEG is used 5 years ago
nick black 99541cc036
pull out terminfo's cub1 5 years ago
nick black 32ff214be2
update demos for ncplane_aligned #237 5 years ago
nick black 2ea4f77875
introduce ncplane_aligned() #237 5 years ago
nick black 8926fc5879
cursor: always get cnorm/civis defs #240 5 years ago
nick black 7d4f9b5231 witherworm: message 5 years ago
nick black bcd12279c0 ncvisual: handle plane resize #169 5 years ago
nick black ed980f1059 pull _get from all accessors 5 years ago
nick black 014afa348b rename ncplane default -> base #236 5 years ago
nick black d5748c634d ncvisual: keep duration sum for better sync #113 5 years ago
nick black 707862507d use video pts when available #113 5 years ago
nick black c21a04137c curry a void* through ncvisual_stream #113 5 years ago
nick black 41153e3c7e notcurses-view: rewrite using ncvisual_stream #113 5 years ago
nick black db8b99d594
notcurses_render: simplify using new alpha rules 5 years ago
nick black c0126b3389
maxcolor: add a legend for transparencies 5 years ago
nick black 924d80f0d5
don't blend default colors #235 5 years ago
nick black 46b1b8e622
notcurses_stats man page #213 5 years ago
nick black 21c3861804
s/bannner/banner/g, heh 5 years ago
nick black e9890eefc0 general foreground elision #131 5 years ago
nick black 5b322add56 glyph-based background spec elision #131
When we emit a glyph that has no background pixels (i.e.
the U+2588 FULL BLOCK glyph), there's no need to emit a
background color change.

Eagle demo currently has hand-coded elision. Results from
80x70 runs using the `-c` parameter:

No optimization: 12.63MiB
Hand-optimized: 12.48MiB
New scheme, no hand-coded optimization: 12.45MiB

w00t!
5 years ago
Nick Black ce2a390b52
Out with googletest, in with doctest #202 (#231)
* introduce doctest over googletest #202
* call dtester in in targets
* doctest conversion #202
* channel.cpp -> doctest #202
* egcpool tests -> doctest #202
* input tests to doctester
* zaxis -> doctest
* drone: always define LANG
* libav to doctest #202
* panelreel tests to doctest #202
* spec that a C++17 compiler is now required for doctest #202
* enmetric tests -> doctest #202
* fade tests -> doctest #202
* notcurses test case -> doctest #202
* last conversion to doctest #202
* finish move to doctest #202
* drone: set up make test
5 years ago
nick black d4caefc55d
fade: throw a 10ms cap in, improves visual and lessens load 5 years ago
nick black 148114c6ca
rewrite term_esc_rgb for ~8% more FPS 5 years ago
nick black 38ace7677f
build man pages properly #213 5 years ago
nick black 132793211c
capabilities testing for fade/ffmpeg 5 years ago
nick black 3544bd86e2
witherworm: don't hide chars below message 5 years ago
nick black fe0c18d5e4
disable eventfd in panelreel demo for now #196 5 years ago
nick black bf49db1ae4
FreeBSD: guard all uses of _unlocked #196 5 years ago
nick black 90f750dec8
eagle: remove direct libav calls 5 years ago
nick black af7cf118a9 HUD: properly initialize backchannel 5 years ago
nick black 09aa606281 FreeBSD: no CLOCK_MONOTONIC_RAW #196 5 years ago
nick black caf7e41737 need struct AVFrame for sans-libav build 5 years ago
nick black 430a321557 don't import av headers in non-ffmpeg build 5 years ago
nick black bd034c983a input: handle modifiers+mouse (alt, shift, ctrl) #226 5 years ago
nick black 1cc100cd2d UMOK: get endgame working once more 5 years ago
nick black fb0e03fe89 UMOK: fadecb for faders #162 5 years ago
nick black a218851acb sweet-ass stats in HUD #162 5 years ago
nick black 91a00b3400 ULTRAMEGAOK: feed the HUD #162 5 years ago
nick black 9402d7e927 HUD: click on X to close HUD 5 years ago
nick black ee99eb53c3 HUD: throw a close-X on the hud 5 years ago
nick black b13da606f6 whiten and shrink HUD 5 years ago
nick black 7f82ac6f16 ULTRAMEGAOK: mouse-moveable HUD #162 5 years ago
nick black 13b376f94f
panelreels: fix logic error at bottom #222 5 years ago
nick black 7906989582
kill obsolete FIXME 5 years ago
nick black 4e841865b3
panelreel-tester: accept offset arguments #180 5 years ago
nick black 770cdf4773
panelreel: plug up hole at the bottom #220 5 years ago
Nick Black 4571b57ece
Rust/FreeBSD (#221)
* rust bindings
* update release documentation with Rust info
* panelreel tester: accept command-line options#180
* input: char32_t not wchar_t in output
* freebsd compilation issues #196
5 years ago
nick black 4d877603c3
maxcolor: fix direction switch 5 years ago
Nick Black 63ada9289c
Implement CELL_ALPHA_BLEND, improve transparency semantics #191 (#219)
* channels_blend() introduced
* implement CELL_ALPHA_BLEND #191
* maxcolor demo: slidingpanel
* much improved transparency semantics #191
* maxcolor: show all transparencies #191
5 years ago