Commit Graph

166 Commits (master)

Author SHA1 Message Date
nick black afeed4d075
drone: run ctest with --output-on-failure 3 years ago
nick black 42436dd1cb
[drone] use TERM=vt100 for debian, alpine, and fedora 3 years ago
nick black b339186f14 drone: update all builders 3 years ago
nick black d4e87b4a35 rename notcurses-direct-pydemo ncdirect-pydemo 3 years ago
nick black 053a74dc47 drone: send notcurses-direct-pydemo to /dev/null 3 years ago
nick black 7fb6f4a7db drone: move TERM export to top of stanzas 3 years ago
nick black a6a68e3779 drone: test python on fedora 3 years ago
nick black b012cfdb6a drone: let direct-pydemo play out... 3 years ago
nick black cef5e45be6
drone: use new debian unstable 2021-02-24a 3 years ago
nick black 6273a34fe5 emit term reset only on terms 3 years ago
nick black 85da24d3e6
drone: use 2021-02-12b debian builder 3 years ago
nick black 4327f95eb1
drone: use new alpine edge builder 2021-02-10a #1344 3 years ago
nick black 1a69044d8a fold blends into s bitfield 3 years ago
nick black d157a224da
drone: upgrade to new alpine, fedora builders 4 years ago
nick black 320ed68b30
drone: ctest -V 4 years ago
nick black 3a658dad3e
drone: update to new ubuntu builder 4 years ago
nick black 32bacf19e5
drone: use new unstable builder 4 years ago
nick black c3557dc56a
drone: use new ubuntu builder 4 years ago
nick black f78fadc356
drone: use es_ES on ubuntu for madlad decimal separator testing 4 years ago
nick black e1b1654d1e
NEWS: mention ncdirect image render split 4 years ago
nick black 0ceb129125
document kitty properties #1117 4 years ago
nick black 53d4dac427
drone: add ubuntu hirsute builder 4 years ago
nick black ded14ac190
drone: kick fedora hard in the ass 4 years ago
nick black 0a021fce1c
drone: debian unstable uses 2020-12-17a 4 years ago
nick black 2190b33421
drone: update to debian unstable 2020-12-16a builder, disable ubuntu #1220 4 years ago
nick black 8c5c9d8566
drone: update fedora builder to 2020-12-16a 4 years ago
joseLuís 04b10741d4 drone: build rust in debian and fedora #1220 4 years ago
joseLuís e778cc38e4 show rustc version in drone 4 years ago
Nick Black db77e19795
drone: alpine builder (#1217)
* drone: add alpine-edge builder #1216. ffmpeg, no qrcodegen, no pandoc
4 years ago
Nick Black 438e042cdf
Multipile resize support #1172 (#1190)
drone: use ctest -V
4 years ago
nick black be6362d74f
drone: use new builder 2020-11-26b 4 years ago
nick black 428a4ce861
drone: build from cffi/, not python/ 4 years ago
nick black dee1ec861d
drone: use ubuntu 2020-11-21a builder 4 years ago
nick black fb5148f098 drone: step up to fedora34 builder 4 years ago
nick black d0c63bcdf0 drone: build with two cpus per runner 4 years ago
nick black 05a8005b5d
drone: use 2020-11-17b debian autobuilder 4 years ago
joseLuís 9fe0363937 rust: improve testing
- add new alias `t_all` for running every test even if some fail.
- call it from `.drone.yml` to have more complete testing picture.
- add a new test for `notcurses_init` as the first test.
4 years ago
nick black ab7c92a2b3
ubuntu drone: run rust tests with TERM set #1119 4 years ago
nick black fe173210a3
drone: use new 2020-10-25a builders 4 years ago
nick black a31c29f278
drone: run ldconfig post-install 4 years ago
nick black da1b8d1d53
install version.h #1054 4 years ago
nick black 4360f3bec8
release: upload doc package to github #981 4 years ago
nick black 8228ba8204
drone: run notcurses-direct-pydemo 4 years ago
nick black 6ddf105746
uninline ncplane_new() so older binaries continue to link 4 years ago
nick black 364cf61004
drone: ubuntu builer 2020-09-22a 4 years ago
nick black dd4b97e06e
drone: use 2020-08-31a builders 4 years ago
nick black 026b94969d cffi heap allocations are zero-initialized #942 4 years ago
nick black 679e2d25f8
drone: build python as well as srcdest 4 years ago
nick black e9f0f36eef
drone: restrict rust to ubuntu for now #930 4 years ago
nick black 418ea3ea31
drone: use 2020-08-20a builders 4 years ago
nick black 88c765ba7e
drone: build rust in CI, run unit tests #930 4 years ago
nick black 7d2d7c7896
drone: build python in CI #930 4 years ago
nick black 248c49402e
drone: use new builders 4 years ago
nick black b5d93077f1
drone: revert to older fedora until new one's fixed 4 years ago
nick black a8b4c01210 brown v board of education comes for ubuntu 4 years ago
nick black 84631369d4 update to new drones 4 years ago
nick black cb189869ee debugging ubuntu CI 4 years ago
nick black dd0605939a
drone: add libunistring 4 years ago
nick black 1792f820e4
drone: shift ubuntu docker back to 2020-07-13a 4 years ago
nick black 1e39589c08
drone: update to 2020-07-13a builders 4 years ago
Nick Black 415d4b813f
Tight work on unit testing, controlling tty vs output fd (#758)
* Some things go to the FILE* we're provided. Some can only go to a controlling terminal. Check to see if the FILE we're given is a TTY. If not, open up /dev/tty #752.
* term_emit(): fflush() can return EAGAIN. Loop on it to eliminate a rare error on shutdown that particularly affected unit tests (where we start and shut down Notcurses many times in a row).
* sgr poc: check return value of setlocale()
* drone: run all unit tests
* CMake: add some tests using PoCs
* ncneofetch: print even small palettes
4 years ago
nick black b6aa91bf4c
drone: fix up exclude syntax 4 years ago
nick black 3a8b0150d3
move doctest --tce to drone.yaml 4 years ago
nick black 9d6b5b2872
drone: fucking yaml syntax 4 years ago
nick black dd2b36ce0a
drone: set TERM on debian 4 years ago
nick black 33667df40e
drone: set TERM for fedora 4 years ago
nick black 4a3d436e5b
drone: update builders 4 years ago
Nick Black 28431914a8
First go at ncplane_puttext() (#690)
Very simple take at ncplane_puttext(), a new function for linebroken text. Also some very basic unit tests. I doubt this works very well yet, but it handles the simplest cases #682. Added nclog(), internal function for logging. #520
4 years ago
nick black e879bf8f93
let outro demo run on no-multimedia builds 4 years ago
nick black 0766007a77
tester: kill off inhibit_alternate_screen #651 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 698f664bd8
drone: update to new builders 4 years ago
Nick Black 216495ce8a
Fedora rawhide docker build (#602)
* run a fedora build
* fedora: dnf -y install for now
* dnf install ncurses-devl
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 1a670ba443
drone: use newest builders 4 years ago
nick black 2c131c4c2d
drone: drop debian stuff 4 years ago
nick black 7a2d2a9659
drone: use ubuntu focal 2020-04-05a 4 years ago
nick black baa233634b
drone: stop building rust 4 years ago
nick black 74bbe73daf drone: argh 4 years ago
nick black 4430d9c068 drone: use new builders 4 years ago
nick black 716260831e drone: try building rust 4 years ago
Nick Black f9c54761f5
Basic mandelbrot for `n`ormal demo #145 (#424)
normal: working mandelbrot, very basic #145
4 years ago
nick black 7c76f26a16
drone: 2020-02-17a builders 4 years ago
nick black 08bef99244
Debian: remove comments from watch file 4 years ago
nick black d4fe929f63
drone: new focal builder 4 years ago
nick black 2b6b6f996a
drone: new builders 4 years ago
nick black 89a1e806bf
drone: new focal builder 2020-02-01a 4 years ago
nick black 83c50655ba
drone: turn focal back on 4 years ago
Nick Black da0283ac25
Selector widget #166, subtitles #95 (#301)
Get rid of annoying empty line in notcurses-view (and ncvisuals at offsets in general)
Implement most of the Selector widget. Need to add styling and scrolling still. #166
Reenable ubuntu focal build
Subtitles! We decode them, and display them in notcurses-view. If ncvisual_simple_streamer() is provided an extra ncplane, it will use it to display subtitles. #95
We now build Python by default, as things are working much better.
ncplane_set_base() now takes channel, attrword, and EGC, so you can usually avoid having to set up and release a cell. ncplane_set_base_cell() takes over duty from ncplane_set_base() for ease of conversion.
notcurses-demo and notcurses-view now both accept a 0 for delay multiplier, meaning 'go as fast as you possibly can'. Very small multipliers (e.g. 0.00001) no longer cause floating point exceptions.
fading routines no longer cause floating point exceptions on very small timescales.
4 years ago
Nick Black 16dfe05a93
Build and install Python wrappers #294 (#298)
* cmake: build python extension
* Python: remove obsolete clear_screen_start
* Debian: python3-cffi, not python-cffi
* Debian: add dep on python3-setuptools
* Python: build extension module from CMake #294
* Python: install python wrappers #294
* drone: disable focal for now
4 years ago
nick black 809caad8c0
drone: buster lacks necessary cmake 4 years ago
nick black b91029ee31
drone: run a build on stable 4 years ago
nick black 5b4e285798
cherry-pick drone update 4 years ago
Nick Black 3d612aebcb
ruins color cycling demo #253 (#287)
* palette_set: update pal256 damage map #230
* drone: use newest builders
* palette: send oc on exit for color reset #285
* palette_new: copy existing palette in #230
* Python: use checkRGB everywhere
* more palette unit testing
* add ncplane_set_*_palindex()
* render fg palindex #230
* palette index color is out of 1000
* jungle demo works #253
5 years ago
nick black aa79a86438 drone: new builders 5 years ago
nick black d6d1f752a2
drone: update to newest builders 5 years ago
nick black 1697afc6b9 drone: use new builder images 5 years ago
nick black e2745cd12f debian: no more dep on libgtest-dev 5 years ago
nick black 9739f010e0 debian: add build-dep on ruby-ronn 5 years ago