13
0
Commit Graph

28874 Commits

Author SHA1 Message Date
dce09c6136
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.
2020-01-04 23:36:17 +01:00
32d3554761 add extensive comment for posterity 2020-01-03 18:41:47 -07:00
0b266a54f0
Return of image-surface backed canvas (windows graphics performance)
This partially reverts 2edbda2526.

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.
2020-01-04 00:30:07 +01:00
f892e5bcfa fix recent bad commit 2020-01-03 16:18:55 -07:00
fd5cd74214 fix DiskReader::overwrite_existing_audio()
Several math/geometry errors here
2020-01-03 16:13:23 -07:00
e7542c0611 NOOP: line refolding 2020-01-03 16:13:23 -07:00
4c055f3469
Fix linux installer script 2020-01-03 04:33:33 +01:00
241a16717e
installer-script ARM CPU support 2020-01-03 02:25:10 +01:00
96316cb6b2
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)
2020-01-02 19:08:26 +01:00
c07e13b7ac
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.
2020-01-01 21:56:12 +01:00
eccbdd10e0
Remove debug output 2020-01-01 20:52:07 +01:00
f427e38c31
Bump (C) year: the year of Ardour 2020-01-01 13:47:22 +01:00
d100c92731 convert GenericMIDI into a real control protocol module, with its own event loop and ports 2019-12-31 12:06:14 -07:00
1ced4067aa ensure that xmlKeepBlankDefault() is called early in instance-life, from PBD::init()
See comment for details on why
2019-12-31 12:06:14 -07:00
007136cc23 remove MIDI Control input and output ports from session-level objects 2019-12-31 12:06:14 -07:00
John Emmas
75aaae9963 Fix two more cases of of C99 strtoll() 2019-12-31 10:11:18 +00:00
def4be7285
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.
2019-12-30 19:05:51 +01:00
b8460441fb restore early-return from fixup_bundle_environment() on macOS if not running from a bundle
Mistakenly removed while getting stdout/stderr logging to work
2019-12-30 10:36:04 -07:00
60ccbcf9cc 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 2019-12-30 09:49:23 -07:00
2f167e6163
Fix formatting samplecnt_t (aka int64_t aka long long int) 2019-12-30 16:05:25 +01:00
3ee08bbae7
Revert "fix a cast warning (as recommended in GTK+ docs"
This reverts commit af30a6f001

because it breaks OSX/MacOS builds:
libs/surfaces/mackie/mackie_control_protocol.cc:945: error: 'G_SOURCE_FUNC' was not declared in this scope
2019-12-30 16:00:22 +01:00
354995289d move Transport Masters prefs tab under Transport, with LTC and MTC as subtabs 2019-12-29 19:38:04 -07:00
d79d2807b1 expand use of new BasicUI API for transport button state to all control surfaces 2019-12-29 18:53:22 -07:00
52aa405ce3 use new Session API to deal with transport state
Transition to use BasicUI button state API to come
2019-12-29 18:43:51 -07:00
e46e6f12a3 use new BasicUI and Session API to deal with transport state 2019-12-29 18:43:51 -07:00
a8cc5b1303 provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons 2019-12-29 18:43:51 -07:00
6383d4f6a6 recomment a DEBUG_TRACE statement that generates too much output with -D transport 2019-12-29 18:43:51 -07:00
30226fdc2a add EMIT_SIGNAL comment 2019-12-29 18:43:51 -07:00
719c3f1457 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
2019-12-29 18:43:51 -07:00
af30a6f001 fix a cast warning (as recommended in GTK+ docs 2019-12-29 18:43:51 -07:00
bb232b6ec4
Use human-numeric-sort for plugin scale-points 2019-12-29 19:48:45 +01:00
04a409df6f
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.
2019-12-29 19:47:48 +01:00
ed67f465fb fix JACK transport sync
key change: to sync with JACK always locate jack-position PLUS buffer-sized-rounded-worst_latency_preroll() ahead
2019-12-27 21:18:12 -07:00
5cdeb2401f add new Session method to return the worst_latency_preroll() value rounded up to the nearest buffer size 2019-12-27 21:18:12 -07:00
ca36d7cc2f register TransportState enum for use with enumwriter 2019-12-27 21:18:12 -07:00
49df7abd0b
NO-OP: whitespace 2019-12-27 19:35:03 +01:00
26cc05a1bf
Consolidate mini-timeline rendering 2019-12-27 19:35:02 +01:00
1809818c94
Preferences/Config changes for image-surface settings 2019-12-27 19:35:02 +01:00
2edbda2526
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.
2019-12-27 19:35:02 +01:00
c3ab63a2ea
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.
2019-12-27 19:34:56 +01:00
7b1a875f9c remove unused member
Note: there is no global state for "the" transport master, since we have several at all times now
2019-12-27 10:53:02 -07:00
c35a28acfe variable rename 2019-12-27 10:53:02 -07:00
0d3a91b381 improve parseability of a comment 2019-12-27 10:53:02 -07:00
b942eecc9c
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).
2019-12-26 12:17:20 +01:00
b228dce1c1
Use weak-ptr for source added/removed signals (2/2) 2019-12-25 18:00:57 +01:00
ab58c894d3
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.
2019-12-25 17:59:38 +01:00
df17e3f041
Prevent copy-construction of sources to be destroyed list
destroy_sources () is only called from Session::remove_last_capture ().
The list of sources to be destroyed is the local scope of that method
and will hold a reference to the object.
copy-construct the list and removing elements one by one from the
copy is only unnecessary overhead.
2019-12-25 17:57:10 +01:00
c9c8cd2777
NO-OP: comment signal emission 2019-12-25 17:52:02 +01:00
24b46d1f75
Vkeybd: improve velocity dropdown usability
Limit velocity dropdown to a subset of most used values, but
allow to select any value using mouse-wheel
2019-12-25 13:15:32 +01:00
bc776eac97
Vkeybd: use ArdourWidgets for all GUI elements
Remove Gtk widgets and improve look&feel consistency.
2019-12-24 18:15:09 +01:00