ardour.git
4 years agoAdd test synth to debug capture alignment
Robin Gareus [Sat, 11 Jan 2020 21:20:32 +0000 (22:20 +0100)]
Add test synth to debug capture alignment

4 years agofix drawing of zero-length notes
Paul Davis [Sat, 11 Jan 2020 17:57:14 +0000 (10:57 -0700)]
fix drawing of zero-length notes

Note that the result is too narrow to be manipulated, though it can be moved

4 years agouse "extends to numeric_limits<Beats>::max()" rather than "zero length" for nascent...
Paul Davis [Sat, 11 Jan 2020 17:56:19 +0000 (10:56 -0700)]
use "extends to numeric_limits<Beats>::max()" rather than "zero length" for nascent (incoming) notes

4 years agoremoval incorrect/unnecessary forward decl
Paul Davis [Sat, 11 Jan 2020 17:55:33 +0000 (10:55 -0700)]
removal incorrect/unnecessary forward decl

4 years agouse Note::end_time() == numeric_limits<Beats>::max() as the indicator that a note...
Paul Davis [Fri, 10 Jan 2020 22:17:45 +0000 (15:17 -0700)]
use Note::end_time() == numeric_limits<Beats>::max() as the indicator that a note is in-process w.r.t. recording

We used to use length() == 0, but this clashes with actual zero-length notes

4 years agoFix AFL position
Robin Gareus [Sat, 11 Jan 2020 16:48:42 +0000 (17:48 +0100)]
Fix AFL position

* update AFL position when preference changes
* "after post-fader processors (before pan)" is before
  the main-out (not at the end).
* Fix "immediately post-fader":
  The amp, when added was the last element. ++after_end then
  made the iterator point to .end()

This likely worked in the past when the monitor send was added
immediately after adding the fader/amp before any other processors.

4 years agoScale the port matrix with the GUI/font-scaling setting.
Carl Hetherington [Sat, 11 Jan 2020 00:15:17 +0000 (01:15 +0100)]
Scale the port matrix with the GUI/font-scaling setting.

4 years agoClarify insert-time option
Robin Gareus [Fri, 10 Jan 2020 17:59:09 +0000 (18:59 +0100)]
Clarify insert-time option

4 years agoStop engine for new session creation
Robin Gareus [Fri, 10 Jan 2020 17:11:42 +0000 (18:11 +0100)]
Stop engine for new session creation

This restores Ardour5 behavior and works around a missing "OK"
button in the engine-dialog.

4 years agoSpecial case JACK, sample-rate cannot be changed for new sessions
Robin Gareus [Fri, 10 Jan 2020 01:13:36 +0000 (02:13 +0100)]
Special case JACK, sample-rate cannot be changed for new sessions

4 years agoAllow to configure sample-rate of new sessions
Robin Gareus [Thu, 9 Jan 2020 22:51:53 +0000 (23:51 +0100)]
Allow to configure sample-rate of new sessions

When creating a session from the Editor (after Session > Close,
or directly via Session > New) the engine-dialog needs to be displayed
to allow configuring the sample-rate.

This also consolidates scripted session setup: meta_session_setup()
is now called from build_session(), instead of all callers.

4 years agoNOP: Trim whitespace and convert tabs to spaces
Nikolaus Gullotta [Thu, 9 Jan 2020 20:01:37 +0000 (14:01 -0600)]
NOP: Trim whitespace and convert tabs to spaces

4 years agoUpdate reset_mixer script to use new well-known controls
Nikolaus Gullotta [Thu, 9 Jan 2020 19:54:23 +0000 (13:54 -0600)]
Update reset_mixer script to use new well-known controls

4 years agoRemove unused variable
Robin Gareus [Thu, 9 Jan 2020 17:20:20 +0000 (18:20 +0100)]
Remove unused variable

4 years agoLatency debug script: include MIDI ports
Robin Gareus [Thu, 9 Jan 2020 17:18:46 +0000 (18:18 +0100)]
Latency debug script: include MIDI ports

