Commit Graph

1999 Commits (bd4d4ef321270c34ea7bec68f54ae42441bc9069)
 

Author SHA1 Message Date
nick black 43a685be1e
ncsubproc: update unit tests for exit propagation #554 4 years ago
nick black efc8c027a0
ncsubproc: harvest with waitpid(), pass up wstatus #554 4 years ago
nick black 94fcada67c
ncvisual_rotate: unify _cw/_ccw, take radians 4 years ago
nick black 20d0048838
CMake improvements/cleanup #565
Rather than inspecting CMAKE_BUILD_TYPE manually and setting
DEBUG_OPTIONS based off the results, set CMAKE_{C/CXX}_FLAGS_DEBUG,
and allow that to be picked up by CMake #565. Remove repeated -W
flags that were all over the place, making them global compiler
flags. Remove repeated FORTIFY=2 definition that was all over the
place, making it a global compiler definition. Remove all uses of
${DEBUG_FLAGS}. Also, since CMake doesn't define a CMAKE_BUILD_TYPE
by default, instead just setting neither debugging nor optimization
flags, in what seems a pretty fucking boneheaded move, set it by
default to RelWithDebInfo. ugh. Explicitly disuse unused PoC variables.
4 years ago
nick black 54154339f6
ncvisual_set_data() to track ncv->data for ownership 4 years ago
nick black 3e8cbca9e6
plug memory leak in whiteout demo 4 years ago
nick black b420722bfe
ncvisual_destroy() for null multimedia #568 4 years ago
nick black 102ff0a7ce
unify ncvisual_render() across ffmpeg/oiio #568 4 years ago
nick black 14fa7c350d
bgra_to_rgba(): remove obsolete assert #566 4 years ago
nick black 4446bbdf06
tria_blit(): interpret missing row as transparent #566 4 years ago
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.
4 years ago
nick black f7e002d913 ncvisual_from_*: prefixes for all three modes #557 4 years ago
nick black 39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 4 years ago
nick black 7e9cc29f8e add decls+docs for ncvisual_from_rgba/bgra #557 4 years ago
nick black 803296fb80 tetris: curpiece is now a Visual, not a Plane #558 4 years ago
nick black a2888f2c75 FAQ entry about 10-bit color 4 years ago
nick black 03f98e0101 USAGE: flesh out media section #556 4 years ago
nick black 2ec3a8a5ca visual.3: add ncvisual_subtitle() to man page 4 years ago
nick black ecdc85de11 USAGE: add section on multimedia #556 4 years ago
nick black 0135a6b54d rotation: ncvisual, not ncplane #515 4 years ago
nick black 0b22b561d2
notcurses-view: accept only valid -s arguments #563 4 years ago
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*`
4 years ago
nick black f14444cfca
multiselector: work in ASCII environment #451 4 years ago
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 d95bbb7c61
python: add input functions 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 8feb01c7cc
rust: use ncplane_dim_{y|x} from libnotcurses-sys 4 years ago
nick black 0d38adc60a
rust: move inline replacements to libnotcurses-sys 4 years ago
nick black ff18138349
rust: ncplane_perimeter(), cells_rounded_box() 4 years ago
nick black 63f65a0902
rust: proper subslice in ncplane_putstr() 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 6d0fb39458
python: add ncfdplane/ncsubproc decls 4 years ago
nick black c9088ff37b
subproc unit test rename 4 years ago
nick black 456c54e9bd
fds.3: detail usage of ncsubproc_destroy() #552 4 years ago
nick black 6e0fd72e33
proc/fileroller: don't call ncfdplane_destroy() from within callbacks 4 years ago
nick black ab2a57df1f
move notcurses spec to fedora packaging repo 4 years ago
nick black d54e2c3957
README: point to debian unstable package 4 years ago
nick black 433ff8a062
CHANGELOG note for notcurses_lex_margins() 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 92ea6bac6f
fedora: blank line between changelog entries in specfile 4 years ago
nick black 4bee994c36
fedora: own /usr/share/notcurses 4 years ago
nick black 5072cbdf33
fedora: explicitly set 0755 on notcurses.py 4 years ago