Commit Graph

453 Commits

Author SHA1 Message Date
nick black
0657267274
v1.5.1 2020-06-14 17:17:49 -04:00
nick black
7fc38d8fdd
v1.5.0 2020-06-08 06:05:17 -04:00
nick black
3bc9a4cfa2
v1.4.5 2020-06-05 06:09:17 -04:00
nick black
84ae45ef39
remove all libsixel crap #200 2020-06-05 04:19:56 -04:00
nick black
354ece5826
v1.4.4.1 2020-06-01 16:18:56 -04:00
nick black
230f3af8e1
v1.4.4 2020-06-01 15:32:23 -04:00
nick black
89ffb6658e
CMake: improvements to testing usability
Replace USE_TESTS with BUILD_TESTING variable already exported by CTest.
Use the CMake 3.17 CMAKE_CTEST_ARGUMENTS to pass "-V" to ctest. #651
2020-05-29 02:47:29 -04:00
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.
2020-05-28 21:16:58 -04:00
Nick Black
478ebadd64 Revert "Change DSO versioning scheme"
This reverts commit 51205551f5.
2020-05-28 17:31:22 -04:00
Marek Habersack
51205551f5 Change DSO versioning scheme
This commit introduces the same shared library versioning scheme as used
by the SDL library.  The advantage is that different versions of
notcurses can be installed alongside each other (which is not an
unlikely scenario, as SDL itself certifies) and that, if the versioning
protocol is followed, any change to ABI will produce a DSO whose name
will not break any applications linked against any previous version.
2020-05-28 15:15:53 -04:00
nick black
8971bda0c2 ncpp: stop() resets _instance, add unit test #538 2020-05-24 03:34:46 -04:00
Marek Habersack
9ca8d9c9c6 Correctly cast ncpp::Plane to ncplane*
Fixes: https://github.com/dankamongmen/notcurses/issues/616

SIGSEGV was caused by an invalid cast.

Short explanation: PEBKAC

Long explanation: `Selector.hh`, `Plot.hh` and `MultiSelector.hh` did
not include `Plane.hh`, they merely declared `class Plane;` because
inclusion of `Plane.hh` would cause circular dependencies to appear and
the compiler would be unhappy.  On top of that, yours truly wrenched the
compiler's hands and caused it to believe that a pointer to `Plane` is
really a pointer to `ncplane*` which was quite a silly thing to do as
the compiler, not having included `Plane.hh` and thus not knowing full
definition of the type, wasn't able to look up the type cast operator in
`Plane`.

