d64cf7a762
improve behavior when synced to JACK transport
...
Heuristic and actions when a locate is needed are different for
JACK transport than TC
2019-11-15 16:06:04 -07:00
098bce1ece
improve initial coordinate with JACK transport state
2019-11-15 16:06:04 -07:00
3d74af6c1f
better debugging message
2019-11-15 16:06:04 -07:00
a7613eb191
consolidate setting of "get roll after locate" in TFSM
2019-11-15 16:06:04 -07:00
4c688fe7f9
NO-OP: move brace
2019-11-15 16:06:04 -07:00
8f71b6430b
when synced to JACK transport, transport requests go there first.
2019-11-15 16:06:04 -07:00
df4a30b1a0
fix behavior of Session::maybe_stop() when synced to JACK Transport
2019-11-15 16:06:04 -07:00
ba4e7015de
make comment more accurate
2019-11-15 16:06:04 -07:00
5c9e7b8234
consolidate Session::locate() and Session::do_locate()
...
The first no longer needs to handle requests by passing them to
JACK transport
2019-11-15 16:06:04 -07:00
7199b657ba
no need for MidiClockTransportMaster::starting() method
2019-11-15 16:06:04 -07:00
4637c49838
improve behavior of JACK transport sync callback.
...
Do not call transport actions directly, just report back to JACK
on transport status.
2019-11-15 16:06:04 -07:00
0b52ea7a9c
add a bit of debugging to JACK transport code
2019-11-15 16:06:04 -07:00
302fe227b8
fix resampling ratio when stopped (corner case - not typically called)
2019-11-15 16:06:04 -07:00
ec2ba35997
move DiskReader::inc_no_disk_output() into .cc to allow for easier debugging
2019-11-15 16:04:58 -07:00
16c571c9b6
fix crash with -D slave caused by too-early use of a transport master's _port member
2019-11-15 16:04:58 -07:00
8a847dbf34
fix oddly damaged code (vs. 5.x) for EngineSlave core methods (JACK transport)
2019-11-15 16:04:58 -07:00
c69227fd8d
eliminate hacky design for being able to deliver the correct time as JACK timebase master
2019-11-15 16:04:58 -07:00
2f87b111e5
fix up the creation & state restore of the TransportMasterManager
2019-11-15 16:04:58 -07:00
457ab6d35f
put JACK time master option back in the menus
2019-11-15 16:04:58 -07:00
Daniel Appelt
5fb949267d
Add script to create LFO-like plugin automation
2019-11-14 22:43:21 +01:00
3c446a5275
Fix cycle-end position when not rolling
...
When stopped start_sample == end_sample.
This fixes accidental automation lookup,
as well as plugin time/position information.
2019-11-14 21:50:00 +01:00
32cfed6253
Relax LV2 time-info re-transmission condition
...
Allow beat (quarter-note count) to drift by 1/100 beat before re-sync.
This prevents excessive re-transmissions
2019-11-14 21:37:14 +01:00
6481437f0a
LV2 extension for host's time-scale vari-speed
...
Ardour 6 internally always runs at speed 1.0 (or -1.0, or stopped 0.0).
There is no vari-speed that scale "BPM" or "n_sample" time progression
per cycle.
Instead Ardour 6 vari-speed mechanism transparently re-samples I/O.
So process-time is scaled only relative to wall-clock time.
From a plugin's POV this is similar to "freewheeling": The plugin
processes data as if the host plays at speed 1.0. While the host
plays this data at a different rate.
Some plugins may like to be informed about the host's actual
playback rate.
Currently this is mainly for the benefit of github.com/x42/repitch.lv2.git
2019-11-14 21:15:30 +01:00
3e99856f76
Initialize uninitialized variables
...
This also ensures that musical-time information is initially
transmitted to a plugin.
2019-11-14 20:03:22 +01:00
d171bbf337
Allow vari-speed slowdown down to 2%
2019-11-14 19:39:48 +01:00
a666429d12
Fix MIDNAM device list for plugin-provided names
2019-11-13 23:00:55 +01:00
4c9da04584
Amend previous commit - latch toggles only while rolling
2019-11-13 22:15:46 +01:00
dbd327e692
Automation watch toggle buttons and enforce latch
2019-11-13 22:02:07 +01:00
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
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
7d90ad4023
Fix bool-automation anchor
...
Typo sneaked in from ff2f93497...cc7de475f2
2019-11-13 16:53:46 +01:00
9b3ebd82ab
Tweak layout of Plugin-Preset dialog
2019-11-12 19:34:12 +01:00
39fa4103f7
Allow to override plugin-provided MIDNAM
2019-11-12 17:00:50 +01:00
a83c6badfe
Skip custom MIDNAM files in generic MTAV list
2019-11-12 06:29:05 +01:00
de02201056
Add API to query if a given MIDNAM is plugin-provided
2019-11-12 06:28:02 +01:00
5b86ece17a
Indicate the numeric peak-hold is always digital-peak
2019-11-12 00:07:51 +01:00
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
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
70442ae7e3
Ask xjadeo to use ArdourMono font for OSD
2019-11-09 06:34:31 +01:00
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
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
edf9478fda
Fix endless loop when drag/copy locked region
2019-11-09 06:00:02 +01:00
a8f9ba4a5e
Preview video frame when dragging
2019-11-09 06:00:01 +01:00
a701882e66
Add convenience methods to test for active drags
2019-11-09 05:59:55 +01:00
3cecc3d26b
fix crash if Splash::pop_back_for() is called without splash on-screen
2019-11-08 16:57:11 -07:00
9b0ffbfb94
Fix Metronome: use loop-range only when looping
2019-11-08 22:49:46 +01:00
5daa0fca7c
Fix tempo-grid calculation: prevent duplicate events, enforce range
2019-11-08 22:49:23 +01:00
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