13
0
Commit Graph

28789 Commits

Author SHA1 Message Date
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
415d3191de
Parse v2 session-information 2019-12-16 23:37:57 +01:00
eff5462009
Lua bindings for well-known send controls 2019-12-16 23:37:53 +01:00
Nikolaus Gullotta
ce54e342ed
Add additional roll check in transport_record
Previously there was no check for roll in case Session::Enabled this
can cause issues with "latched-record-enable" and "transport-roll"
2019-12-16 13:06:04 -06:00
0b4b53b821 fix logic error that prevented MIDI playlists from being rendered at load time
An edit was required to force the render
2019-12-16 10:24:57 -07:00