Don't abuse `reinterpret_cast`, kids!
2020-05-23 20:26:13 -04:00
nick black
c08c9b7f7f
v1.4.3 2020-05-22 09:18:39 -04:00
nick black
fc998510a0
CMake: only install static libs if built #625 2020-05-21 23:51:10 -04:00
nick black
00d63c0b69
add USE_STATIC option to CMake #625 2020-05-21 23:46:25 -04:00
nick black
7af027b895
ncpp unit tests: check get_instance exception #538 2020-05-20 18:36:25 -04:00
nick black
07e894c40c
v1.4.2.4 2020-05-20 15:38:23 -04:00
nick black
c3bc4bb7f2
CMake: first stab at llvm-cov #620 2020-05-19 23:12:27 -04:00
nick black
32d3ae91c8
v1.4.2.3 2020-05-17 09:01:53 -04:00
nick black
e132c6bb24
v1.4.2.2 2020-05-17 08:11:48 -04:00
nick black
49fb03655e
v1.4.2.1 2020-05-17 07:59:04 -04:00
nick black
38e67abd9d
v1.4.2 2020-05-17 07:29:10 -04:00
nick black
8b5b44cf36
v1.4.1 2020-05-10 22:21:48 -04:00
nick black
6a22040584
v1.4.0 2020-05-10 21:36:48 -04:00
nick black
76d29ac4cc
Export notcurses_LIBRARIES in CMake 2020-05-09 05:51:00 -04:00
nick black
261cfadf40
link math libraries into notcurses-demo #589 2020-05-09 03:47:56 -04:00
nick black
d09f7c7899
CMake: check for qrcodegen/qrcodegen.h #572 2020-05-07 17:14:45 -04:00
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.
2020-05-06 05:24:23 -04:00
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*`
2020-05-04 05:39:01 -04:00
nick black
2f904449a7
drop -fkeep-inline-functions #543 2020-04-27 03:24:37 -04:00
nick black
d4f71405d2
release-doc: remove unnecessary directive 2020-04-26 22:46:43 -04:00
nick black
05753bd91a
v1.3.3 2020-04-26 21:25:23 -04:00
nick black
7d1e3c77c8 oiio: image scaling #535, subimages for video #536 2020-04-26 18:33:52 -04:00
nick black
2c98639005
python: don't guard with DFSG_BUILD; we use USE_PYTHON 2020-04-25 18:06:02 -04:00
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
2020-04-25 15:52:23 -04:00
nick black
fe37d49c5d set soname on python module #530 2020-04-24 15:09:54 -04:00
nick black
ecbd6ad54e
Get Python in-tree build working again 2020-04-24 05:19:25 -04:00
nick black
6ffbef3d74 cmake: openimageio discovery #453 2020-04-24 04:17:56 -04:00
nick black
d81b3ef0cf start factoring out FFMpeg for OIIO plug #453 2020-04-24 04:17:56 -04:00
Nick Black
0e73b9d3d5
Floating-point ncplot, genericize ncplot (#531)
* compile ncplot as c++ generic #446
* add floating-point plots #446
2020-04-23 03:52:07 -04:00
nick black
04f90fa1ea
ncsubproc: launch processes, make pipes
link to LWN article in History section of README.md.
2020-04-21 03:33:04 -04:00
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
2020-04-20 23:26:41 -04:00
nick black
3a7e4139c4
Install Markdown files as documentation #512 2020-04-19 17:18:10 -04:00
nick black
1dad2c6b50
v1.3.2 2020-04-19 02:24:03 -04:00
nick black
e00ef4aca9
prep for 1.3.1 2020-04-18 00:35:15 -04:00
nick black
f644ed9e54
debian: notcursesI.osp #498 2020-04-17 21:32:07 -04:00
nick black
5880083022 CMake: don't install data/ .xcf files #498 2020-04-17 21:14:12 -04:00
nick black
b4cf4f3a0d
CMake: supply -fkeep-inline-functions for notcurses 2020-04-12 02:01:56 -04:00
nick black
86e225dc4c prep for 1.3.0 #460 2020-04-11 22:00:34 -04:00
nick black
24a9343b0b
prep for 1.2.9 2020-04-11 12:39:54 -04:00
nick black
16fa94eb59
CMake: install python with USE_PYTHON #462 2020-04-10 22:42:35 -04:00
nick black
69b716f7f8 prep for 1.2.8 2020-04-10 16:19:41 -04:00
Nick Black
516b561d2a cmake: unify header installation #465 2020-04-10 16:00:40 -04:00
nick black
50b82648fc
CMakeLists.txt: note nckeys.h as PUBLIC_HEADER 2020-04-10 14:12:35 -04:00
nick black
89809d5b59 prep for 1.2.7 2020-04-09 20:21:33 -04:00
nick black
6d366380ed prep for 1.2.6 2020-04-08 10:10:47 -04:00
nick black
cb7e844db1 unify notcurses-input+notcurses-keyplot #455 2020-04-08 09:39:10 -04:00
nick black
c717673458 drop keyplot man page/cmake #455 2020-04-08 09:39:10 -04:00
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
2020-04-08 02:12:46 -04:00
nick black
fffc1ee850
Extract colloquy; it's gone to its new home #320 2020-04-08 00:12:35 -04:00
nick black
df3dc6b5bc
prep for 1.2.5 2020-04-04 18:49:16 -04:00
nick black
dfd54f540a keyplot: ticker thead so we needn't provide input 2020-04-04 12:32:19 -04:00
nick black
24ac23e405 rust: don't use --locked 2020-04-03 05:51:02 -04:00
nick black
5e27499194 add notcurses-keyplot #430 2020-04-03 05:51:02 -04:00
nick black
7c6b655483 v1.2.4 2020-03-24 16:25:47 -04:00
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
2020-03-22 17:33:08 -04:00
nick black
78fadafb8f notcurses++ needs PUBLIC notcurses linkage 2020-03-15 01:19:47 -04:00
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
2020-03-14 21:49:32 -04:00
nick black
ac683e21d2
v1.2.3 2020-03-07 18:53:36 -05:00
nick black
e72111ac8b
v1.2.2 2020-02-24 00:03:00 -05:00
nick black
3483f019e3
NOTCURSES_SHARE: purely a C thing now #363 2020-02-22 21:50:33 -05:00
nick black
93c8860c13
Install to CMAKE_INSTALL_DATADIR, though #363 2020-02-22 21:35:04 -05:00
nick black
e070c73f63
Allow NOTCURSES_SHARE to be specified #363 2020-02-22 21:28:36 -05:00
nick black
bd015434e6
CMake: provide --locked --release 2020-02-20 02:13:17 -05:00
nick black
8e2e1d26b8
python: final fix for arch packaging #357 2020-02-20 01:50:13 -05:00
nick black
adfbedf3ef
python: prep to install with DESTDIR 2020-02-20 01:23:49 -05:00
nick black
447ca1f3b9
unlock the python build secret #357 2020-02-20 01:12:16 -05:00
nick black
33b8ad0518
Don't build doxygen by default 2020-02-20 00:25:59 -05:00
nick black
1c05fdb013
python: --single-version-externally-managed 2020-02-19 23:31:45 -05:00
nick black
83e73fb429
install notcurses-pydemo #359 2020-02-19 22:51:58 -05:00
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
2020-02-18 20:03:20 -05:00
nick black
887d4f1f79
switch subtitles to HIGHCONTRAST, big improvement! =D 2020-02-18 16:28:11 -05:00
nick black
4bea8048d4
CMake/Rust: hack in the full rust build #101 2020-02-18 13:41:57 -05:00
nick black
b2210f0cf9
Rust: build libnotcurses-sys from CMake #320 2020-02-18 13:18:20 -05:00
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
2020-02-18 12:36:16 -05:00
nick black
2dc103f447 update primary versions to 1.2.1 for new cycle 2020-02-17 22:43:14 -05:00
nick black
2b08c53075 prep for 1.2.0 2020-02-17 21:57:52 -05:00
nick black
39d5063518
Yank out our copy of doctest, use system copy 2020-02-17 21:04:54 -05:00
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`)
2020-02-16 06:01:02 -05:00
nick black
887726b0d9 Debian: move all symbols/history to 1.1.8 2020-02-11 19:11:34 -05:00
nick black
cda600a4aa :/ 2020-02-10 21:37:20 -05:00
nick black
b8adfe1a39 Debian/python: make module runnable #335 2020-02-09 23:58:50 -05:00
nick black
acbff55994 so deeply sick of python packaging woes #335 2020-02-09 23:34:51 -05:00
nick black
1626c9f9ab
cmake: use pkg-config static results for static lib #330 2020-02-09 00:08:11 -05:00
nick black
53df21b977
python: run sdist in build process 2020-02-08 23:31:51 -05:00
nick black
a05e54ca7e CMake: remove deb logic #326 2020-02-08 23:09:29 -05:00
nick black
43e6d6577d
debian: python woes 2020-02-08 20:59:59 -05:00
nick black
3aa969f2a7 CMake: build static library #330 2020-02-08 20:49:10 -05:00
nick black
c82cb66fab
CMake: install notcurses-tester 2020-02-07 11:21:06 -05:00
nick black
c690e2db27 cmake: fix up avutil includes 2020-02-07 09:38:04 -05:00
nick black
e6c024216a
Debian: drop versioned dep on g++ 2020-02-07 00:25:38 -05:00
nick black
8256b2331e
CMake: explicitly pull in avutil 2020-02-07 00:13:32 -05:00
nick black
4c334aaf2b
CMake: explicitly link in avcodec 2020-02-06 22:55:55 -05:00
nick black
74775b97ec
enmetric->ncmetric #324 2020-02-05 20:18:11 -05:00
nick black
c519c95fff
panelreel -> ncreel #324 2020-02-05 17:29:42 -05:00
nick black
b284901d18
prep for 1.1.6 2020-02-05 04:08:42 -05:00
nick black
116453bfec notcurses-demo(1): add note about DFSG build #316 2020-02-04 23:18:40 -05:00
nick black
ab3a91c5d0
python for ncdirect 2020-02-04 04:16:16 -05:00
nick black
0271ba5abf python: fix debuild when no notcurses is present 2020-02-04 02:12:14 -05:00
nick black
aea6cdab08
CMake: isometrize data for testing 2020-02-02 11:50:33 -05:00
nick black
31a07dab33
menu: extend across width of screen #179 2020-02-02 06:02:57 -05:00
nick black
60c19017f0
v1.1.4 2020-02-02 02:48:22 -05:00
nick black
20e4c106a2
FreeBSD build fixen #304 2020-02-01 04:12:54 -05:00
nick black
99b79cbf4f
ncselector_create: fix base_egc fuckup #302 2020-01-31 00:02:00 -05:00
nick black
26791bd994 CMake: correct ENV syntax 2020-01-30 09:50:30 -05:00
nick black
ca628e55bb python: do all work in build directory 2020-01-30 09:22:34 -05:00
nick black
7bb864b999
CMake: check for DEB_BUILD_ARCH 2020-01-30 08:57:11 -05:00
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.
2020-01-30 08:55:01 -05:00
nick black
c9bfc54381
prep for 1.1.2 2020-01-29 01:03:00 -05:00
nick black
c6397f20eb
Python: require BUILD_PYTHON for now 2020-01-29 00:58:55 -05:00
nick black
7bea85bb79
Python: only do deb stuff when DEB_VENDOR is defined 2020-01-29 00:42:59 -05:00
nick black
fad46d8656
CMake: invoke python build_ext in build step #298 2020-01-28 21:43:56 -05:00
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.
2020-01-28 19:00:42 -05:00
nick black
c1c25afcc7 Python: fix up debug package #298 2020-01-28 16:43:02 -05:00
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
2020-01-27 23:10:47 -05:00
nick black
eae259f3bc
CMake: include CTest to get BUILD_ENABLE 2020-01-27 03:32:08 -05:00
nick black
ac791c781d
1.1.1, update version numbers 2020-01-27 02:15:38 -05:00
Marek Habersack
75a90461dd Add C++ bindings 2020-01-22 06:47:43 -05:00
nick black
2c2542a553 docs/rust/python: update versions to 1.1.0 2020-01-15 04:50:54 -05:00
nick black
adf808110d
convert remaining man1 pages to pandoc 2020-01-14 16:20:24 -05:00
nick black
d9b721971a
merge in doc changes 2020-01-12 14:49:42 -05:00
nick black
3c7b9777e4
throw analytics into man pages 2020-01-12 14:48:35 -05:00
nick black
d057473c4c
notcurses-demo.1: migrate to pandoc 2020-01-11 01:59:02 -05:00
nick black
5a555ff917
v1.0.2 2020-01-09 05:50:20 -05:00
nick black
1be4025289
CMake: true fix for #208, use NOTCURSES_SHARE 2020-01-09 05:51:18 -05:00
nick black
7e40453199
v1.0.1 2020-01-09 05:22:34 -05:00
nick black
202115d826 Add python3-all-dev build-dep 2020-01-07 16:15:27 -05:00
nick black
fac377b2bc CMake: require python3 2020-01-07 16:15:27 -05:00
nick black
a170e4334a
cmake: write install prefix #208 2020-01-05 04:53:43 -05:00
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
2020-01-04 02:37:55 -05:00
nick black
94f597a9bb ronn -> pandoc #245 2020-01-01 21:26:21 -05:00
nick black
390ca477bd
CMake: NAME_WLE requires CMake 3.14 2020-01-01 19:06:57 -05:00
nick black
6cfdeca95d
cmake: kill GLOB rule 2020-01-01 10:11:48 -05:00
nick black
f2df310edb
v0.9.9 2020-01-01 07:28:03 -05:00
nick black
328f72444e
use out own doctest 2019-12-30 07:00:51 -05:00
nick black
46b1b8e622
notcurses_stats man page #213 2019-12-29 03:24:32 -05:00
nick black
8ebc63da4b
fix up cmake syntax 2019-12-29 01:57:17 -05:00
nick black
734708616b
html documentation 2019-12-28 20:11:08 -05:00
nick black
f024cee3a1
unittests: support -p argument #218 2019-12-27 17:43:24 -05:00
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
2019-12-27 17:20:20 -05:00
nick black
38cff7e54f
man pages #213 2019-12-27 08:35:16 -05:00
nick black
4ce774ba13
man pages: fix install #213 2019-12-27 08:20:48 -05:00
nick black
38ace7677f
build man pages properly #213 2019-12-27 08:01:15 -05:00
nick black
cad8471d76
build man pages using ronn 2019-12-27 07:36:42 -05:00
nick black
8a8e297835
fix horrible cmake mistake ugh 2019-12-27 05:27:51 -05:00
nick black
b2acb31c0b freebsd: get SIGWINCH/ppoll #196 2019-12-27 02:48:13 -05:00
nick black
cf2712ec6d no-ffmpeg: don't try to define _view() 2019-12-27 02:48:13 -05:00
nick black
24350ed51e
get everybody read for 0.9.3 2019-12-25 11:55:07 -05:00
nick black
cb2bf16a73 support building sans ffmpeg #153 2019-12-25 02:24:10 -05:00
nick black
1de8611e2f
move test data to data/, simplify install rule 2019-12-23 19:16:49 -05:00
Marek Habersack
c819063d80 Install *.avi test files too 2019-12-23 19:07:50 -05:00
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
2019-12-22 09:29:56 -05:00
nick black
7e9378cd01
v0.9.1 2019-12-21 03:55:29 -05:00
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
2019-12-20 20:38:13 -05:00
nick black
37ed8300cb
fix up man page destination path 2019-12-18 06:49:30 -05:00
nick black
c4e4f921f3
changeover for 1.0.0 2019-12-18 06:49:05 -05:00
nick black
0f175e58d3
unidamage PoC #117 2019-12-17 00:33:51 -05:00
nick black
54eb41cf3a
panelreel-demo: done after demodelay * 5 #135 2019-12-13 20:25:48 -05:00
nick black
1821867e35
move outfp out of notcurses_options #130 2019-12-12 07:59:48 -05:00
nick black
a72bf25907
install section 3 man page 2019-12-12 07:38:04 -05:00
nick black
fa6394b021
PoCs need dep on local include 2019-12-12 07:08:53 -05:00
nick black
3a79cbf469
proof of concept support. sgr binary 2019-12-12 04:52:59 -05:00
nick black
e1356a2183
install man pages 2019-12-05 10:12:47 -05:00
nick black
73dd2f7ad7
prep for 0.9.0-pre 2019-12-05 04:37:50 -05:00
nick black
7e5e6bc545
slider-demo: force more squarish appearance 2019-12-05 00:43:09 -05:00
nick black
d09029f7f4
use -std=c11 not -std=gnu11 2019-12-03 13:31:04 -05:00
nick black
1ebfb2c9e3
enable -DFORTIFY_SOURCE=2 for all code 2019-12-03 13:26:49 -05:00
nick black
c70bc7b2a4
slider-demo: work atop a background 2019-12-02 07:20:47 -05:00
nick black
f6b70fd839
prep for 0.4.0 2019-12-02 06:02:03 -05:00
nick black
148a206c7e install all test data 2019-12-01 22:58:35 -05:00
nick black
999f33a2ee
0.3.0-pre 2019-12-01 20:56:42 -05:00
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!
2019-12-01 17:48:38 -05:00
nick black
627be30e1c install test png 2019-12-01 15:29:59 -05:00
nick black
fb37f8351f CMake: use proper LIBRARY_DIRS when linking notcurses.so #86 2019-12-01 15:29:59 -05:00
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
2019-11-30 22:53:24 -05:00
nick black
a037cdfe5a
add new notcurses-input binary #8 2019-11-29 00:20:30 -05:00
nick black
5f3a12bc63
pre-0.2.0 2019-11-28 22:32:49 -05:00
nick black
c6da5d5e7a
v0.1.0 2019-11-28 22:23:00 -05:00
nick black
951c848ad9 minimum avformat version of 57 2019-11-28 11:43:49 -05:00
nick black
8dfd050ab7 add ncplane_destroy() #26 2019-11-27 18:32:46 -05:00
nick black
f948904f7b libavutil linkage #61 2019-11-27 18:32:46 -05:00
nick black
cf557ff500 ncurses-view #61 2019-11-27 18:32:46 -05:00
nick black
f14ee490f2
CMake: visibility=hidden by default #56 2019-11-27 01:02:05 -05:00
nick black
e64f7a22ff
v0.0.9 2019-11-26 22:50:53 -05:00
nick black
66b06e9d91 add libav 0.29+ to deps 2019-11-26 20:23:40 -05:00
nick black
f20e8fde4b add notcurses_image_open() #23 2019-11-26 20:23:40 -05:00
nick black
6ee3de2b78
CMake: expose _XOPEN_SOURCE as PUBLIC 2019-11-26 01:42:04 -05:00
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)
2019-11-24 12:36:46 -05:00
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
2019-11-23 09:05:32 -05:00
nick black
157b4bdc52 cmake: turn on -Wshadow 2019-11-21 08:51:57 -05:00
nick black
17bc714c4d
define cell struct 2019-11-17 22:02:43 -05:00
nick black
b6ee41b355
link in tinfo, call setupterm() 2019-11-17 12:55:12 -05:00
nick black
70df86ba17
version string, notcurses_version() 2019-11-17 05:04:41 -05:00