Commit Graph

754 Commits (930d14380ccfe5b6bdafa23c44cadf2cdf35828c)

Author SHA1 Message Date
nick black 7174a84e94 zoo: add multiselector 4 years ago
nick black 988bb1f2a6 zoo: create selector 4 years ago
nick black f62277a69b add zoo demo #628 4 years ago
nick black 38a7306ba8
mojibake: work around wcwidth inaccuracies 4 years ago
nick black 17291b8743 implement ncmenu_mouse_selected() #819 4 years ago
nick black 0767aaec01
work around opensuse compilation issue #806 4 years ago
nick black 9bd0b42a0e normal: fix ncvisual_rotate() abort reported as FAILED #802 4 years ago
nick black f8c47b0681 normal: fix plane rotation quit reported as FAILED #802 4 years ago
nick black 750f88b70a split direct into its own header 4 years ago
nick black b617587ade
demo_nanosleep_abstime_ns: silence compiler warning 4 years ago
nick black 9ff805e754
demo_nanosleep_abstime_ns: fix test sense, swallow input #782 4 years ago
nick black 3ef1a3a07d
add notcurses_version_components() 4 years ago
Nick Black 162f9910c2
Tons of work on ncreel (#776)
Tons of work on ncreel (#627, #749, #694)
Improve reel demo: get input wired up once more, avoid the FPS demo at bottom, print pointer and line count in each tablet, use new ncreel API. Improve notcurses-ncreel explorer: kill memory leaks (#694), draw tablets better, use new ncreel API. Fix bug in ncreel core where cruft could be left on the screen, via a very gross brute force algorithm. I'll likely come back and make this a bit less ghastly in the future #749. Remove weird one-off input system from ncreel, residue from outcurses. Make some of the normalizing changes speced out in #627

* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* more terminal environment variable notes
* TERMS.md: add Sakura, st
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* reel: tighten up reel following redraw
* reel: fix upper-left corner of topless perimeter
* ncreel: print linecount, return clipped value
* reel: draw focused tablet relative to reel
* reel: brute force decruftification, how embarrassing #749
4 years ago
nick black 479dd00739
ncreel: purge {tblr}off fields; these are ncplane properties #627 4 years ago
nick black da765ebdaa
mojibake: don't stomp right side of boxes 4 years ago
nick black f2af24648d
mojibake: add all remaining emoji collations #770 4 years ago
nick black 2c37f2c4ba
mojibake: second third of the emoji collations #770 4 years ago
nick black fd83cc8639
mojibake: add all unicode 13 emoji via CLDR order #770 4 years ago
nick black b6330d142b
add notcurses_render_file() #491 4 years ago
nick black b26bd14d11
demo: make HUD text opaque #771 4 years ago
nick black 5a9e0c6f05
rendering: lack of term capability is not error #768
If we don't have setaf/setab, then we're not going to set color.
OK, fine. Don't regard it as an error during
notcurses_rasterization(), just don't emit the escape. This is
necessary to run on terminals like vt100, which in turn is
necessary to run unit tests properly on Redhat's koji.
Also, use notcurses_canfade() to avoid just breaking during
fades in intro and trans demos.
4 years ago
nick black 7744c6aae5
highcon: keep text in original position #762 4 years ago
nick black 452fdc671d
intro: move legend into main plane 4 years ago
nick black 4863c7e3df
ncdirect_image_render: restore NCBLIT_2x2 #751 4 years ago
nick black 8310b687ac
demo: enable FPS plot by default #744 4 years ago
nick black 9a5a4a65ca demo: enable HUD by default #743 4 years ago
nick black 8da3e6f968 HUD: fully glyph-transparent, looks great #743 4 years ago
nick black ba1c9868e5 HUD: glyph-transparent inter-column gap #743 4 years ago
nick black 64857e12ac HUD: glyph transparency on frame count #743 4 years ago
nick black 96575fb402 hud: glyph-transparent right side 4 years ago
nick black 6303e803f6
outro: don't obfuscate globe with acai plane 4 years ago
nick black 6f6826238e
mojibake: improve topside a tad 4 years ago
nick black 5513707d8d
allglyph: don't print UTF-16 surrogate characters #740 4 years ago
nick black 354152b48b
Redefine CELL_ALPHA_ in their natural forms
CELL_ALPHA_OPAQUE et al were defined as 0..3, meaning
CELL_ALPHA_SHIFT had to be used to compare them to their
channel representations. Instead, define them in said
representation outright, eliminating the need to shift while
retaining arithmetic properties, and zero initialization for
CELL_ALPHA_OPAQUE. Eliminate CELL_ALPHA_SHIFT #738.
4 years ago
nick black cdd96af8df
trans: put the legend on top to avoid FPS plot 4 years ago
nick black 78c2cef7e9
Use NCBLIT_2x2 by default with NCSCALE_STRETCH
We're not using NCBLIT_2x2 by default because it warps the
aspect ratio. If we're using NCSCALE_STRETCH, though, we've
(1) already indicated that aspect ratio isn't terribly
important to us and (2) are trying to maximize the space.
Since NCBLIT_2x2 is best for large images anyway, make it
the default when NCSCALE_STRECTH is being used.

Remove all explicit uses of NCBLIT_2x2 when NCSCALE_STRETCH
is being used in notcurses-demo.
4 years ago
nick black 03618c70b3
more sys/poll.h -> poll.h for musl #733 4 years ago
nick black 0a0f9faa7f
add .xcf for normal.png 4 years ago
nick black feaa20c586
normal: use fractalheight.png at end 4 years ago
nick black ef10b8ced2
mojibake: order planes by unicode spec 4 years ago
nick black 87a488da9f
mojibake: add unicode 5.2 / emoji 1.0 glyphs 4 years ago
nick black 0c6f160493
eagle: always zoom to target area #732 4 years ago
nick black f99f64d3d7 mojibake: add unicode1/emoji1 4 years ago
nick black 1d7b6a7732 mojibake: add unicode 7 / emoji 2 4 years ago
nick black f0d2847939 mojibake: finish unicode13 block 4 years ago
nick black bca52922dd mojibake: first row of unicode 13 table 4 years ago
nick black 32180235bd mojibake: better title coloring 4 years ago
nick black 70aefd451c mojibake: accommodate kitty 4 years ago
nick black 8654a4554a mojibake: reorganize so everything fits 4 years ago
nick black 46570d46b9 mojibake: color glyphs 4 years ago
nick black 770c0c0fc5 mojibake demo: scroll planes up 4 years ago
nick black e4885327e0 mojibake: clean up planes 4 years ago
nick black 54bfa96b00 mojiake: unicode 6.0 emoji 4 years ago
nick black 44eab55212 mojibake title 4 years ago
nick black 1dfcb826a6 skeleton of mojibake demo #689 4 years ago
nick black e45c2c9ac3
demo: speed things up a bit, our ass is dragging 4 years ago
nick black 1fa9d9be2c
yield demo: adapt to new ncvisual_geom #727 4 years ago
nick black 699407a14a
eagle demo: don't STRETCH for geom() call 4 years ago
nick black d7b04217f9
dragon/view demos: don't disturb menu bar 4 years ago
nick black 222c52e10c
view: use quadblitter 4 years ago
nick black 64b07fcd0b
outro: use quadblitter, reset vopts 4 years ago
nick black 7c1e9fe3d2
ffmpeg: properly scale #714 4 years ago
Nick Black 0084dbaa6d
qrcode generalization #699 (#713)
Add convenience function ncplane_home(). Add an ncblitter_e param
to ncplane_qrcode(), and split int maxversion into value-result
int* ymax and int* xmax. Write the actual sizes of the resulting
visual into these parameters. Update the qrcode demo. Add the
qrcode PoC. Update demos to ncplane_home(), where possible.

ncplane_qrcode() now takes an ncblitter_e and two value-result int*s
in the place of a single value int. The final size of the displayed qrcode
is written to *ymax and *xmax. If the code can't fit within the specified
dimensions, an error is returned. Standard rules for pluggable blitters
apply regarding fallback etc. #699
4 years ago
nick black ee73df3059
dragon: reset static done flag, erp 4 years ago
Nick Black 068b1c952a
Dragon demo #708 (#710)
* define dragon curve demo #708
* demo: distinguish abort from fail, color-wise
* dragon: ncvisual-based #708
4 years ago
nick black 03c748476b
normal: speed up rotation out #599 4 years ago
nick black 4f8f16df8d
qrcode: really remove getrandom() for freebsd < 12 4 years ago
nick black 3e23ca524f normal: improve coloring 4 years ago
nick black b119cec29e
normal: finally move to pi/4 rotations #599 4 years ago
nick black dc49bb943b
demo: destory about screen before restarting #706 4 years ago
nick black e74e7860c5
demo: explicitly set menu/about colors #705 4 years ago
nick black 3936d1b528
adapt callers of ncvisual_geom() 4 years ago
nick black 185742fd08
Rendering now does tripartite fallback to basecell
Each plane has a "base cell", which like all other cells is
initialized to the null glyph, opaque default foreground color,
and opaque default background color. Prior to this change, at
each cell of a plane, we decided whether to use that cell (the
"viscell") or the base cell depending on whether the viscell had
a non-null glyph. We now evaluate each component independently.
If the viscell has a null glyph, we use the base cell's glyph.
If the viscell has a default foreground, we use the base's fg.
If the viscell has a default background, we use the base's bg.
This was done because (a) it seems more intuitive (if I set a cell
to red, I expect red, not red iff there's a glyph in that cell
for this plane), and (b) because otherwise it was impossible to
do a multicolor overlay without blowing away underlying glyphs
(since without a glyph, you always reduced to the same base cell,
which could have only one fore- and background per render).

Existing code will need to change any instances where cells
lacking glyphs are colored, and those colors are not desired.
Since any such coloring had no effect before, it seems unlikely
that any ought exist (this did bring to light an instance in
the "qrcode" demo where we were staining overmuch of the plane).

This closes #395, the last big open worry regarding our API.
4 years ago
nick black 2b89b0850c
jungle/normal: improve behavior under ASCII mode #696 4 years ago
nick black a10ba4dac6
highgradient: degrade to gradient #700 #696 4 years ago
nick black 20322fe805
demo improvements for ASCII mode (#696)
* eagle: use new ncvisual_geom() to properly zoom
* qrcode: skip for now (#699)
* luigi: draw with spaces, not full blocks
4 years ago
nick black af46077775
ncvisual_geom: take degradation into account #697
In order to properly determine the scaling of an ncvisual to
be rendered, ncvisual_geom() needs know the blitting method.
For this reason, it took an ncblitter_e argument. It also,
however, needs handle degradation, which means knowing whether
NCVISUAL_OPTIONS_NODEGRADE is in use. It thus really wants the
struct ncvisual_options. Pass and accept it. Closes #697, and
fixes the "yield" demo in ASCII mode (#696).
4 years ago
nick black 0e1617811f
eagle: require UTF8 for now #697 #696 4 years ago
nick black 1cd3ffc89a
outro: transparent legend at borrom #687 4 years ago
nick black 1ffd871784
blocks poc: handle std coredump-free #645 4 years ago
nick black a3369d77a9
outro: plug memory leak post-fade 4 years ago
nick black 7736e4a7dc all: don't put legend so far away from plane 4 years ago
nick black 841c0a4b8f
quadblitter: respect transparency #686 4 years ago
nick black b2dcc50606
notcurses_options: fold bools into flags 4 years ago
nick black e2b43092c3
outro: fade in samoa while fading out changes #652 4 years ago
nick black 700d59dbad
yield demo: don't stain menu 4 years ago
nick black 71f6b7b02e
USAGE: pixel -> ncpixel 4 years ago
nick black 465f4694b8
rename pixel -> ncpixel 4 years ago
nick black 9f97b7b969
demo HUD: unify blur 4 years ago
nick black 77362a50f4
yield demo looks hot, hot, hot! 4 years ago
nick black fb13b148e9
add Pixel API 4 years ago
nick black 2c417ddb0c
yield demo: punch up with polyfills 4 years ago
nick black cb521e3de7
allglyph: always have room for the legend 4 years ago
nick black 633ef1f76c
add beginnings of yield demo 4 years ago
nick black 787e66a4c8
fallin': use NCBLIT_2x2 4 years ago
nick black 050b44628a
punch up luigi and purpdrank with NCBLIT_2x2 4 years ago
nick black b172d2b97e
NCVISUAL_OPTION_MAYDEGRADE -> NCVISUAL_OPTION_NODEGRADE, doc 'em 4 years ago
nick black cd2cc6f340
allglyph: add a counter showing the current glyph 4 years ago
nick black 9a0f0c66fe
ncblit: accept an ncvisual_options #680 4 years ago
nick black 358c9a5c73
normal: grab a square region to avoid flickering #678 4 years ago
nick black 5a1b1146d3
jungle demo: eliminate plot bleedthrough 4 years ago
nick black b72a386aa3
ncplane_dup(): adjust for marginalia #679 4 years ago
nick black e268301a42
demo: reset standard plane base char for each demo #675 4 years ago
nick black deb3c8bfcb
outro: kill rendering turds #675 4 years ago
nick black e1d34c4f43
ncplane_highgradient: only pass a single channel #676 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 1b0a4cb41a normal demo: fill in all lines 4 years ago
nick black a8beaf8e56
notcurses-view: switch between blitters with 0--8 #671 4 years ago
nick black 6d5e027be9
notcurses-demo: compactify usage message #669 4 years ago
nick black b65437a53f
O(1) plane bondage #670
Make ncplane_reparent() O(1).
Make ncplane_delete() O(1)
O(1) link severance for planes bound to deleted plane.
Allglyph demo requires UTF8.
4 years ago
nick black 1c05994a05
normal: plug memory leaks on exit paths #624 4 years ago
nick black 7d41d30043
allglyphs: colorize 4 years ago
nick black 8c8d862d23
allglyph: only render at end of line 4 years ago
nick black c55e4bb7bf
xray: allow video to show through (blend bg) 4 years ago
nick black 35bda058b0
uniblock demo: simplify, maaaaaaaan 4 years ago
nick black 5ff84cb9dd
add 'a'llglyphs demo #668 4 years ago
nick black 6cadea3138
outro: keep riser on top 4 years ago
nick black 343b4d144e
demo: purge use_oiio/use_nomm 4 years ago
nick black 4f5c8ef3d7 eagle/outro support for non-multimedia builds 4 years ago
nick black 3ff083b73f Fade API: move control of delays into callback 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 10b134b596
outro: render the first frame of samoa along with changes #652 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 b80ac3d241
demo: move HUD/about to top of screen 4 years ago
nick black 9675ed251e
eagle demo: work with ascii mode #634 4 years ago
nick black cce9384ab8
ncmetric: adapt PREFIXFMT to multibyte #630 4 years ago
nick black 4e9f46e063
Correct scaling in qrcode_rows() 4 years ago
nick black e682b4fae8
qrcode: only render sufficiently small codes #629 4 years ago
nick black f425944bba
FreeBSD: move back to getrandom(); read_random() is kernelspace 4 years ago
nick black 99bd3fd597
recenter post-rotation in normal demo #617 4 years ago
nick black e5b1c2cdea
view/demo/tetris: NCOPTION_INHIBIT_SETLOCALE 4 years ago
nick black 390dc208ba freebsd: use read_random() 4 years ago
nick black e80ac4ddb9
normal demo: work with odd number of columns :/ 4 years ago
nick black bad0ea9127
normal demo: reset underlying plane 4 years ago
nick black d37a3934d1
normal-demo: get a nice scroll-opening 4 years ago
nick black 1337091c46
normal demo: get it mostly working 4 years ago
nick black 8ec5388448
normal demo: use demodelay 4 years ago
nick black 84c51d9bde
perfect exponential plots #606
Previously, we had the first interval top out at 1.0. This made
clean mathematical sense, but it meant that we wasted the lowest
|states - 1| representations. We now top out at ibase**(states - 1).
The very bottom representation tops out at 1, meaning that any data
is always distinguishable from no data. We no longer explicitly
print spaces (aka the zeroth state for each glyph clade), so that
we can exhibit more transparency. Properly account for miny at
all times. Slots in an exponential plot are now exponential
throughout; before, it was exponential across rows, and linear
within a row.
4 years ago
nick black 31cc26b893
xray demo: much simplification 4 years ago
nick black 289b018612 view-demo: cleanup, opaque 4 years ago
nick black e36a42bb24 xray demo: adapt to new streaming API 4 years ago
nick black 78e30831dd move timespec 4 years ago
nick black 2588baa7db
reel: correct wchar_t check for error on 32-bit 4 years ago
nick black 7d87f8aa20
demo: printf changes for 32-bit archs 4 years ago
nick black 1c2f92b3bc
ncmetric: replace u with µ, define *COLUMNS #540 4 years ago
nick black 5081ed048c
do an OIIO rotate() #559 4 years ago
nick black 4d23b6c15e
normal: reenable ncvisual_from_plane() 4 years ago
nick black b796668044
qrcode: center qrcode 4 years ago
nick black 18ba212709
qrcode demo: use arc4rand() on freebsd #601 4 years ago
Nick Black f602c440a6
ncvisual_rotate() for arbitrary radians (#600)
* normal/visual: need dup stdplane for rotate
* add ncplane_center(), unit tests
* ncplane_center_abs(): add, unit tests
* ncvisual_bounding_box() for #599
* ncvisual_rotate(): works via bounding box #599
* normal demo: comment out broken section
* rotate: resize underlying plane as needed #599
* ncvisual_rotate: support negative rads #599
4 years ago
nick black 9a80750316
notcurses_canopen: split into images/videos #598 4 years ago
nick black 219f6bdd27
ncvisual_rotate: move to arbitrary rads 4 years ago
nick black 0f5333f103
subtle ncplane bugfixes
ncplane_dup(): properly set target plane attributes/channels
ncplane_move_below_unsafe(): speedup, at most one traversal
ncplane_rgba(): accept null glyph
ncvisual_from_plane(): dup the plane, own it in ncvisual
normal: spin the visual
4 years ago
nick black 37454602f6
whiteout, uniblocks: explicitly skip if not UTF8 4 years ago
nick black 7dae248a41 box demo: work in ASCII encoding #325 4 years ago
nick black ea3ca7d503
demo: only move fpsgraph when grabbed #595 4 years ago
nick black f13478a72b remove age-old forgotten HUD hack #594 4 years ago
nick black 64d4981d36 scrub stdplane on demo loop #593 4 years ago
nick black 3e1c9c05d4
demo: improve fpsplot colors 4 years ago
nick black 8612461618 demo: move fpsplot with the mouse, hot holy shit #470 4 years ago
nick black 7e0a6cb581 demo: hud always exists, just hidden #591 4 years ago
nick black a440382fb5 demo: use NCPLOT_OPTIONS_EXPOENTIALD #470 4 years ago
nick black 2cfa3bb3dc demo: hide fps plot by default, mention in help #470 4 years ago
nick black 1e0039aee2 demo: add menu option to toggle FPS plot #470 4 years ago
nick black cd8726e8ac demo-plot: use a translucent plot #470 4 years ago
nick black 7baca9615f demo: add fpsgraph along the bottom, AWESOME #470 4 years ago
nick black fbed12cd80
ncreel_options: add flag field #590 4 years ago
nick black eaaa36f0c8
ncreader: ncplane as first arg #590 4 years ago
nick black fec423264f
selector: undo switch to notcurses from ncplane 4 years ago
nick black df90cb48b6
qrcode demo: compile with USE_QRCODEGEN=off 4 years ago
nick black aec982bca5
demo: use pipes, not eventfd, for input #578
FreeBSD doesn't support eventfd, and this isn't at all
performance-critical code, so just downgrade to pipe2()
across the board. I've verified that FreeBSD *does* have
pipe2(), so we should be good there.
4 years ago
nick black d2c968b948
notcurses_init(): interpret NULL as /dev/tty #571 4 years ago
nick black 52428b9f27
release.sh: search for OLDVERSION following sed 4 years ago
nick black 5d3d99c602
normal: don't produce unusable colors 4 years ago
nick black 94e42809fe
notcurses_resize(): kill unnecessary memset() 4 years ago
nick black fa865d1971
luigi: don't free garbage on error path 4 years ago
nick black 3384fad429
sliding demo: don't free garbage on error path 4 years ago
nick black a8b3780c21
demo: remove some unused vars 4 years ago
nick black ee196c299d
hud: plug memory leak on error path 4 years ago
nick black c958883a0e
fallin': plug memory leaks on error paths 4 years ago
nick black 3e8cbca9e6
plug memory leak in whiteout demo 4 years ago
nick black 39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 4 years ago
nick black 84107c547d
view: support -m argument for margins #551 5 years ago
nick black 6d500e8511
demo: for now, disable videos for OIIO 5 years ago
nick black 86b526bdcb
demo: reset stats following initialization #522 5 years ago
nick black 317aa5baef
demo: grey out unsupported demos, but list them #521 5 years ago
nick black 2ec797c70c
notcurses-demo: build all demos regardless of build type #521 5 years ago
nick black fdf8c4544e
fallin: move falling planes to top of z-axis 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 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 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
5 years ago
nick black 6c131f4860
fallin': erase standard plane post-copy for non-FFmpeg builds #505 5 years ago
nick black bcbd857706
demo: remove all uses of PATH_MAX #519 5 years ago