Commit Graph

376 Commits (17291b874375f6f01ae1d16893a235e7294df250)

Author SHA1 Message Date
nick black 595a697146
notcurses-view: space now pauses #603 4 years ago
nick black b172d2b97e
NCVISUAL_OPTION_MAYDEGRADE -> NCVISUAL_OPTION_NODEGRADE, doc 'em 4 years ago
nick black 3bc9a4cfa2
v1.4.5 4 years ago
nick black edcb2ef3b9
index.html: add link to wiki 4 years ago
nick black deda0ff681
mention notcurses_reader.3 in notcurses.3 4 years ago
Nick Black de23139111
Open some whoopass on ncvisual rotation (#677)
Whip the ol' llama's ass (fix ncvisual rotation)

* notcurses: flush cursor change requests #673
* rotator: verify ncplane_rgba and ncblit_rgba
* ncblit: rename, accept ncblitter_e #674
* rotator: render from rgba
* rotator: get to rotation
* rotator: add a pi/4 turn at the end
* normal: reuse incoming plane for rendering #672
* rotator poc: rotate a fullplane gradient #672
* normal demo: place visual correctly
* rotator: verify ncplane_rgba and ncblit_rgba
* ncblit: rename, accept ncblitter_e #674
* rotator: render from rgba
* rotator: add a pi/4 turn at the end
* normal: reuse incoming plane for rendering #672
* rotator poc: rotate a fullplane gradient #672
* normal demo: place visual correctly
* rotator poc: throw some red into gradient
* rotator poc: done #662
* oiio: ncvisual_resize() needs set ibuf pointer #662
* normal: only need erase at top of loop
* visual poc: shorter delay
* normal demo: center rendered visual
* comment ncvisual_resize() call
* ncvisual_rotate: call ncvisual_details_seed()
* ffmpeg ncvisual: fix rotation #662
4 years ago
nick black c0f820db94
notcurses-view: select blitter with numbers #671 4 years ago
nick black 2b31d6ce4d
ncvisual/ncreel: update some documentation 4 years ago
nick black d41c6d3627
notcurses-ncreel: add </>/* operators 4 years ago
nick black 5ff84cb9dd
add 'a'llglyphs demo #668 4 years ago
nick black 3a4dc02d0f
freebsd release notes 4 years ago
nick black 354ece5826
v1.4.4.1 4 years ago
nick black c8e7ad641c
not to self regarding pbuilder 4 years ago
nick black 230f3af8e1
v1.4.4 4 years ago
nick black 2d3fef115e ncfadectx_setup(): remove timespec param #659 4 years ago
nick black e879bf8f93
let outro demo run on no-multimedia builds 4 years ago
nick black 0331ae4c4c
introduce NCVISUAL_OPTION_BLEND #652 4 years ago
nick black 33318254b2
absorb first ncvisual_decode into ncvisual_from_file() #655 4 years ago
nick black 899adf873d
ncvisual.3: update man page 4 years ago
nick black f47bde1c4e
Graceful fallback among blitters #637
If we're in ASCII mode, no blitter except for NCBLIT_1x1 is going to
work. Whenever NCBLIT_DEFAULT is provided, select NCBLIT_1x1 if we're
in ASCII mode. Add NCVISUAL_OPTIONS_MAYDEGRADE and
NCPLOT_OPTIONS_MAYDEGRADE. Both serve to allow smooth degradation when a
blitter other than NCBLIT_DEFAULT has been provided. Closes #637.

Make calc_gradient_cell() static inline so our templated ncppplot
implementation can use it (ugh). When using NCBLIT_1x1 for plots in
ASCII mode, use space rather than full block, and invert colors.

Use NCBLIT_DEFAULT in the demo for the FPS plot.
4 years ago
Nick Black ebcba82d4b
Fully general ncvisual layer (#647)
This represents an essentially complete rewrite of ncvisual and associated code. It had two major goals:

Improve the ncvisual API based off lessons learned, pursuant to the upcoming API freeze. In particular, I wanted to:

decouple ncvisuals from ncplanes. It should be possible to render a ncvisual to multiple planes, with different scaling each time. It should be possible to create an ncvisual without a plane, etc.
normalize the various ways of constructing an ncvisual -- file, memory, plane, etc.
Support multiple blitters, from 7-bit ASCII to Sixel. This required writing the blitters in several cases, and they're not yet in their final implementations (but the API is fine)
I have not yet unified Plots and Visuals, and might not, given that the Plot code works fine. We could at this point implement Plots in terms of Visuals, though -- the blitter backend range has been unified. Sixel is not yet implemented, though it is listed.

There is a new POC tool, blitter. It renders its arguments using all possible blitter+scaling combinations. Another new POC, resize, displays its argument, then resizes it to the screen size and displays that, explicitly making use of ncvisual_resize() rather than a scaling parameter to ncvisual_render().

This also eliminates some memory leaks and bugs we were seeing in trunk, and brings in Sixel scaffolding.

The C++ wrapper will also need patching back up; I cut most of it down while wrestling with this crap, urk.

Closes #638, #562, and #622.
4 years ago
nick black dbc20bd5c0
add man page for ncmetric(3) #631 4 years ago
nick black c08c9b7f7f
v1.4.3 4 years ago
nick black 07e894c40c
v1.4.2.4 4 years ago
nick black 37a4114f42
O(1) z-axis moves #623
Replace the singly-linked z-axis with a doubly-linked list,
and reimplement all z-axis moves as O(1) functions.
Eliminate ncplane_move_{above/below}_unsafe(), as there are no
longer unsafe moves.
4 years ago
nick black 08190060e8 notcurses.3: update link to unicode chart 4 years ago
nick black 32d3ae91c8
v1.4.2.3 4 years ago
nick black e132c6bb24
v1.4.2.2 4 years ago
nick black 49fb03655e
v1.4.2.1 4 years ago
nick black 6edc6f098f
streamline unit test common initialization 4 years ago
nick black 38e67abd9d
v1.4.2 4 years ago
nick black 7d6434c63c
We're in FreeBSD! 4 years ago
nick black 7b4ebed07d cache utf8 encoding check #325 4 years ago
nick black 8b5b44cf36
v1.4.1 4 years ago
nick black 6a22040584
v1.4.0 4 years ago
nick black a440382fb5 demo: use NCPLOT_OPTIONS_EXPOENTIALD #470 4 years ago
nick black fbed12cd80
ncreel_options: add flag field #590 4 years ago
nick black 66bafd59b3
subproc, fdplane, plot, selector, mselector: flag words #590 4 years ago
nick black 9446840b97
ncmenu: move to flag field #590 4 years ago
nick black fec423264f
selector: undo switch to notcurses from ncplane 4 years ago
nick black d89d8c52e9
notcurses_options: add flags field 4 years ago
nick black 7cb1558d21 FreeBSD: add LIB_DEPENDS for graphics/qr-code-generator #572 4 years ago
nick black 95ba340fba
ncplane_erase: fix bug in basecell preservation 4 years ago
nick black d2c968b948
notcurses_init(): interpret NULL as /dev/tty #571 4 years ago
nick black a859a3d652 notcurses_multiselector(3): fix up _selected 4 years ago
nick black 16376f872c fix notcurses_ncplane(3) -> notcurses_plane(3) 4 years ago
nick black 26db8a66b7 ncplane_set_attr()/ncplane_set_channels() 4 years ago
nick black f0357ef6cb ncplane_contents(): declarations #582 4 years ago
nick black 48de25821c ncreader man page #403 4 years ago
nick black 98b8e167cf ncreader man page #403 4 years ago
nick black 4819c0e1c3 selector/multiselect: accept notcurses 4 years ago
nick black dbdaebb3a4
notcurses-view: verify Notcurses::can_open() 4 years ago
nick black e2b610506f
v1.3.4 4 years ago
nick black 67048bf5fa
release-checklist: add scan-build invocation 4 years ago
nick black 7337280e17
ncplane_at_yx(): const ncplane argument 4 years ago
nick black 5bdfc0183f
ncvisual_from_plane() #559 4 years ago
nick black 90dacae213
python/docs: declare ncvisual_from_plane() 4 years ago
nick black 94fcada67c
ncvisual_rotate: unify _cw/_ccw, take radians 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 39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 4 years ago
nick black 2ec3a8a5ca visual.3: add ncvisual_subtitle() to man page 4 years ago
nick black 0135a6b54d rotation: ncvisual, not ncplane #515 4 years ago
nick black c0b2a64102
implement+doc notcurses_inputready_fd() #513 4 years ago
nick black c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 4 years ago
nick black 456c54e9bd
fds.3: detail usage of ncsubproc_destroy() #552 4 years ago
nick black e156bd42be
plot: match delete, not free, with new 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 288b841021
notcurses_fds.3 man page #546 4 years ago
nick black 559a45326c
notcurses_fds.3 man page #546 4 years ago
nick black dcf262207b
notcurses-tetris.1: write up keys 4 years ago
nick black d4f71405d2
release-doc: remove unnecessary directive 4 years ago
nick black bfc243304c
document GBP steps for release 4 years ago
nick black 05753bd91a
v1.3.3 4 years ago
nick black 7d1e3c77c8 oiio: image scaling #535, subimages for video #536 4 years ago
nick black fdf8c4544e
fallin: move falling planes to top of z-axis 4 years ago
nick black ffbcb069a6
man pages: s/FFmpeg/multimedia/g 4 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
4 years ago
nick black 78da4e67ad man: notcurses_error fix up syntax 4 years ago
nick black cc3debf259 man: separate out ncplot functions 4 years ago
nick black 86a95eb4ea man: update ncvisual_decode() 4 years ago
nick black 69ef83a777 man pages: update ncvisual_decode 4 years ago
nick black a28a4f281e notcurses_error(3) man page #532 4 years ago
Nick Black 0e73b9d3d5
Floating-point ncplot, genericize ncplot (#531)
* compile ncplot as c++ generic #446
* add floating-point plots #446
4 years ago
Nick Black fe8034b5e0
ncfdplane, fileroller PoC, ncfdplane unit tests, qrcodes #24 #514 (#524)
* first draft of ncsubproc spec
* qrcode first draft #24
* demo: add qrcode demo skeleton, entries #24
* qrcode demo #24
* fedora python build changes from @dcantrell
* ncplane_qrcode() works #24
* add some flash to the qrcode demo #24
* drone: use newest builders
* fix up rgb PoC
* drop jungle demo to 100Hz target
* add fd.c
* ncfd skeletons
* more ncfdplane #514
* ncfdp i/o loop
* ncfp: improve uinit test, write core
* firm up ncfdplane #514
* fileroller PoC #514
* ncplane: allow '\n' in stream when scrolling #523
4 years ago
nick black accda3416e
notcurses.3: we also accept ASCII 4 years ago
nick black 7a0f4677c3
man pages: update notcurses.h to notcurses/notcurses.h 4 years ago
nick black 38cca493e7
man pages: terminals don't honor COLORTERM, they honor escapes 4 years ago
nick black 0aa5bd850a
update release process for gbp 4 years ago
nick black 1dad2c6b50
v1.3.2 4 years ago
nick black 305b517191
v1.3.1 4 years ago
nick black e00ef4aca9
prep for 1.3.1 4 years ago
Nick Black c6a9997554
Normalize ncplane_at_* / ncplane_set_base() (#479)
* ncplane_at_* and ncplane_at_cursor_*

We had notcurses_at_yx() expanding into three distinct parts of
the cell structure, and ncplane_at_yx() / ncplane_at_cursor()
writing directly to a cell. It was annoying to remember which
was which. The latter two now have a signature matching
notcurses_at_yx(), while the old functionality has been moved
to ncplane_at_yx_cell() and ncplane_at_cursor_yx(). #476
4 years ago
nick black 957e09671e debian: repack DFSG tarball using uscan #496 4 years ago
nick black 327c9cba78 Scrolling! all unit tests work #443 4 years ago
nick black 062caf0dfd Doxygen: use recommended logo size 4 years ago
nick black 86e225dc4c prep for 1.3.0 #460 4 years ago
nick black 24a9343b0b
prep for 1.2.9 4 years ago
nick black 69b716f7f8 prep for 1.2.8 4 years ago
nick black 3d9d8c0fe1
yank colloquy man page, since it's been extracted 4 years ago