Commit Graph

1889 Commits

Author SHA1 Message Date
nick black
f63325db60 Lots of ncvisual work
Unify ffmpeg/oiio/null implementations, where possible. This effectively
required placing all three in the same file, which meant they're all now
C++. Update FFmpeg implemenation to be C++-usable. Implement
ncvisual_rotate_cw() and ncvisual_rotate_ccw() #515. Move most of tetris
over to Visual from Plane #558. Add bgra_to_rgba(), necessary for
creating ncvisual from BGRA memory. Implement ncvisual_from_rgba()
and ncvisual_from_bgra() #557. Add unit tests on ncvisual rotation.
2020-05-06 01:02:46 -04:00
nick black
f7e002d913 ncvisual_from_*: prefixes for all three modes #557 2020-05-06 01:02:46 -04:00
nick black
39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 2020-05-06 01:02:46 -04:00
nick black
7e9cc29f8e add decls+docs for ncvisual_from_rgba/bgra #557 2020-05-06 01:02:46 -04:00
nick black
803296fb80 tetris: curpiece is now a Visual, not a Plane #558 2020-05-06 01:02:46 -04:00
nick black
a2888f2c75 FAQ entry about 10-bit color 2020-05-06 01:02:46 -04:00
nick black
03f98e0101 USAGE: flesh out media section #556 2020-05-06 01:02:46 -04:00
nick black
2ec3a8a5ca visual.3: add ncvisual_subtitle() to man page 2020-05-06 01:02:46 -04:00
nick black
ecdc85de11 USAGE: add section on multimedia #556 2020-05-06 01:02:46 -04:00
nick black
0135a6b54d rotation: ncvisual, not ncplane #515 2020-05-06 01:02:46 -04:00
nick black
0b22b561d2
notcurses-view: accept only valid -s arguments #563 2020-05-04 17:28:20 -04:00
Marek Habersack
e23d5baea4 [C++] Sync API changes
Added:

  * class FDPlane (`ncfdplane*`)
  * class Subproc (`ncsubproc*`)
  * NotCurses: get_inputready_fd (`notcurses_inputready_fd`)
  * Plane: qrcode (`ncplane_qrcode`)
  * class PlotBase: templated base class for Plot variations
  * class PlotU: `uint64_t` instantiation of PlotBase (aliased to previous
    `Plot` class for source compatibility), `ncuplot*`
  * class PlotD: `double` instantiation of PlotBase, `ncdplot*`
2020-05-04 05:39:01 -04:00
nick black
f14444cfca
multiselector: work in ASCII environment #451 2020-05-02 16:37:01 -04:00
nick black
cd2cbd0d88
export enforce_utf8() via internal.h #451 2020-05-02 15:52:11 -04:00
nick black
4951a6876c
ncplane_putc_yx(): abstract to ncplane_cell_ref_yx() 2020-05-02 15:16:01 -04:00
nick black
c0b2a64102
implement+doc notcurses_inputready_fd() #513 2020-05-02 12:56:39 -04:00
nick black
d95bbb7c61
python: add input functions 2020-05-02 12:55:09 -04:00
nick black
fd86da5530
kill_and_wait_subproc: no NULL siginfo_t for waiid() 2020-05-02 12:07:10 -04:00
nick black
c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 2020-05-02 11:57:38 -04:00
nick black
b34fa9be41
python: proper ncfdplane/ncsubproc decls 2020-05-02 11:01:43 -04:00
nick black
5132b5b2b5
ncsubproc: unify thread implementations #553 2020-05-02 09:29:39 -04:00
nick black
8feb01c7cc
rust: use ncplane_dim_{y|x} from libnotcurses-sys 2020-05-02 08:23:48 -04:00
nick black
0d38adc60a
rust: move inline replacements to libnotcurses-sys 2020-05-02 08:13:15 -04:00
nick black
ff18138349
rust: ncplane_perimeter(), cells_rounded_box() 2020-05-02 08:04:13 -04:00
nick black
63f65a0902
rust: proper subslice in ncplane_putstr() 2020-05-02 07:17:17 -04:00
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.
2020-05-02 04:34:37 -04:00
nick black
6d0fb39458
python: add ncfdplane/ncsubproc decls 2020-05-02 03:49:43 -04:00
nick black
c9088ff37b
subproc unit test rename 2020-05-02 03:49:16 -04:00
nick black
456c54e9bd
fds.3: detail usage of ncsubproc_destroy() #552 2020-05-02 03:47:18 -04:00
nick black
6e0fd72e33
proc/fileroller: don't call ncfdplane_destroy() from within callbacks 2020-05-02 03:33:30 -04:00
nick black
ab2a57df1f
move notcurses spec to fedora packaging repo 2020-04-30 16:09:59 -04:00
nick black
d54e2c3957
README: point to debian unstable package 2020-04-30 01:14:42 -04:00
nick black
433ff8a062
CHANGELOG note for notcurses_lex_margins() 2020-04-29 05:44:22 -04:00
nick black
e156bd42be
plot: match delete, not free, with new 2020-04-29 05:32:08 -04:00
nick black
6a774afb27
canchangecolor: don't allow ccc if too few colors are supported #539 2020-04-29 04:19:16 -04:00
nick black
84107c547d
view: support -m argument for margins #551 2020-04-29 03:24:11 -04:00
nick black
6e8a0bebae
view: support -k to inhibit alternate screen #551 2020-04-29 03:08:21 -04:00
nick black
92ea6bac6f
fedora: blank line between changelog entries in specfile 2020-04-28 23:56:57 -04:00
nick black
4bee994c36
fedora: own /usr/share/notcurses 2020-04-28 23:14:52 -04:00
nick black
5072cbdf33
fedora: explicitly set 0755 on notcurses.py 2020-04-28 23:12:15 -04:00
nick black
6d500e8511
demo: for now, disable videos for OIIO 2020-04-28 23:05:32 -04:00
nick black
663eb73485
fedora: move binaries/data into notcurses-utils #548 2020-04-28 22:37:29 -04:00
nick black
0d8f5d1b92
notcurses_reset_stats(): allow NULL for second parameter 2020-04-28 21:57:04 -04:00
nick black
86b526bdcb
demo: reset stats following initialization #522 2020-04-28 21:56:51 -04:00
nick black
c136d27bd5
oiio: use seek_subimage to find EOF #549 2020-04-28 21:32:22 -04:00
nick black
5210e410f4
visual unit test: use notcursesI.avi, which OIIO can decode #547 2020-04-28 21:23:36 -04:00
nick black
317aa5baef
demo: grey out unsupported demos, but list them #521 2020-04-28 21:09:42 -04:00
nick black
2ec797c70c
notcurses-demo: build all demos regardless of build type #521 2020-04-28 17:46:41 -04:00
nick black
86ec4af810
oiio: no need to perform explicit seek_subimage #547 2020-04-28 02:22:47 -04:00
nick black
294e8fd90a
subproc tests: pass outofline_cancelled through as curry 2020-04-28 00:27:07 -04:00