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
799ec6a8f1
use new method in MidiPatchManager to use MIDNAM data when setting a MidiTimeAxisView
2019-12-23 10:27:00 -07:00
61aeb05f2e
add a mechanism to use existing MIDNAM info and connect to PatchesChanged in future, atomically
...
The atomically is with respect to the initial thread-based MIDNAM loading
2019-12-23 10:27:00 -07:00
63ba8da3e1
basics of threaded MIDNAM loading
2019-12-23 10:27:00 -07:00
ecdbd1df92
Vkeybd: numeric only spinboxes for octave and velocity
...
based on a patch by Alex Mitchell
2019-12-19 23:02:19 +01:00
4874ff8843
slightly enhanced error handling when loading MIDNAM data
2019-12-19 13:14:45 -07:00
bfa5eb982d
handle MIDI rendering correctly when there are no regions
2019-12-19 13:14:45 -07:00
d0668721d5
Vkeybd simplification
...
* remove Y-axis dependent velocity (difference between
black/white keys made this not very usable
* remove Bank/Patch selector (there are already three other
Bank/Patch UIs
* move keyboard-layout selection into Preferences > MIDI
2019-12-19 18:57:40 +01:00
01291f3e0f
Vkeybd: re-layout, prepare config & patch pane removal
2019-12-19 18:45:49 +01:00
89ca6e151a
Vkeybd: add a mod-wheel
2019-12-19 18:45:49 +01:00
8deed500a4
fix thinko ... we're checking if a DiskReader handles audio
2019-12-19 09:09:42 -07:00
3c83979a50
further improve debug message
2019-12-18 19:56:38 -07:00
c8b9184956
fix thinko in MidiRegion::render()
...
MidiSource::read() wants a length, not an end-sample.
This should fix (at least) some cases where notes past the region end
get included/played
2019-12-18 19:50:32 -07:00
9bd8e67f39
remove debug message
2019-12-18 19:49:34 -07:00
ebe1aeb146
fix debug message
2019-12-18 19:49:09 -07:00
8b3e7fea37
fix Temporal::Beats::operator*
2019-12-18 18:00:53 -07:00
aa856b509c
tweak debug output
2019-12-18 18:00:33 -07:00
a73577a45a
do not try to process audio in a diskreader with no audio playlist
2019-12-18 17:34:39 -07:00
aeefd7e50a
fix crash when looping with a MIDI track
2019-12-18 15:05:49 -07:00
0aa3c58705
Remove VST plugin discovery option from first-start wizard
...
Because (a) it makes the startup seem "very long and complicated",
and (b) sometimes fails or crashes weirdly,
or (c) a plugin dialog gets hidden behind the main window, or ...
Overall the first impression of the program may be horrible when
the first step includes discovering VST plugins.
2019-12-18 15:04:41 +01:00
a9f6484816
Fix DSP load sorting with inactive plugins
2019-12-18 00:54:11 +01:00
c49c17ffff
Cont'd work on Playlists import from old 2.x sessions
...
v2.0.0 sessions don't save empty playlists. So missing playlists
for a give diskstream are fine. Just use a default empty one.
2019-12-17 22:56:12 +01:00
53f72dd402
a new stop command while in the middle of declick-to-stop is not a bad transition
2019-12-17 13:21:38 -07:00
f76c897f04
Directly apply MIDI automation state changes
...
Previously "play/off" and "discrete/linear" changes had no effect
until the MIDI playlist was edited and MIDI re-read into RAM.
2019-12-17 17:17:27 +01:00
9c6d9324bd
VKeybd: exponential pitch-wheel/bend interpolation
2019-12-17 16:47:46 +01:00
37c9a7beb1
Fix MIDI port i/o when vari-speeding
2019-12-17 05:56:49 +01:00
7fe9fb1f4e
Indicate current Disk-I/O setting
2019-12-17 01:53:33 +01:00
848831d844
Convert Disksteam & Playlists from old 2.x sessions
2019-12-17 00:42:28 +01:00
c144e807ef
remove mistakenly left-in debug stacktrace
2019-12-16 16:18:30 -07:00
cd78a168b2
reinstate missing latency initialization code
...
Removed (mistakenly) during work on transportFSM
2019-12-16 16:13:39 -07:00
cafd1b792c
expand DEBUG_TRACE output
2019-12-16 16:13:39 -07:00
2c24e6af36
Remove cruft, unused API
2019-12-16 23:37:57 +01:00