4 years agoFix typo in Lua binding for compressor enable control
Nikolaus Gullotta [Thu, 9 Jan 2020 16:22:00 +0000 (10:22 -0600)]
Fix typo in Lua binding for compressor enable control

4 years agoexpand comment to include (more of?) the full story about uncombining and copies
Paul Davis [Thu, 9 Jan 2020 05:21:08 +0000 (22:21 -0700)]
expand comment to include (more of?) the full story about uncombining and copies

4 years agoexpand the test used to decide if we need to make copies when uncombining a compound...
Paul Davis [Thu, 9 Jan 2020 05:19:36 +0000 (22:19 -0700)]
expand the test used to decide if we need to make copies when uncombining a compound region

4 years agonever remove entries from the CompoundAssociation map
Paul Davis [Thu, 9 Jan 2020 05:19:05 +0000 (22:19 -0700)]
never remove entries from the CompoundAssociation map

4 years agoadd concept of an owner region (by ID) to PlaylistSource
Paul Davis [Thu, 9 Jan 2020 05:18:18 +0000 (22:18 -0700)]
add concept of an owner region (by ID) to PlaylistSource

4 years agofix bugs (thinkos?) that confused PlaylistSource's id() with its original()
Paul Davis [Thu, 9 Jan 2020 02:37:55 +0000 (19:37 -0700)]
fix bugs (thinkos?) that confused PlaylistSource's id() with its original()

4 years agoNOOP: reindent
Paul Davis [Wed, 8 Jan 2020 21:59:42 +0000 (14:59 -0700)]
NOOP: reindent

4 years agoincrease explicit refcnt for playlists when used by a PlaylistSource
Paul Davis [Wed, 8 Jan 2020 19:13:54 +0000 (12:13 -0700)]
increase explicit refcnt for playlists when used by a PlaylistSource

4 years agoFix MIDI loop recording - Revert "Fix MIDI disk-writer flush"
Robin Gareus [Thu, 9 Jan 2020 02:51:39 +0000 (03:51 +0100)]
Fix MIDI loop recording - Revert "Fix MIDI disk-writer flush"

This reverts commit 254f22e372ff1155e76bea2c9a6f9c6c85a94868.

4 years agoTowards fixing MIDI capture alignment
Robin Gareus [Thu, 9 Jan 2020 02:37:21 +0000 (03:37 +0100)]
Towards fixing MIDI capture alignment

When there is no overlap (Evoral::OverlapNone) of local transport
position and the record-range, MIDI data does not need to be
offset.

This matches audio recording: Only write to the capture ringbuffer
when there is an overlap.

(There is still some unknown, unresolved discrepancy remaining
to be tracked down)

4 years agoFix CaptureAlignment debug messsage
Robin Gareus [Wed, 8 Jan 2020 23:04:16 +0000 (00:04 +0100)]
Fix CaptureAlignment debug messsage

4 years agoprevent MIDI note starts being drawn earlier than their region start
Paul Davis [Wed, 8 Jan 2020 17:21:55 +0000 (10:21 -0700)]
prevent MIDI note starts being drawn earlier than their region start

4 years agoRevert to use an image surface for CairoWidgets
Robin Gareus [Wed, 8 Jan 2020 03:23:44 +0000 (04:23 +0100)]
Revert to use an image surface for CairoWidgets

This partially reverts 2edbda252619 and is a follow up to 0b266a54f,
to fix performance issues with MS Windows graphics performance.

4 years agoMini-timeline, use explicit cairo-group to consolidate rendering
Robin Gareus [Wed, 8 Jan 2020 03:15:18 +0000 (04:15 +0100)]
Mini-timeline, use explicit cairo-group to consolidate rendering

4 years agofix required offset when reading MIDI data near loop end/start
Paul Davis [Tue, 7 Jan 2020 22:07:28 +0000 (15:07 -0700)]
fix required offset when reading MIDI data near loop end/start

