d4ecfc7d85
Use new boost::optional API
...
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:48:56 +01:00
216492c60c
Bump boost version requirement
...
1.56 is needed for boost::optional::value_or
2019-11-21 17:43:32 +01:00
53b1d17c60
Fix multi-channel de-click
...
_declick_amp gain needs to be reset for each channel before
the test (_declick_amp.gain() != target_gain) if de-clicking
is needed.
2019-11-21 02:54:19 +01:00
78d5e6af28
add mixer actions for toggle disk & input monitoring; bind to d and i in mixer bindings
2019-11-20 09:37:33 -07:00
7fec401b8d
Fix declick offset position for multi-channel tracks
2019-11-19 16:20:28 +01:00
4534af0a4c
DiskReader::_declick_offs should only advance once per ::run() call
2019-11-18 21:45:39 -07:00
9b92084ed6
DiskReader::_declick_amp needs to repeat the same work for each audio channel handled
2019-11-18 21:45:39 -07:00
530a4393dc
fix transport FSM to stop first and declick later
2019-11-18 21:45:39 -07:00
5048b86d5d
small changes to make declick out triggered by just stopping
2019-11-18 21:45:39 -07:00
cf8a808bd7
Fix some script icons for non-square buttons
2019-11-19 04:41:12 +01:00
7aaf212a9b
Fix Lua Pangolayout ellipsis width
2019-11-19 04:41:12 +01:00
7b733eb3f0
Consistent toolbar button height
2019-11-19 04:41:11 +01:00
605a87f402
Improve toolbar layout consistency
...
Directly pack Lua Script buttons into top-level table,
use same size-constraints.
Use consistent Lua Action button width, in particular for buttons 10..12.
prefer "a" instead of "10" for default numeric label
2019-11-19 04:41:06 +01:00
c07db6d655
unset _reversed whenever RTMidiBuffer gets ::clear()'ed
2019-11-18 15:38:18 -07:00
75cb57194e
add missing NULL check
2019-11-18 13:07:40 -07:00
e52fd47049
Latency compensation is independent of transport-logic
...
This also fixes a concurrency issue when when non-realtime-stop
and graph-reorder or other rt-latency changes coincide.
2019-11-18 20:22:08 +01:00
a8d62ce056
use reverse-reading of MIDI data in DiskReader
2019-11-18 12:01:43 -07:00
725a6fc67f
support backwards reading of MIDI from RTMidiBuffer
2019-11-18 12:01:43 -07:00
80cab52a06
fix typo/thinko in logic to decide if MIDI buffers in DiskWriter require the butler (to write to disk)
2019-11-18 12:01:43 -07:00
3cf888498a
Fix automation lookup when rolling backwards
2019-11-18 15:55:32 +01:00
3b2b946d4e
NO-OP: simplify code
...
find_next_ac_event, needs to find the next event *after* (but not
at) start.
std::upper_bound returns an iterator pointing to the first element
in the range [first, last) that is greater than value.
This is equivalent to using std::lower_bound an iterating until
finding the first element greater than.
2019-11-18 15:55:17 +01:00
f49d11d5e3
Automation event lookup when rolling backwards
...
When rolling backwards we need to be able to find
the *next* event before "start".
2019-11-18 15:55:13 +01:00
81d8f0faa7
Tweak LFO script
...
* thin automation to prevent too dense events
* add icon (cosine wave)
2019-11-17 14:52:22 +01:00
8e8249b595
remove debug output
2019-11-15 20:42:15 -07:00
bd509bba49
fix questionable and not entirely intended change that was a part of dad47e445c
2019-11-15 20:40:23 -07:00
1c7e446cb4
better transport master behavior when working with sample-clock-synced transport masters
2019-11-15 16:06:04 -07:00
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