Commit Graph

74 Commits (4493ac3fa2bc54aa308150d08d2ea3a7b887f6e7)

Author SHA1 Message Date
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
5 years ago
nick black 809caad8c0
drone: buster lacks necessary cmake 5 years ago