Robin Gareus
d171bbf337
Allow vari-speed slowdown down to 2%
2019-11-14 19:39:48 +01:00
Robin Gareus
a666429d12
Fix MIDNAM device list for plugin-provided names
2019-11-13 23:00:55 +01:00
Robin Gareus
4c9da04584
Amend previous commit - latch toggles only while rolling
2019-11-13 22:15:46 +01:00
Robin Gareus
dbd327e692
Automation watch toggle buttons and enforce latch
2019-11-13 22:02:07 +01:00
Robin Gareus
74f8db2def
Remove boolean automation special case
...
Previously setting a boolean-control to "write" and roll did not
create an automation-point.
The state was not correctly captured.
The boolean-control needed to be toggled explicitly to create
an automation point.
2019-11-13 17:21:51 +01:00
Robin Gareus
ff301419b3
Fix automation-write when locating
...
When locating while writing automation, begin a new write-pass,
and add a guard point at the locate target position.
NB set_in_write_pass takes 3 arguments: (write_enable, add_point, when)
the last two default to false, 0.
2019-11-13 16:57:28 +01:00
Robin Gareus
7d90ad4023
Fix bool-automation anchor
...
Typo sneaked in from ff2f93497...cc7de475f2
2019-11-13 16:53:46 +01:00
Robin Gareus
9b3ebd82ab
Tweak layout of Plugin-Preset dialog
2019-11-12 19:34:12 +01:00
Robin Gareus
39fa4103f7
Allow to override plugin-provided MIDNAM
2019-11-12 17:00:50 +01:00
Robin Gareus
a83c6badfe
Skip custom MIDNAM files in generic MTAV list
2019-11-12 06:29:05 +01:00
Robin Gareus
de02201056
Add API to query if a given MIDNAM is plugin-provided
2019-11-12 06:28:02 +01:00
Robin Gareus
5b86ece17a
Indicate the numeric peak-hold is always digital-peak
2019-11-12 00:07:51 +01:00
Robin Gareus
4a5c9c759b
Only retain control-port connections
...
When MIDI input follows selection, ports that provide music-data
should be disconnected, even if they *also* provide control-data
2019-11-11 23:37:11 +01:00
Robin Gareus
383850d329
Prefs > Plugins > Scan should discover new plugins
...
First argument is `cache_only`. `false` means to discover news ones.
2019-11-10 22:33:46 +01:00
Christopher Arndt
8fe978a8e5
Log warning if host does not support midnam/bankpatch extensions
...
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2019-11-10 00:49:18 +01:00
Christopher Arndt
d6ed5c2080
Fix segfault: don't try to use midnam:update extension if host doesn't support it
...
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2019-11-10 00:47:57 +01:00
Robin Gareus
70442ae7e3
Ask xjadeo to use ArdourMono font for OSD
2019-11-09 06:34:31 +01:00
Robin Gareus
b157e1a09a
Remove invalid error message
...
This clause is in NO_VFORK, vfork_exec_wrapper is irrelevant there
2019-11-09 06:30:46 +01:00
Robin Gareus
a8a699133e
Fix child-process communication (video monitor in particular)
...
103ef2ba08 introduced an API to write raw data (const void*)
to a child process, along with the previous API to
write (std::string const&)
VideoMonitor uses write_to_stdin("fixed text"), and g++
interprets this to use the (const void*) API instead
of the std::string, which breaks communication.
2019-11-09 06:28:55 +01:00
Robin Gareus
edf9478fda
Fix endless loop when drag/copy locked region
2019-11-09 06:00:02 +01:00
Robin Gareus
a8f9ba4a5e
Preview video frame when dragging
2019-11-09 06:00:01 +01:00
Robin Gareus
a701882e66
Add convenience methods to test for active drags
2019-11-09 05:59:55 +01:00
Paul Davis
3cecc3d26b
fix crash if Splash::pop_back_for() is called without splash on-screen
2019-11-08 16:57:11 -07:00
Robin Gareus
9b0ffbfb94
Fix Metronome: use loop-range only when looping
2019-11-08 22:49:46 +01:00
Robin Gareus
5daa0fca7c
Fix tempo-grid calculation: prevent duplicate events, enforce range
2019-11-08 22:49:23 +01:00
Robin Gareus
240e3e8dc0
Fix uninitialized value
...
ARDOUR::LV2Plugin::init -> lilv_state_restore () -> set_port_value ()
compares new against current value
2019-11-08 21:01:28 +01:00
Paul Davis
b79d47b1b5
fix crash caused by storing clock modes while loading a session
...
The store would delete any existing node of the same name,
which was the node being used to set the mode in the first
place.
2019-11-08 12:40:26 -07:00
Robin Gareus
bd90499532
Ignore latency of inactive routes
2019-11-08 17:50:26 +01:00
Robin Gareus
41ad43fa5f
Remove unused signal
2019-11-08 17:50:23 +01:00
Robin Gareus
181bc74ae2
Click: pre-allocate memory for grid-point lookup
2019-11-08 17:50:19 +01:00
Robin Gareus
804f9c9bde
Fix metronome when looping
2019-11-08 17:50:16 +01:00
Robin Gareus
08fdb98262
Fix loop/pre-roll
...
Pre-roll to fill buffers only needs to be done once when starting
to play or when locating.
Seamless looping just continues. Every processor takes the loop
position into account locally.
2019-11-08 17:50:13 +01:00
Paul Davis
f37758ffb7
remove stacktrace
2019-11-06 23:55:46 -07:00
Paul Davis
dad47e445c
remove debug output
2019-11-06 23:54:47 -07:00
Paul Davis
f04ee50375
do not transition "back" to Rolling by calling start_transport() if a locate was for loop-end
...
We never stopped the transport, so there's no reason to start it again. Doing so causes alignment problems
because all tracks have their ::run() ranges reinitialized
2019-11-06 23:54:34 -07:00
Paul Davis
625b8297ea
fix unconditional note resolution during DiskReader::realtime_locate()
...
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() -
::get_midi_playback() has already taken care of this. But when not looping, we need this. So,
add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-06 22:12:40 -07:00
Paul Davis
eda27cc3de
move all responsibility for autostart into StartupFSM and out of engine dialog
2019-11-06 17:35:30 -07:00
Paul Davis
88c4158c03
remove unused API
2019-11-06 17:05:07 -07:00
Paul Davis
f13c8f3d07
implement intended auto-start logic for startupFSM
2019-11-06 16:51:03 -07:00
Paul Davis
d7b6d6e2c4
if user uses Ctrl/Cmd-w to close a dialog during startup, treat that as a request to exit
2019-11-06 16:32:46 -07:00
Paul Davis
6f4e838a58
add a signal to Gtkmm2ext::Keyboard to allow (possible) handling of close-current-dialog
2019-11-06 16:25:30 -07:00
Paul Davis
febaa1ff2d
fix unconditional note resolution during DiskReader::realtime_locate()
...
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() -
::get_midi_playback() has already taken care of this. But when not looping, we need this. So,
add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-06 16:00:31 -07:00
Robin Gareus
9694f89966
Use strict-i/o on master-bus by default
...
This precludes issues with multi-out-plugins adding an excessive
number of ports and changing master-panning.
2019-11-06 20:05:50 +01:00
Len Ovens
7dd7488872
Session should not be accessed when not there.
2019-11-06 08:30:11 -08:00
Paul Davis
f61f938503
remove debug message
2019-11-06 09:28:23 -07:00
Paul Davis
24252b92c6
move at-exit messages about pool utilization to DEBUG_TRACE
2019-11-06 09:27:49 -07:00
Paul Davis
d5cfc898e4
resolved notes need to use cycle-relative time
2019-11-06 09:07:12 -07:00
Paul Davis
cd7fc3711a
be sure to move effective_start while loop-reading MIDI
2019-11-06 09:03:55 -07:00
Paul Davis
cc741bdea5
fix DiskReader::get_midi_playback() when looping
...
Although at the Session level we never run "through" the loop end,
latency compensation means that that start/end sample values passed to
Processor::run() may cross the loop end. Fix how we handle this so
that we do not read data from after the end of the loop
2019-11-06 08:58:09 -07:00
Paul Davis
0bb34edec0
improve comment about warning message
2019-11-06 08:56:50 -07:00