Commit Graph

1086 Commits (cd2cbd0d8828dcfdb2cd1b8f6772ea7477954dd7)

Author SHA1 Message Date
nick black cd2cbd0d88
export enforce_utf8() via internal.h #451 4 years ago
nick black 4951a6876c
ncplane_putc_yx(): abstract to ncplane_cell_ref_yx() 4 years ago
nick black c0b2a64102
implement+doc notcurses_inputready_fd() #513 4 years ago
nick black fd86da5530
kill_and_wait_subproc: no NULL siginfo_t for waiid() 4 years ago
nick black c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 4 years ago
nick black b34fa9be41
python: proper ncfdplane/ncsubproc decls 4 years ago
nick black 5132b5b2b5
ncsubproc: unify thread implementations #553 4 years ago
nick black a23efbb463
rigourize ncsubproc destruction
We need support three distinct paths for destruction of
ncsubprocs: (1) external call to ncsubproc_destroy() while
the subprocess is running, (2) external call to
ncsubproc_destroy() after the subprocess has terminated, and
(3) internal call to ncsubproc_destroy() without any external
call. To do this properly, we always waitid() on the subprocess
in our ncsubproc thread, and do not cancel said thread. This
guarantees that the subprocess has been reaped if the thread
has exited. We throw a pidfd_send_signal() into the thread
prior to the waitid(), because this is safe with pidfds. The
thread reclaims no resources otherwise. ncsubproc_destroy(),
instead, reclaims them, after joining the ncsubproc thread.
It sends SIGKILL before the join, which is once again safe
thanks to pidfds. Resolves #552.
4 years ago
nick black 6e0fd72e33
proc/fileroller: don't call ncfdplane_destroy() from within callbacks 4 years ago
nick black e156bd42be
plot: match delete, not free, with new 4 years ago
nick black 6a774afb27
canchangecolor: don't allow ccc if too few colors are supported #539 4 years ago
nick black 84107c547d
view: support -m argument for margins #551 4 years ago
nick black 6e8a0bebae
view: support -k to inhibit alternate screen #551 4 years ago
nick black 6d500e8511
demo: for now, disable videos for OIIO 4 years ago
nick black 0d8f5d1b92
notcurses_reset_stats(): allow NULL for second parameter 4 years ago
nick black 86b526bdcb
demo: reset stats following initialization #522 4 years ago
nick black c136d27bd5
oiio: use seek_subimage to find EOF #549 4 years ago
nick black 317aa5baef
demo: grey out unsupported demos, but list them #521 4 years ago
nick black 2ec797c70c
notcurses-demo: build all demos regardless of build type #521 4 years ago
nick black 86ec4af810
oiio: no need to perform explicit seek_subimage #547 5 years ago
nick black 4fcd7edd1f
subprocs: exit() on dup() failure in child #537 5 years ago
nick black 559a45326c
notcurses_fds.3 man page #546 5 years ago
nick black 2f904449a7
drop -fkeep-inline-functions #543 5 years ago
nick black 7d1e3c77c8 oiio: image scaling #535, subimages for video #536 5 years ago
nick black f4f58432b8 oiio: wrap raw data in an OIIO::ImageBuf #535 5 years ago
nick black fdf8c4544e
fallin: move falling planes to top of z-axis 5 years ago
nick black 9f211c75f9
rename jpeg -> jpg 5 years ago
nick black f92a5805bd
pocroller/fileroller: destroy widgets 5 years ago
nick black d904b2b8c1
scroll/cjkscroll: remove unused variables 5 years ago
nick black 84a635dd48
enmetric: use µ for micro 5 years ago
nick black fd3df0a938
oiio: comment out unused vars in ncvisual_stream() 5 years ago
Nick Black 9a075ae5d0
Support image decoding with OpenImageIO #453 (#534)
* fedora: dep on OpenImageIO, and use it
* fedora: dep on libqrcodegen-devel
* fedora: BuildRequires OpenEXR-devel
* tight check on USE_MULTIMEDIA
* CMake: enable notcurses-view for ffmpeg OR oiio
* notcurses-view: don't reach into libav
* oiio: ncvisual_render() #453
* oiio: need our own properly-offset ncvisual_plane()
* `visual` poc: accept optional command line argument
* oiio: work for 3-channel images #453
* oiio: destroy ncvisual's plane if we own it #453
* notcurses_visual.3: s/FFmpeg/multimedia/g
5 years ago
nick black 642a687601 openimageio: extract version #453 5 years ago
nick black 3624953700 fallin': correct sense of ncvisual_decode() test 5 years ago
nick black 1d66f89032 ncvisual_stream: fix up ncerr assignment 5 years ago
nick black 5f42e06383 oiio: open and close image #453 5 years ago
nick black 0b4ada19b1 Remove AVFrame from API #532 5 years ago
nick black 21822f98e7 fix up averr->ncerr #532 5 years ago
nick black 2037cdfacb move libav.c to nc_err_e #532 5 years ago
nick black ad0685aa1b switch to nc_err_e #532 5 years ago
nick black 5bae4f93b8 hide ffmpeg ncvisual definition 5 years ago
nick black ddfa62db70 get USE_MULTIMEDIA differentiated 5 years ago
nick black d81b3ef0cf start factoring out FFMpeg for OIIO plug #453 5 years ago
nick black 40aa5853c9
kill space 5 years ago
Nick Black 0e73b9d3d5
Floating-point ncplot, genericize ncplot (#531)
* compile ncplot as c++ generic #446
* add floating-point plots #446
5 years ago
nick black 12050a8ca7
ncsubproc: memset() clone_args rather than by-field 5 years ago
nick black 34629688d9
interpret NULL second argument to *_init() as stdout 5 years ago
nick black 7da3847b50
ncsubproc: get client exit notification #310 5 years ago
nick black 11c5aacb08
ncsubproc: move to big bad clone3() #310 5 years ago
nick black 16a336fd21
ncsubproc: tease apart from ncfdplane 5 years ago