4 years agoimproved/new DEBUG_TRACE output
Paul Davis [Tue, 7 Jan 2020 22:07:07 +0000 (15:07 -0700)]
improved/new DEBUG_TRACE output

4 years agoplugins should NOT resolve MIDI notes at loopend
Paul Davis [Tue, 7 Jan 2020 22:06:31 +0000 (15:06 -0700)]
plugins should NOT resolve MIDI notes at loopend

Their data will come from (1) disk, in which case the DiskReader will do the resolve (2) live input
in which case the player/user will do the resolve

4 years agoimrpove debug msg
Paul Davis [Tue, 7 Jan 2020 22:05:35 +0000 (15:05 -0700)]
imrpove debug msg

4 years agofix serious but rare error in RTMidiBuffer's storage of MIDI events with size > 3
Paul Davis [Tue, 7 Jan 2020 21:10:14 +0000 (14:10 -0700)]
fix serious but rare error in RTMidiBuffer's storage of MIDI events with size > 3

sizeof (T) is in units of bytes, not bits. Use C++ standard CHAR_BITS instead.

4 years agoFix samples_as_time_string formatting
Robin Gareus [Tue, 7 Jan 2020 23:41:08 +0000 (00:41 +0100)]
Fix samples_as_time_string formatting

4 years agoFix MIDI Port-latencies
Robin Gareus [Tue, 7 Jan 2020 23:40:18 +0000 (00:40 +0100)]
Fix MIDI Port-latencies

Only audio ports have additional latency due to I/O re-sampling
for vari-speed playback/capture.. MIDI ports are not affected.

4 years agoRemove debug output
Robin Gareus [Tue, 7 Jan 2020 03:21:38 +0000 (04:21 +0100)]
Remove debug output

4 years agoFix MIDI disk-writer flush
Robin Gareus [Tue, 7 Jan 2020 02:59:25 +0000 (03:59 +0100)]
Fix MIDI disk-writer flush

to_write must not exceed `total = _samples_pending_write`.
If the write succeeds (events spanning `to_write` samples are written)
to_write is atomically subtracted from `_samples_pending_write`.

4 years agoAmend 8a5cbb8: fix variable-names and comments
Robin Gareus [Tue, 7 Jan 2020 00:14:42 +0000 (01:14 +0100)]
Amend 8a5cbb8: fix variable-names and comments

4 years agoReenable the correct sort column and type when redisplaying regions
Nikolaus Gullotta [Mon, 6 Jan 2020 22:08:55 +0000 (16:08 -0600)]
Reenable the correct sort column and type when redisplaying regions

4 years agoDummy: Engine-Pulse audio/midi generators
Robin Gareus [Mon, 6 Jan 2020 21:43:30 +0000 (22:43 +0100)]
Dummy: Engine-Pulse audio/midi generators

This produces synchronous events on Audio and MIDI ports.
One rvent per second, exactly at every second since engine-start.

MIDI: C-4 Note-on/off (1 sample long)
Audio: +1/-1 transition:
       +1 in sync with Note-on,
       -1 in sync with Note-off

4 years agoProper forward declaration for Lua bindings (amend 2afef6e4bde)
Robin Gareus [Mon, 6 Jan 2020 16:14:10 +0000 (17:14 +0100)]
Proper forward declaration for Lua bindings (amend 2afef6e4bde)

4 years agoFix windows fallback for LV2 state:freePath feature
Robin Gareus [Mon, 6 Jan 2020 15:59:14 +0000 (16:59 +0100)]
Fix windows fallback for LV2 state:freePath feature

4 years agoFix Windows builds (Lua binding undefined reference)
Robin Gareus [Mon, 6 Jan 2020 15:52:00 +0000 (16:52 +0100)]
Fix Windows builds (Lua binding undefined reference)

