nick black
2d7019c726
deal with possible endianness problems in bitmap tests #1627
2021-05-06 10:10:03 -04:00
nick black
6a2ed461df
deal with possible endianness problems in bitmap tests #1627
2021-05-06 10:09:20 -04:00
nick black
73fc4ea935
demo: change up the order a bit, moving zoo before outro
2021-05-05 05:47:33 -04:00
nick black
c61eafbbf4
[ncdirect] use '\v' for cursor down, not '\n'
...
With '\v' (vertical tab), we don't need force raw mode.
This saves us system calls, and makes the entire affair
more reliable (no race between setting up termios and
emitting '\n'; no chance for second tcsetattr to fail).
Thanks once more to @dnkl on #1625 .
2021-05-05 05:09:48 -04:00
nick black
36a2d00fb3
ncdirect: move down with raw-mode newlines
...
The cud capability to move the cursor down doesn't
scroll (and shouldn't be used on the last row). We
have no reliable knowledge of whether we're on the
last row or not, so instead switch to raw mode, emit
the newlines, and switch back to whatever mode we
were in. This method is due to @dnkl aka Daniel Eklöf,
a gentleman and scholar who absolutely knows his shit.
Closes #1625 .
2021-05-05 04:49:02 -04:00
nick black
96491e42df
tighten up state machine, only move to INVALIDATED from QUIESCENT #1631
2021-05-05 04:24:33 -04:00
nick black
d574dee3fe
kitty: fix mask in triplet_alpha1() #1631
2021-05-05 03:07:40 -04:00
nick black
1d06c5bd5a
invalidate sprixel following rebuild #1631
2021-05-05 02:44:12 -04:00
nick black
757d12b9ad
wipebitmap poc -- more tests
2021-05-05 02:44:12 -04:00
nick black
99675db255
wipebitmap PoC: test transparent cells atop bitmaps
2021-05-05 01:25:15 -04:00
nick black
d5e3624f30
[sixel] *really* correct wipe_color() assert #1630
2021-05-05 01:15:44 -04:00
nick black
e65f4f2e7c
sprite_rebuild: don't assert on missing auxvec in SPRIXCELL_ANNIHILATED_TRANS #1629
2021-05-05 01:06:52 -04:00
nick black
ad265fe530
[sixel] fix up assert to properly bound xoff #1629
2021-05-05 00:16:37 -04:00
nick black
05f5f70ee2
lift SPRIXEL_HIDE check out of spirxel_wipe()
2021-05-04 22:49:38 -04:00
nick black
e0a53be471
textplay: purge debugging cruft
2021-05-04 20:23:27 -04:00
nick black
578f8eb45c
bitmaps: cap to screen size, fix bitmap childplane tests #1603
2021-05-04 19:08:55 -04:00
nick black
e8f0ff0f30
NCVISUAL_OPTION_CHILDPLANE unit tests for bitmap path #1603
2021-05-04 19:08:55 -04:00
nick black
d144d606f7
implement NCVISUAL_OPTION_CHILDPLANE on cell path #1603
2021-05-04 19:08:55 -04:00
nick black
763a69ea41
unit tests for NCVISUAL_OPTION_CHILDPLANE #1603
2021-05-04 19:08:55 -04:00
nick black
c93f9371b3
[dirlines] throw in a newline at the end
2021-05-04 19:08:55 -04:00
nick black
d1ab898cfe
dirlines PoC: ncdirect_stop() on all error paths
2021-05-04 19:08:55 -04:00
nick black
4283fc038d
[textplay] work for arbitrary UTF-8 input
2021-05-04 18:00:26 -04:00
nick black
9a5b719627
ncvisual_set_data: handle incoming data equivalent to existing data
2021-05-03 02:48:44 -04:00
nick black
584f394071
[ncplayer] block SIGWINCH from the beginning #1624
2021-05-03 02:19:13 -04:00
nick black
af093d397c
[directmode] don't leak sprixel after printing
2021-05-03 02:05:46 -04:00
nick black
172b9adfab
kitty graphics nonce space is 24 bits only #1578
2021-05-03 01:46:52 -04:00
nick black
a19e6a52de
Use different kitty nonces for different runs
...
If we always start with kitty graphics id 1, successive
runs of ncplayer -bpixel -k will erase any previously-
printed graphics. Initialize it with random() in
sprite_init(). Break graphics erasure out from sprite_init()
into new interface sprite_clear_all(), defined only for kitty.
The latter is now guarded by NCOPTION_NO_CLEAR_BITMAPS.
Closes #1578 .
2021-05-03 01:42:31 -04:00
nick black
a2b5a6dc03
[xray] tighten cleanup a bit
2021-05-03 01:13:31 -04:00
nick black
87f5952ace
restore av_frame_free()
2021-05-03 00:32:25 -04:00
nick black
95f8023d04
drop stdio.h from visual-details.h
2021-05-03 00:32:25 -04:00
nick black
0f018c2fc4
[ffmpeg] don't double-free
2021-05-03 00:32:25 -04:00
nick black
15fa0345bd
[ffmpeg] eliminate the despised oframe #1594
2021-05-03 00:32:25 -04:00
nick black
75d0549250
[intro] use a plane rather than ncvisual_resize()
2021-05-03 00:32:25 -04:00
nick black
dcef593670
[ffmpeg] properly seed following rotation #1594
2021-05-03 00:32:25 -04:00
nick black
3dd8f24937
[sixel] must use P2=1 if we added transparent rows #1560
2021-05-02 20:48:11 -04:00
nick black
629a16ca69
bounce onwards, with scaling #1560
2021-05-02 20:20:05 -04:00
nick black
c02467bb84
direct: bounce, bounce, bounce somewhere else #1560
2021-05-02 20:20:05 -04:00
nick black
f19368c61f
oiio: fix header
2021-05-02 20:20:05 -04:00
nick black
297617a12e
better color on demo postchecks
2021-05-02 20:20:05 -04:00
nick black
2375f48789
ncvisual_blit: chop out leny/lenx args for now #1560
2021-05-02 20:20:05 -04:00
nick black
252608b0cc
write_sixel: write output geometry to sixel escape #1560
2021-05-02 20:20:05 -04:00
nick black
6627c9c3d3
direct: adapt pixel blitting to the New Way #1560
2021-05-02 20:20:05 -04:00
nick black
707d3634eb
sprixel_load: guard against bad args #1560
2021-05-02 20:20:05 -04:00
nick black
2e444a7a23
bitmap unit tests: adapt to proper sixel scaling #1560
2021-05-02 20:20:05 -04:00
nick black
36c2eef914
render_pixel: use output geometry where applicable #1560
2021-05-02 20:20:05 -04:00
nick black
00782a0ee7
sixel: use output geometry #1560
2021-05-02 20:20:05 -04:00
nick black
52828cff07
plane_blit_sprixel: eliminate unnecessary length checks #1560
2021-05-02 20:20:05 -04:00
nick black
16d54497fa
bitmap unit tests: exercise resize to 1,1 #1594
2021-05-02 20:20:05 -04:00
nick black
5f51e15d7c
sprixel_load: sanity-check pixel geometry #1560
2021-05-02 20:20:05 -04:00
nick black
fedcd94502
separate output from scaled geometry #1560
2021-05-02 20:20:05 -04:00