Commit Graph

370 Commits (ac652ac7f30938aa31f4eccfd1576e2b863fb56b)

Author SHA1 Message Date
nick black 2c98639005
python: don't guard with DFSG_BUILD; we use USE_PYTHON 4 years ago
Nick Black 9a075ae5d0
Support image decoding with OpenImageIO #453 (#534)
* fedora: dep on OpenImageIO, and use it
* fedora: dep on libqrcodegen-devel
* fedora: BuildRequires OpenEXR-devel
* tight check on USE_MULTIMEDIA
* CMake: enable notcurses-view for ffmpeg OR oiio
* notcurses-view: don't reach into libav
* oiio: ncvisual_render() #453
* oiio: need our own properly-offset ncvisual_plane()
* `visual` poc: accept optional command line argument
* oiio: work for 3-channel images #453
* oiio: destroy ncvisual's plane if we own it #453
* notcurses_visual.3: s/FFmpeg/multimedia/g
4 years ago
nick black fe37d49c5d set soname on python module #530 4 years ago
nick black ecbd6ad54e
Get Python in-tree build working again 4 years ago
nick black 6ffbef3d74 cmake: openimageio discovery #453 4 years ago
nick black d81b3ef0cf start factoring out FFMpeg for OIIO plug #453 4 years ago
Nick Black 0e73b9d3d5
Floating-point ncplot, genericize ncplot (#531)
* compile ncplot as c++ generic #446
* add floating-point plots #446
4 years ago
nick black 04f90fa1ea
ncsubproc: launch processes, make pipes
link to LWN article in History section of README.md.
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 3a7e4139c4
Install Markdown files as documentation #512 4 years ago
nick black 1dad2c6b50
v1.3.2 4 years ago
nick black e00ef4aca9
prep for 1.3.1 4 years ago
nick black f644ed9e54
debian: notcursesI.osp #498 4 years ago
nick black 5880083022 CMake: don't install data/ .xcf files #498 4 years ago
nick black b4cf4f3a0d
CMake: supply -fkeep-inline-functions for notcurses 4 years ago
nick black 86e225dc4c prep for 1.3.0 #460 4 years ago
nick black 24a9343b0b
prep for 1.2.9 4 years ago
nick black 16fa94eb59
CMake: install python with USE_PYTHON #462 4 years ago
nick black 69b716f7f8 prep for 1.2.8 4 years ago
Nick Black 516b561d2a cmake: unify header installation #465 4 years ago
nick black 50b82648fc
CMakeLists.txt: note nckeys.h as PUBLIC_HEADER 4 years ago
nick black 89809d5b59 prep for 1.2.7 4 years ago
nick black 6d366380ed prep for 1.2.6 4 years ago
nick black cb7e844db1 unify notcurses-input+notcurses-keyplot #455 4 years ago
nick black c717673458 drop keyplot man page/cmake #455 4 years ago
Nick Black d66549d362
Prep for Fedora packaging (#452)
* jungle demo should be available outside of DFSG builds
* libav: blitters don't need FFMpeg
* CMake: threads independent of ffmpeg
* CMake: add USE_TESTS option to disable tests #450
* tetris: work without ffmpeg
* fedora: flesh out specfile #328
* menu poc: don't use ffmpeg at all
* compile PoCs with binary/include
* multiselect PoC: work without ffmpeg
4 years ago
nick black fffc1ee850
Extract colloquy; it's gone to its new home #320 4 years ago
nick black df3dc6b5bc
prep for 1.2.5 4 years ago
nick black dfd54f540a keyplot: ticker thead so we needn't provide input 4 years ago
nick black 24ac23e405 rust: don't use --locked 4 years ago
nick black 5e27499194 add notcurses-keyplot #430 4 years ago
nick black 7c6b655483 v1.2.4 4 years ago
Nick Black 52bdbc6724
ncplane_translate() accept NULL dest as standard plane #408 (#411)
* tetris man page
* tetris basic skeleton
* tetris: Ticker()
* README: fix up some obsolete terminology
* tetris: draw the game board
* tetris: add NewPiece()
* tetris: draw tetriminos
* tetris: check for stuck piece, move it down
* Accept NULL dst in ncplane_translate() #408
4 years ago
nick black 78fadafb8f notcurses++ needs PUBLIC notcurses linkage 4 years ago
Marek Habersack 3e78dd7d1f [C++] API sync
New classes:

   * MultiSelector (`ncmultiselector_*`)

Added:

   * Direct: cursor_{enable,disable}
   * Plane: high_gradient (`ncplane_highgradient`)
   * Plane: high_gradient_sized (`ncplane_highgradient_sized`)
   * Plane: rotate_cw (`ncplane_rotate_cw`)
   * Plane: rotate_ccw (`ncplane_rotate_ccw`)

Updated:

   * NotCurses: added all the margin initializers to the default options
4 years ago
nick black ac683e21d2
v1.2.3 4 years ago
nick black e72111ac8b
v1.2.2 4 years ago
nick black 3483f019e3
NOTCURSES_SHARE: purely a C thing now #363 4 years ago
nick black 93c8860c13
Install to CMAKE_INSTALL_DATADIR, though #363 4 years ago
nick black e070c73f63
Allow NOTCURSES_SHARE to be specified #363 4 years ago
nick black bd015434e6
CMake: provide --locked --release 4 years ago
nick black 8e2e1d26b8
python: final fix for arch packaging #357 4 years ago
nick black adfbedf3ef
python: prep to install with DESTDIR 4 years ago
nick black 447ca1f3b9
unlock the python build secret #357 4 years ago
nick black 33b8ad0518
Don't build doxygen by default 4 years ago
nick black 1c05fdb013
python: --single-version-externally-managed 4 years ago
nick black 83e73fb429
install notcurses-pydemo #359 4 years ago
Nick Black e5d6685c92
No locks, more lox #290 (#358)
* README/CMake: only require doctest 2.3.5

* man pages: remove talk of locking #290

* Remove locking from notcurses core #290

* Purge locking from notcurses core #290
4 years ago
nick black 887d4f1f79
switch subtitles to HIGHCONTRAST, big improvement! =D 4 years ago
nick black 4bea8048d4
CMake/Rust: hack in the full rust build #101 4 years ago
nick black b2210f0cf9
Rust: build libnotcurses-sys from CMake #320 4 years ago
Nick Black e6637e81cc
Prep for serious rusting #101 (#354)
* CMake: add USE_PANDOC, USE_DOXYGEN options #101
* README: mention rust
* start integrating rust into build #101
* CMake: add USE_NETWORK option for cargo
* Debian: build-dep on doxygen
* rust: colloquy checks in Cargo.lock
* extract NCKEY defines into their own include
* colloquy: use clap to parse CLI args
* CMake: unify option namespace
* Python: update include path
* Rust: fix up --frozen workings for -DUSE_NETWORK=off
* CMake: abstract out colloquy a little
* Sync direct.hh to the New Way
4 years ago
nick black 2dc103f447 update primary versions to 1.2.1 for new cycle 4 years ago
nick black 2b08c53075 prep for 1.2.0 4 years ago
nick black 39d5063518
Yank out our copy of doctest, use system copy 4 years ago
Marek Habersack fc264677f5 Sync C++ wrapper with the latest API changes
New classes:

 * Direct (`ncdirect_*`)
 * Menu (`ncmenu_*`)
 * Selector (`ncselector_*`)

Updates:

 * Plane: added copy constructors (mapped to `ncplane_dup`)
 * Plane: added `perimeter` (`ncplane_perimeter`)
 * Plane: added `polyfill` (`ncplane_polyfill`)
 * Plane: added `blit_bgrx` (`ncblit_bgrx`)
 * Plane: added `blit_rgba` (`ncblit_rgba`)
4 years ago
nick black 887726b0d9 Debian: move all symbols/history to 1.1.8 4 years ago
nick black cda600a4aa :/ 4 years ago
nick black b8adfe1a39 Debian/python: make module runnable #335 4 years ago
nick black acbff55994 so deeply sick of python packaging woes #335 4 years ago
nick black 1626c9f9ab
cmake: use pkg-config static results for static lib #330 4 years ago
nick black 53df21b977
python: run sdist in build process 4 years ago
nick black a05e54ca7e CMake: remove deb logic #326 4 years ago
nick black 43e6d6577d
debian: python woes 4 years ago
nick black 3aa969f2a7 CMake: build static library #330 4 years ago
nick black c82cb66fab
CMake: install notcurses-tester 4 years ago
nick black c690e2db27 cmake: fix up avutil includes 4 years ago
nick black e6c024216a
Debian: drop versioned dep on g++ 4 years ago
nick black 8256b2331e
CMake: explicitly pull in avutil 4 years ago
nick black 4c334aaf2b
CMake: explicitly link in avcodec 4 years ago
nick black 74775b97ec
enmetric->ncmetric #324 4 years ago
nick black c519c95fff
panelreel -> ncreel #324 4 years ago
nick black b284901d18
prep for 1.1.6 4 years ago
nick black 116453bfec notcurses-demo(1): add note about DFSG build #316 4 years ago
nick black ab3a91c5d0
python for ncdirect 4 years ago
nick black 0271ba5abf python: fix debuild when no notcurses is present 4 years ago
nick black aea6cdab08
CMake: isometrize data for testing 4 years ago
nick black 31a07dab33
menu: extend across width of screen #179 4 years ago
nick black 60c19017f0
v1.1.4 4 years ago
nick black 20e4c106a2
FreeBSD build fixen #304 4 years ago
nick black 99b79cbf4f
ncselector_create: fix base_egc fuckup #302 4 years ago
nick black 26791bd994 CMake: correct ENV syntax 4 years ago
nick black ca628e55bb python: do all work in build directory 4 years ago
nick black 7bb864b999
CMake: check for DEB_BUILD_ARCH 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 c9bfc54381
prep for 1.1.2 4 years ago
nick black c6397f20eb
Python: require BUILD_PYTHON for now 4 years ago
nick black 7bea85bb79
Python: only do deb stuff when DEB_VENDOR is defined 4 years ago
nick black fad46d8656
CMake: invoke python build_ext in build step #298 4 years ago
nick black a2f061a91d Python: build debian packages successfully #298
With this, we can finally build Python Debian packages. Of course,
it wrecks our standard Python installation capabilities. I'll need
fix that. I'm talking on #debian-python IRC now.
4 years ago
nick black c1c25afcc7 Python: fix up debug package #298 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 eae259f3bc
CMake: include CTest to get BUILD_ENABLE 4 years ago
nick black ac791c781d
1.1.1, update version numbers 4 years ago
Marek Habersack 75a90461dd Add C++ bindings 5 years ago
nick black 2c2542a553 docs/rust/python: update versions to 1.1.0 5 years ago
nick black adf808110d
convert remaining man1 pages to pandoc 5 years ago
nick black d9b721971a
merge in doc changes 5 years ago
nick black 3c7b9777e4
throw analytics into man pages 5 years ago
nick black d057473c4c
notcurses-demo.1: migrate to pandoc 5 years ago
nick black 5a555ff917
v1.0.2 5 years ago
nick black 1be4025289
CMake: true fix for #208, use NOTCURSES_SHARE 5 years ago
nick black 7e40453199
v1.0.1 5 years ago
nick black 202115d826 Add python3-all-dev build-dep 5 years ago
nick black fac377b2bc CMake: require python3 5 years ago
nick black a170e4334a
cmake: write install prefix #208 5 years ago
Nick Black f6975d11d5
Docs/API sweep for 1.0.0 #244 #249 (#250)
* sync up some docs #244
* sync README and man page
* notcurses_output() man page work
* pull attr/channels from output functions #244
* witherworm: clean up explicit moves #244
* still more man page work
* notcurses_lines, last of the man pages i think
* panelreel man page #244
* debian: ruby-ronn->pandoc
* debian: full multiarch compliance
* debian: symbols file
* pandoc: fix syntax for lexgrog
* fm6.mkv: strip audio
* pandoc: fix up apropos man syntax #249
* ncurses_lines man page
5 years ago
nick black 94f597a9bb ronn -> pandoc #245 5 years ago
nick black 390ca477bd
CMake: NAME_WLE requires CMake 3.14 5 years ago
nick black 6cfdeca95d
cmake: kill GLOB rule 5 years ago
nick black f2df310edb
v0.9.9 5 years ago
nick black 328f72444e
use out own doctest 5 years ago
nick black 46b1b8e622
notcurses_stats man page #213 5 years ago
nick black 8ebc63da4b
fix up cmake syntax 5 years ago
nick black 734708616b
html documentation 5 years ago
nick black f024cee3a1
unittests: support -p argument #218 5 years ago
Nick Black ce2a390b52
Out with googletest, in with doctest #202 (#231)
* introduce doctest over googletest #202
* call dtester in in targets
* doctest conversion #202
* channel.cpp -> doctest #202
* egcpool tests -> doctest #202
* input tests to doctester
* zaxis -> doctest
* drone: always define LANG
* libav to doctest #202
* panelreel tests to doctest #202
* spec that a C++17 compiler is now required for doctest #202
* enmetric tests -> doctest #202
* fade tests -> doctest #202
* notcurses test case -> doctest #202
* last conversion to doctest #202
* finish move to doctest #202
* drone: set up make test
5 years ago
nick black 38cff7e54f
man pages #213 5 years ago
nick black 4ce774ba13
man pages: fix install #213 5 years ago
nick black 38ace7677f
build man pages properly #213 5 years ago
nick black cad8471d76
build man pages using ronn 5 years ago
nick black 8a8e297835
fix horrible cmake mistake ugh 5 years ago
nick black b2acb31c0b freebsd: get SIGWINCH/ppoll #196 5 years ago
nick black cf2712ec6d no-ffmpeg: don't try to define _view() 5 years ago
nick black 24350ed51e
get everybody read for 0.9.3 5 years ago
nick black cb2bf16a73 support building sans ffmpeg #153 5 years ago
nick black 1de8611e2f
move test data to data/, simplify install rule 5 years ago
Marek Habersack c819063d80 Install *.avi test files too 5 years ago
Nick Black 4278a53523
Dankamongmen/no prisoners damage (#198)
* notcurses: set up lastframe #189
* render: o(1) take no prisoners damage detection
* EAAAAAAAAAAGLES
* slight background on intro
* 0.9.2
5 years ago
nick black 7e9378cd01
v0.9.1 5 years ago
Nick Black 0e0925a84e
Planereel exploration app, panelreel logic fixes (#188)
* planereels tester #180
* suppress_banner in all tests
* tabletcb: start passing back tablet
* properly initialize fbbytes stat
* panelreel: logic fixes #178
* install all testing data
5 years ago
nick black 37ed8300cb
fix up man page destination path 5 years ago
nick black c4e4f921f3
changeover for 1.0.0 5 years ago
nick black 0f175e58d3
unidamage PoC #117 5 years ago
nick black 54eb41cf3a
panelreel-demo: done after demodelay * 5 #135 5 years ago
nick black 1821867e35
move outfp out of notcurses_options #130 5 years ago
nick black a72bf25907
install section 3 man page 5 years ago
nick black fa6394b021
PoCs need dep on local include 5 years ago
nick black 3a79cbf469
proof of concept support. sgr binary 5 years ago
nick black e1356a2183
install man pages 5 years ago
nick black 73dd2f7ad7
prep for 0.9.0-pre 5 years ago
nick black 7e5e6bc545
slider-demo: force more squarish appearance 5 years ago
nick black d09029f7f4
use -std=c11 not -std=gnu11 5 years ago
nick black 1ebfb2c9e3
enable -DFORTIFY_SOURCE=2 for all code 5 years ago
nick black c70bc7b2a4
slider-demo: work atop a background 5 years ago
nick black f6b70fd839
prep for 0.4.0 5 years ago
nick black 148a206c7e install all test data 5 years ago
nick black 999f33a2ee
0.3.0-pre 5 years ago
Nick Black 426f632300
Panelreels port #52 (#90)
Port of panelreels, unit tests, and panelreel-demo from outcurses #52.
Doesn't completely work yet, but is surprisingly close!
5 years ago
nick black 627be30e1c install test png 5 years ago
nick black fb37f8351f CMake: use proper LIBRARY_DIRS when linking notcurses.so #86 5 years ago
Nick Black a7d50b557d
ncplane_at_cursor (#76), CCCflag, nonblocking stdin (#78) (#84)
* put stdin into nonblocking mode, retry on short write to stdout #78
* wrap getc_blocking() around a poll #78
* get CCCflag from terminfo. stop clearing the screen in render/startup
* implement ncplane_at_cursor() #76
* ncplane_at_cursor() unit test for simples #76
* PlaneAtCursorComplex unit test #76
* PlaneAtCursorInsane() unit test #76
* nplane_at_cursor: return number of bytes, not just 0/-1
* uniblock-demo: add a bunch of pages from Unicode 12
* demo: make -d delay multiplier a float
* egcpool: check offset against poolsize in check_validity()
* notcurses_init(): set smkx/rmkx to NULL with pass_through_esc
* PlaneAtCursorAttrs unit test #76
* add ncplane_styles() accessor
5 years ago
nick black a037cdfe5a
add new notcurses-input binary #8 5 years ago
nick black 5f3a12bc63
pre-0.2.0 5 years ago
nick black c6da5d5e7a
v0.1.0 5 years ago
nick black 951c848ad9 minimum avformat version of 57 5 years ago
nick black 8dfd050ab7 add ncplane_destroy() #26 5 years ago
nick black f948904f7b libavutil linkage #61 5 years ago
nick black cf557ff500 ncurses-view #61 5 years ago
nick black f14ee490f2
CMake: visibility=hidden by default #56 5 years ago
nick black e64f7a22ff
v0.0.9 5 years ago
nick black 66b06e9d91 add libav 0.29+ to deps 5 years ago
nick black f20e8fde4b add notcurses_image_open() #23 5 years ago
nick black 6ee3de2b78
CMake: expose _XOPEN_SOURCE as PUBLIC 5 years ago
Nick Black b93bcebf0b
Extended grapheme clusters (#15)
Introduce egcpool for attached storage
Hook up style support
Switch entirely to UTF-8 char from wchar_t (#14)
Pull out next EGC in cell_load (#14)
5 years ago
Nick Black 7e92c8bb82
documentation and declarations (#13)
ncplane: flesh out API
ncplane: line and erase APIs
README.md: document differences from ncurses
notcurses_init(): print long term name
CMake: link librt into notcurses
cell: move functionality out to header
5 years ago
nick black 157b4bdc52 cmake: turn on -Wshadow 5 years ago
nick black 17bc714c4d
define cell struct 5 years ago
nick black b6ee41b355
link in tinfo, call setupterm() 5 years ago
nick black 70df86ba17
version string, notcurses_version() 5 years ago