4 years agoremove the (unused) concept of a MIDI patchfile folder per session
Paul Davis [Mon, 6 Jan 2020 01:47:59 +0000 (18:47 -0700)]
remove the (unused) concept of a MIDI patchfile folder per session

4 years agomove MidiPatchManager initialization into ARDOUR "global" scope, rather than per...
Paul Davis [Mon, 6 Jan 2020 01:34:40 +0000 (18:34 -0700)]
move MidiPatchManager initialization into ARDOUR "global" scope, rather than per session

4 years agouse glibmm threads for the midnam load thread, instead of raw pthreads (for portability)
Paul Davis [Mon, 6 Jan 2020 00:51:18 +0000 (17:51 -0700)]
use glibmm threads for the midnam load thread, instead of raw pthreads (for portability)

4 years agoremove unnecessary call to xmlKeepBlanksDefault()
Paul Davis [Mon, 6 Jan 2020 00:50:06 +0000 (17:50 -0700)]
remove unnecessary call to xmlKeepBlanksDefault()

4 years agomove call to xmlKeepBlanksDefault(0) to before the creation of an XML parser context
Paul Davis [Mon, 6 Jan 2020 00:49:35 +0000 (17:49 -0700)]
move call to xmlKeepBlanksDefault(0) to before the creation of an XML parser context

the value is used by the parser context; the old code called it only after the *first* parser context
was created. therefore the first XMLTree::read() call has its behavior determined by libxml2's default
for this value, rather than by our explicit choice (do not treat whitespace as a note). All subequent
read() calls will use our value.

This variable inside libxml2 is actually per-thread, which just increases the stakes for calling
xmlKeepBlanksDefault() at the right time

4 years agoAdd Lua bindings for UIConfiguration variables
Robin Gareus [Mon, 6 Jan 2020 00:30:19 +0000 (01:30 +0100)]
Add Lua bindings for UIConfiguration variables

4 years agorepeat baf0cdcbef1 but for BaseUI, thus covering all control protocols
Paul Davis [Sun, 5 Jan 2020 18:40:59 +0000 (11:40 -0700)]
repeat baf0cdcbef1 but for BaseUI, thus covering all control protocols

4 years agofix handling of flags in the OSC input handler
Paul Davis [Sun, 5 Jan 2020 18:25:23 +0000 (11:25 -0700)]
fix handling of flags in the OSC input handler

Some builds of glib on macOS end up delivering IO_PRI when IO_IN is also set. This differs from our own build stack
version, but it isn't really an error, so we should handle it.

4 years agoAllow public access to the editor-mixer-strip
Robin Gareus [Sun, 5 Jan 2020 18:22:14 +0000 (19:22 +0100)]
Allow public access to the editor-mixer-strip

This is currently used by Mixbus to sync visibility of switches on
the editor-mixer-strip with the main mixer.

4 years agoAdd a missing semicolon
John Emmas [Sun, 5 Jan 2020 10:29:35 +0000 (10:29 +0000)]
Add a missing semicolon

4 years agoPixel-pushing: editor-meter size and alignment
Robin Gareus [Sat, 4 Jan 2020 22:22:34 +0000 (23:22 +0100)]
Pixel-pushing: editor-meter size and alignment

Previously the "reset peaks" button expanded to incredible height
when the GUI was scaled. Now the meter fills available space instead.

4 years agoadd extensive comment for posterity
Paul Davis [Sat, 4 Jan 2020 01:41:24 +0000 (18:41 -0700)]
add extensive comment for posterity

4 years agoReturn of image-surface backed canvas (windows graphics performance)
Robin Gareus [Fri, 3 Jan 2020 23:29:48 +0000 (00:29 +0100)]
Return of image-surface backed canvas (windows graphics performance)

This partially reverts 2edbda252619b.

Using cairo-groups increases performance on MacOS, and retains
retina-resolution.
However it adds a performance regression for MS Windows graphics
rendering. cairo-groups use a "similar" surface, not an image surface.
Empirically this adds significant overhead compared to rendering
using the CPU and using bitblt.

