Commit Graph

65 Commits (06e7391b89d9a472500f6fb10883416676ff68d5)

Author SHA1 Message Date
nick black 3eb004b61d s/channels/ncchannels/g #1570 3 years ago
nick black 3e209f3539 eagle, luigi, sliders, outro: ncplane_create #1115 4 years ago
nick black eef6df8c0a death to horiz #1115 4 years ago
nick black 13a9b38390
demo: strip some explicit NCBLIT_2x2s, use NCBLIT_DEFAULT 4 years ago
nick black 683217ef07 normalize style setters #1034 4 years ago
nick black 36aed3c521 add ncplane_create() + ncplane_options #1020 4 years ago
nick black a4367fcfb5 rip out ncplane_ creation functions #985 4 years ago
nick black b7a57eaab7 convert all channel rgb calls #985 4 years ago
nick black 2f28420034 rename ncplane_putsimple() -> ncplane_putchar() #912 4 years ago
nick black 4dd1d6a4c8 Annihilate nc_err_e and all infrastructure #948 4 years ago
nick black 6303e803f6
outro: don't obfuscate globe with acai plane 4 years ago
nick black 78c2cef7e9
Use NCBLIT_2x2 by default with NCSCALE_STRETCH
We're not using NCBLIT_2x2 by default because it warps the
aspect ratio. If we're using NCSCALE_STRETCH, though, we've
(1) already indicated that aspect ratio isn't terribly
important to us and (2) are trying to maximize the space.
Since NCBLIT_2x2 is best for large images anyway, make it
the default when NCSCALE_STRECTH is being used.

Remove all explicit uses of NCBLIT_2x2 when NCSCALE_STRETCH
is being used in notcurses-demo.
4 years ago
nick black 64b07fcd0b
outro: use quadblitter, reset vopts 4 years ago
nick black 1cd3ffc89a
outro: transparent legend at borrom #687 4 years ago
nick black a3369d77a9
outro: plug memory leak post-fade 4 years ago
nick black 841c0a4b8f
quadblitter: respect transparency #686 4 years ago
nick black e2b43092c3
outro: fade in samoa while fading out changes #652 4 years ago
nick black 71f6b7b02e
USAGE: pixel -> ncpixel 4 years ago
nick black deb3c8bfcb
outro: kill rendering turds #675 4 years ago
nick black a8beaf8e56
notcurses-view: switch between blitters with 0--8 #671 4 years ago
nick black 6cadea3138
outro: keep riser on top 4 years ago
nick black e879bf8f93
let outro demo run on no-multimedia builds 4 years ago
nick black 0331ae4c4c
introduce NCVISUAL_OPTION_BLEND #652 4 years ago
nick black 33318254b2
absorb first ncvisual_decode into ncvisual_from_file() #655 4 years ago
nick black 10b134b596
outro: render the first frame of samoa along with changes #652 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 9675ed251e
eagle demo: work with ascii mode #634 4 years ago
nick black 78e30831dd move timespec 4 years ago
nick black 9a80750316
notcurses_canopen: split into images/videos #598 4 years ago
nick black 0b4ada19b1 Remove AVFrame from API #532 4 years ago
nick black 2037cdfacb move libav.c to nc_err_e #532 4 years ago
nick black 67100dc5e9
Process menu/HUD input in demo_nanosleep() #509 4 years ago
Nick Black c6a9997554
Normalize ncplane_at_* / ncplane_set_base() (#479)
* ncplane_at_* and ncplane_at_cursor_*

We had notcurses_at_yx() expanding into three distinct parts of
the cell structure, and ncplane_at_yx() / ncplane_at_cursor()
writing directly to a cell. It was annoying to remember which
was which. The latter two now have a signature matching
notcurses_at_yx(), while the old functionality has been moved
to ncplane_at_yx_cell() and ncplane_at_cursor_yx(). #476
4 years ago
nick black ae1421db15
ncvisual_render() API change/documentation #422
ncvisual_render() now returns the number of cells emitted
rather than just 0/-1. -1 is still returned on failure.
Rather than 0 for length meaning "all possible length", it
now means 0, and -1 means "all possible length". All demos,
tests, and PoCs have been updated. #422
4 years ago
nick black 126145e417
demo: convert to new notcurses_stddim_yx() where appropriate #365 4 years ago
nick black bae60a98e7
demo: all demos can be interrupted via demo_render() 4 years ago
nick black 54c57b3487 s/CELL_STYLE/NCSTYLE/ throughout 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 4ece4a9075
demo: skip demos which we don't have support for 5 years ago
nick black bb0cdb2b88
demo: add demo_nanosleep() for HUD 5 years ago
nick black b02acd8631
Curry a void* to fader callbacks #284 5 years ago
nick black b2dcc7cdf2 demo: push delaymult through to ncvisuals 5 years ago
nick black dd7f8eff4b
ncvisual_stream: add timescale param 5 years ago
nick black 1a2cccaa18 fold out ncplane_move_cursor_yx() wherever possible #257 5 years ago
nick black bd27e056e7 don't ncvisual_decode+stream #246 5 years ago
nick black 32ff214be2
update demos for ncplane_aligned #237 5 years ago
nick black 2ea4f77875
introduce ncplane_aligned() #237 5 years ago
nick black 014afa348b rename ncplane default -> base #236 5 years ago
nick black c21a04137c curry a void* through ncvisual_stream #113 5 years ago
nick black fb0e03fe89 UMOK: fadecb for faders #162 5 years ago