13
0
Commit Graph

28736 Commits

Author SHA1 Message Date
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
9ddc4fcce9
Vkeybd: fix octave up/down direction, speed up pitch-bend 2019-12-16 15:42:42 +01:00
John Emmas
8e26b4813b Add/remove source(s) in our MSVC project (gtk2_ardour) 2019-12-16 14:34:41 +00:00
322e6e08c4
Vkeybd: grab all key-events and use timer instead of key-repeat
This fixes an issue with arrow-keys (up/down, left/right). Those
were previously only handled when the Virtual Keyboard window itself
had focus.

Also key-repeat for pitch-bend is now ignored and a dedicated timer
is used to queue events. This fixes an issue with the first repeat
taking longer than successive ones, and makes this feature independent
of any desktop user settings.
2019-12-16 15:02:39 +01:00