4 years agofix recent bad commit
Paul Davis [Fri, 3 Jan 2020 23:18:55 +0000 (16:18 -0700)]
fix recent bad commit

4 years agofix DiskReader::overwrite_existing_audio()
Paul Davis [Fri, 3 Jan 2020 23:12:45 +0000 (16:12 -0700)]
fix DiskReader::overwrite_existing_audio()

Several math/geometry errors here

4 years agoNOOP: line refolding
Paul Davis [Fri, 3 Jan 2020 23:10:58 +0000 (16:10 -0700)]
NOOP: line refolding

4 years agoFix linux installer script
Robin Gareus [Fri, 3 Jan 2020 03:33:33 +0000 (04:33 +0100)]
Fix linux installer script

4 years agoinstaller-script ARM CPU support
Robin Gareus [Fri, 3 Jan 2020 01:22:11 +0000 (02:22 +0100)]
installer-script ARM CPU support

4 years agoUnconditionally save instant.xml on session-close
Robin Gareus [Thu, 2 Jan 2020 18:06:21 +0000 (19:06 +0100)]
Unconditionally save instant.xml on session-close

This forces saving session-specific GUI settings (Playhead
position, zoom/scroll with stationary PH, window and pane
positions, etc.

While many GUI operations immediately cause an instant.xml
save, changing the playhead-pos in particular does not, nor
mark the session as modified.

This fixes an issue:
 1. open session
 2. move playhead
 3. close session
 4. re-open session, expect playhead at position from (2)

4 years agoFix crash when X11 is not available for VST UIs
Robin Gareus [Wed, 1 Jan 2020 20:56:12 +0000 (21:56 +0100)]
Fix crash when X11 is not available for VST UIs

This should not happen -- VST gui_event_loop is only
started if LXVST_XDisplay is not NULL.
However the eventloop itself checks if LXVST_XDisplay is set,
so this might happen with headless builds that still have
access to a display, or due to some async event.

4 years agoRemove debug output
Robin Gareus [Wed, 1 Jan 2020 19:52:07 +0000 (20:52 +0100)]
Remove debug output

4 years agoBump (C) year: the year of Ardour
Robin Gareus [Wed, 1 Jan 2020 12:41:27 +0000 (13:41 +0100)]
Bump (C) year: the year of Ardour

4 years agoconvert GenericMIDI into a real control protocol module, with its own event loop...
Paul Davis [Tue, 31 Dec 2019 19:06:00 +0000 (12:06 -0700)]
convert GenericMIDI into a real control protocol module, with its own event loop and ports

4 years agoensure that xmlKeepBlankDefault() is called early in instance-life, from PBD::init()
Paul Davis [Tue, 31 Dec 2019 19:05:06 +0000 (12:05 -0700)]
ensure that xmlKeepBlankDefault() is called early in instance-life, from PBD::init()

See comment for details on why

4 years agoremove MIDI Control input and output ports from session-level objects
Paul Davis [Mon, 30 Dec 2019 18:49:20 +0000 (11:49 -0700)]
remove MIDI Control input and output ports from session-level objects

4 years agoFix two more cases of of C99 strtoll()
John Emmas [Tue, 31 Dec 2019 10:11:18 +0000 (10:11 +0000)]
Fix two more cases of of C99 strtoll()

4 years agoFix MSVC builds, use C89 strtol() instead of C99 strtoll()
Robin Gareus [Mon, 30 Dec 2019 18:05:10 +0000 (19:05 +0100)]
Fix MSVC builds, use C89 strtol() instead of C99 strtoll()

For the case at hand (plugin scale-points) it's highly unlikely to
encounter numbers > INT_MAX.

4 years agorestore early-return from fixup_bundle_environment() on macOS if not running from...
Paul Davis [Mon, 30 Dec 2019 17:36:04 +0000 (10:36 -0700)]
restore early-return from fixup_bundle_environment() on macOS if not running from a bundle

Mistakenly removed while getting stdout/stderr logging to work

4 years agouse a local version (copy) of the G_SOURCE_FUNC macro, since it is not available...
Paul Davis [Mon, 30 Dec 2019 16:49:23 +0000 (09:49 -0700)]
use a local version (copy) of the G_SOURCE_FUNC macro, since it is not available in the GTK+ version we use for the official build stack

4 years agoFix formatting samplecnt_t (aka int64_t aka long long int)
Robin Gareus [Mon, 30 Dec 2019 15:05:25 +0000 (16:05 +0100)]
Fix formatting samplecnt_t (aka int64_t aka long long int)

4 years agoRevert "fix a cast warning (as recommended in GTK+ docs"
Robin Gareus [Mon, 30 Dec 2019 15:00:22 +0000 (16:00 +0100)]
Revert "fix a cast warning (as recommended in GTK+ docs"

This reverts commit af30a6f001f0758155b3ece040fc2baa643a29de

because it breaks OSX/MacOS builds:
libs/surfaces/mackie/mackie_control_protocol.cc:945: error: 'G_SOURCE_FUNC' was not declared in this scope

4 years agomove Transport Masters prefs tab under Transport, with LTC and MTC as subtabs
Paul Davis [Mon, 30 Dec 2019 02:38:04 +0000 (19:38 -0700)]
move Transport Masters prefs tab under Transport, with LTC and MTC as subtabs

4 years agoexpand use of new BasicUI API for transport button state to all control surfaces
Paul Davis [Mon, 30 Dec 2019 01:53:22 +0000 (18:53 -0700)]
expand use of new BasicUI API for transport button state to all control surfaces

4 years agouse new Session API to deal with transport state
Paul Davis [Mon, 30 Dec 2019 01:43:37 +0000 (18:43 -0700)]
use new Session API to deal with transport state

Transition to use BasicUI button state API to come

4 years agouse new BasicUI and Session API to deal with transport state
Paul Davis [Mon, 30 Dec 2019 01:43:07 +0000 (18:43 -0700)]
use new BasicUI and Session API to deal with transport state

4 years agoprovide new methods for BasicUI that wrap the "complexity" of how to show transport...
Paul Davis [Mon, 30 Dec 2019 01:42:34 +0000 (18:42 -0700)]
provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons

4 years agorecomment a DEBUG_TRACE statement that generates too much output with -D transport
Paul Davis [Mon, 30 Dec 2019 01:41:46 +0000 (18:41 -0700)]
recomment a DEBUG_TRACE statement that generates too much output with -D transport

4 years agoadd EMIT_SIGNAL comment
Paul Davis [Mon, 30 Dec 2019 01:41:23 +0000 (18:41 -0700)]
add EMIT_SIGNAL comment

4 years agoadd Session::transport_stopped_or_stopping()
Paul Davis [Mon, 30 Dec 2019 01:41:02 +0000 (18:41 -0700)]
add Session::transport_stopped_or_stopping()

Session::TransportStateChanged notifies about transport stop before the stop is complete (i.e. at the start of the declick).
Various other objects (notably control surfaces) connect to this signal and use it to modify their displayed state.
We need a method that can tell them we are stopped (or stopping) even though we are not "fully" stopped yet. This is
that method

4 years agofix a cast warning (as recommended in GTK+ docs
Paul Davis [Mon, 30 Dec 2019 00:48:18 +0000 (17:48 -0700)]
fix a cast warning (as recommended in GTK+ docs

4 years agoUse human-numeric-sort for plugin scale-points
Robin Gareus [Sun, 29 Dec 2019 18:48:45 +0000 (19:48 +0100)]
Use human-numeric-sort for plugin scale-points

4 years agoAdd a numerically_less compare operator
Robin Gareus [Sun, 29 Dec 2019 18:47:48 +0000 (19:47 +0100)]
Add a numerically_less compare operator

This is similar to sort(1) --human-numeric-sort,
as opposed to naturally_less() negative numbers, hex-prefixes
and SI metric prefixes are taken into account.

4 years agofix JACK transport sync
Paul Davis [Sat, 28 Dec 2019 04:15:16 +0000 (21:15 -0700)]
fix JACK transport sync

key change: to sync with JACK always locate jack-position PLUS buffer-sized-rounded-worst_latency_preroll() ahead

4 years agoadd new Session method to return the worst_latency_preroll() value rounded up to...
Paul Davis [Sat, 28 Dec 2019 04:11:38 +0000 (21:11 -0700)]
add new Session method to return the worst_latency_preroll() value rounded up to the nearest buffer size

4 years agoregister TransportState enum for use with enumwriter
Paul Davis [Sat, 28 Dec 2019 04:10:27 +0000 (21:10 -0700)]
register TransportState enum for use with enumwriter

4 years agoNO-OP: whitespace
Robin Gareus [Fri, 27 Dec 2019 17:42:20 +0000 (18:42 +0100)]
NO-OP: whitespace

4 years agoConsolidate mini-timeline rendering
Robin Gareus [Fri, 27 Dec 2019 11:46:32 +0000 (12:46 +0100)]
Consolidate mini-timeline rendering

4 years agoPreferences/Config changes for image-surface settings
Robin Gareus [Thu, 26 Dec 2019 22:57:04 +0000 (23:57 +0100)]
Preferences/Config changes for image-surface settings

4 years agoReplace explicit image-surface with cairo pattern/group
Robin Gareus [Thu, 26 Dec 2019 22:55:44 +0000 (23:55 +0100)]
Replace explicit image-surface with cairo pattern/group

For MacOS/X this is equivalent, rendering happens using a
CGBitmapContext + image-surface. Windows and Linux needs profiling
for respective equivalent surfaces.

4 years agoAllow for per-widget image-surface backing
Robin Gareus [Thu, 26 Dec 2019 17:19:21 +0000 (18:19 +0100)]
Allow for per-widget image-surface backing

This is an intermediate commit, before replacing image surfaces with
cairo pattern groups.

The eventual goal is to reduce flickering and/or use
CPU + bitblt for specific widgets instead of cairo
graphics-cards accel.

This also removes excessive calls to getenv() for every rendering
operation.

4 years agoremove unused member
Paul Davis [Fri, 27 Dec 2019 17:50:56 +0000 (10:50 -0700)]
remove unused member

Note: there is no global state for "the" transport master, since we have several at all times now

4 years agovariable rename
Paul Davis [Fri, 27 Dec 2019 17:49:14 +0000 (10:49 -0700)]
variable rename

4 years agoimprove parseability of a comment
Paul Davis [Fri, 27 Dec 2019 16:29:28 +0000 (09:29 -0700)]
improve parseability of a comment

4 years agoVkeybd: force release notes on panic
Robin Gareus [Thu, 26 Dec 2019 11:17:20 +0000 (12:17 +0100)]
Vkeybd: force release notes on panic

If key(s) are still being pressed, a key-repeat will re-trigger
the most recently pressed note (depending on keyboard settings).

4 years agoUse weak-ptr for source added/removed signals (2/2)
Robin Gareus [Wed, 25 Dec 2019 17:00:57 +0000 (18:00 +0100)]
Use weak-ptr for source added/removed signals (2/2)

4 years agoUse weak-ptr for source added/removed signals (1/2)
Robin Gareus [Wed, 25 Dec 2019 16:59:38 +0000 (17:59 +0100)]
Use weak-ptr for source added/removed signals (1/2)

This might fix a "SessionHandleRef exists across session deletion",
when the shared_ptr was be pushed onto a x-thread pool, and not
invalidated in time before the session was closed.