Commit Graph

3223 Commits

Author SHA1 Message Date
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