Commit Graph

280 Commits (df8213283f5bf15c9a9421c87e6fca7821c243df)

Author SHA1 Message Date
nick black 6a22040584
v1.4.0 4 years ago
nick black 76d29ac4cc
Export notcurses_LIBRARIES in CMake 4 years ago
nick black 261cfadf40
link math libraries into notcurses-demo #589 4 years ago
nick black d09f7c7899
CMake: check for qrcodegen/qrcodegen.h #572 4 years ago
nick black 20d0048838
CMake improvements/cleanup #565
Rather than inspecting CMAKE_BUILD_TYPE manually and setting
DEBUG_OPTIONS based off the results, set CMAKE_{C/CXX}_FLAGS_DEBUG,
and allow that to be picked up by CMake #565. Remove repeated -W
flags that were all over the place, making them global compiler
flags. Remove repeated FORTIFY=2 definition that was all over the
place, making it a global compiler definition. Remove all uses of
${DEBUG_FLAGS}. Also, since CMake doesn't define a CMAKE_BUILD_TYPE
by default, instead just setting neither debugging nor optimization
flags, in what seems a pretty fucking boneheaded move, set it by
default to RelWithDebInfo. ugh. Explicitly disuse unused PoC variables.
4 years ago
Marek Habersack e23d5baea4 [C++] Sync API changes
Added:

  * class FDPlane (`ncfdplane*`)
  * class Subproc (`ncsubproc*`)
  * NotCurses: get_inputready_fd (`notcurses_inputready_fd`)
  * Plane: qrcode (`ncplane_qrcode`)
  * class PlotBase: templated base class for Plot variations
  * class PlotU: `uint64_t` instantiation of PlotBase (aliased to previous
    `Plot` class for source compatibility), `ncuplot*`
  * class PlotD: `double` instantiation of PlotBase, `ncdplot*`
4 years ago
nick black 2f904449a7
drop -fkeep-inline-functions #543 4 years ago
nick black d4f71405d2
release-doc: remove unnecessary directive 4 years ago
nick black 05753bd91a
v1.3.3 4 years ago
nick black 7d1e3c77c8 oiio: image scaling #535, subimages for video #536 4 years ago
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