Robin Gareus
f7b826841b
Log Thread-name in stacktrace
2022-01-26 00:17:49 +01:00
Paul Davis
b7769a8f4b
possible fix for a valgrind reported illegal read
2022-01-24 16:42:12 -07:00
Robin Gareus
bdb91a434a
Simplify call to find_route_name()
...
Use std::string directly. There's no need to create a temporary
std::string from a char* when the API can use it directly.
2022-01-24 21:25:20 +01:00
Robin Gareus
7128c9958f
Fix crash when duplicating track(s)
...
Compare to PluginInsert::set_state(). The sidechain must not
inherit the name from the template track. That leads
to port-name ambiguities.
Also later there will be a crash when ::update_sidechain_name()
calls IO::set_name since: _name is not found in _current_name.
2022-01-24 21:25:20 +01:00
Paul Davis
8a310a748a
add new config variable for interview-editing
...
If enabled, this prevents range-selection from propagating across
all tracks when RippleAll is set
2022-01-24 11:29:36 -07:00
Robin Gareus
1c5cfdad82
..but there is a Temporal::timecnt_t modulo operation
2022-01-24 06:51:28 +01:00
Robin Gareus
dd0dcd6d59
timepos_t modulo operator is defined but not implemented
2022-01-24 06:50:52 +01:00
Robin Gareus
90ff5de6e3
Add Lua bindings for libtemporal type operations
...
This allows to use standard arithmetic (+ - * / %) and
relational (< <= ==) operations on Temporal::timepos_t
and Temporal::timecnt_t class instances.
Furthermore `print()` outputs the actual value (no longer
user-data pointer to the instance).
2022-01-24 06:23:16 +01:00
Robin Gareus
d51a1ccd99
Add API to modify Lua Metatable and set Metamethods
...
This allows to map C++ operators to be used as Lua
arithmetic and relational operations.
2022-01-24 06:23:16 +01:00
Ben Loftis
00aec4f91e
Trigger page: changes to cue-recording behavior (see comments)
2022-01-23 20:24:44 -06:00
Ben Loftis
f35cb6da8f
trigger page: cue recording should be disabled by default
2022-01-23 20:24:44 -06:00
Paul Davis
fea76a4adf
fix thinko in cleaning up of XML nodes in Session::memento_command_factory()
...
"child" is not an independent object, but points to either before or after, both of which have
already been deleted
2022-01-23 07:46:45 -07:00
Mads Kiilerich
6ff1d86cad
wscript: improve configure messages slightly
2022-01-22 22:19:07 +01:00
Mads Kiilerich
8bb91099c5
wscript: drop configure statements already present in the top level wscript
...
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!) : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler) : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
Mads Kiilerich
7f6ce9a010
sndfile: Fix skipping of first character of file names in error logging.
...
Logs for a file named ABCDEF.flac showed up as
2022-01-19T16:31:55 [ERROR]: SndFileSource: could not seek to sample 90059776 within BCDEF.flac (No Error.)
So, evidently, there is no need for the substr(1).
_name is a PBD::Property<string> which already uses .val() for <<.
The same pattern is found and fixed in sndfilesource.cc and
coreaudiosource.cc .
2022-01-22 21:48:40 +01:00
Mads Kiilerich
197ec7a943
vst2: drop unused vst2_suffix static function
...
Address build warning:
../libs/fst/../ardour/vst2_scan.cc:549:20: warning: ‘std::string vst2_suffix()’ defined but not used [-Wunused-function]
549 | static std::string vst2_suffix () {
| ^~~~~~~~~~~
2022-01-22 20:26:50 +01:00
Robin Gareus
f9f3f598c4
Address rare race condition when creating sidechain inputs
...
Do not run the sidechaing processor before the processor
was configured. This ensure that Route::configure_processors()
has completed and ensure_buffers() was called.
Otherwise it may happen Sidechain::run could request a buffer
that is n/a (BufferSet::get_available assertion, see also 687149d8d2 )
2022-01-22 19:26:27 +01:00
Robin Gareus
0e6561b009
Fix Thread & Lock issues when adding Triggerbox w/sidechain
...
Track::init() must not call `add_processor` directly.
The track is not in the process graph, yet and hence various
calls (e.g. lock graph, update latency etc) are not applicable.
Furthermore ::add_midi_sidechain() calls IO::add_port()
which takes the process-lock.
The solution is to create the Triggerbox early on and let Route::init
deal with it like any other internal processors.
2022-01-22 04:20:55 +01:00
Robin Gareus
687149d8d2
Require Session MIDI buffer for Triggerbox sidechain
...
This fixes an issue when adding a MIDI track, but there there
are no session-buffers for it, leading to:
ARDOUR::Buffer& ARDOUR::BufferSet::get_available(ARDOUR::DataType, size_t): Assertioni < _available.get(type)' failed.
2022-01-22 04:20:54 +01:00
Robin Gareus
fc9f796257
Revert "Process-lock is required when changing processors"
...
This reverts commit 0a213e71b3 .
which needs a better solution to prevent deadlock in case the lock is
already taken.
2022-01-22 00:31:54 +01:00
Robin Gareus
0a213e71b3
Process-lock is required when changing processors
...
This is somewhat unfortunate, since session.cc also takes the
lock shortly afterward to call ->ensure_io()
This should be consolidated before release.
2022-01-22 00:06:13 +01:00
Paul Davis
2fa8c7cd42
triggerbox: if any cues were recorded, remove all existing cue markers in transport-roll-range before adding new ones
2022-01-21 13:08:47 -07:00
Paul Davis
fd3ddce80a
do not play existing cue markers while recording cues
2022-01-21 10:55:55 -07:00
Paul Davis
e14acfc07d
prevent multiple cue markers at the same location
2022-01-21 10:55:55 -07:00
Paul Davis
76f4813ee6
triggerbox: experimentally enable cue recording by default
2022-01-21 10:55:55 -07:00
Paul Davis
b023b97538
triggerbox: flush newly recorded cue markers back to RT context
2022-01-21 10:55:55 -07:00
Paul Davis
d830800ed9
triggerbox: add flush-at-transport-stop from recorded cues to locations
2022-01-21 10:55:54 -07:00
Paul Davis
8d1684e1f7
triggerbox: store cue bangs in process thread when discovered
2022-01-21 10:55:54 -07:00
Paul Davis
9abf6bc260
triggerbox: introduce member var to control cue recording
2022-01-21 10:55:54 -07:00
Paul Davis
f63c049d87
triggerbox: add struct and ringbuffer for recording cues
2022-01-21 10:55:54 -07:00
Ben Loftis
4bc3230756
Locations: provide a signal for when a single Location's Cue-ID changes
2022-01-21 10:06:18 -06:00
Ben Loftis
11bb40a06e
Ruler Markers: for now, ignore Cue Markers in various Range operations
2022-01-21 10:02:18 -06:00
Paul Davis
5ade0927dd
remove Other/Any follow action types
2022-01-20 18:56:07 -07:00
Paul Davis
b94c5dcec7
remove Next/Prev (Live-style) follow action types
2022-01-20 18:56:07 -07:00
Paul Davis
bbdfc5e777
remove FollowAction type "QueuedTrigger"
2022-01-20 18:56:07 -07:00
Paul Davis
90e6107972
triggerbox: left follow action == None means "no follow action at all"
2022-01-20 14:15:45 -07:00
Paul Davis
8ddf057553
triggerbox: fix enum (compiler should have noticed this)
2022-01-20 14:15:25 -07:00
Paul Davis
b884f7c534
triggerbox: do not use follow length when (left) follow action is None
2022-01-20 14:03:40 -07:00
Paul Davis
68c87c3f29
triggerbox: fix various errors caused by not setting transition_bbt
...
In cases where no quantization is done, transition_bbt was not set,
and this led to expected_end_sample being incorrect.
2022-01-20 13:57:47 -07:00
Paul Davis
02f4daffe4
fix inconsequential debug-trace garbage value report from clang
2022-01-20 13:40:49 -07:00
Paul Davis
ee5d3da929
fix inconsequential (unlikely) memory leak from clang
2022-01-20 13:40:49 -07:00
Paul Davis
4c9460b697
fix incorrect code that passed a null boost::shared_ptr<AudioRegion> into a ::get_state() call
2022-01-20 12:07:59 -07:00
Paul Davis
413f2e9d1b
triggerbox: implement (?) JumpTrigger follow action
2022-01-20 11:01:00 -07:00
Paul Davis
993c7c4bec
canvas: manually remove changes from 6f91dc0799 and implement same goal in a different way
...
The AudioClipEditor features a scroll bar that is a part of the canvas. Because scroll
groups are at the top level of a canvas, the scroll bar is necessary within a scroll
group, which causes it to get confused about the difference between its own
position within the canvas and that of the scroll group. This commit introduces
a per-Item flag, _scroll_translation, which is true by default. If false, the
item will not have coordinates translated to reflect scroll group position.
2022-01-20 09:45:47 -07:00
Paul Davis
95edfbac4a
triggerbox: change FollowActions into an object with a target list
...
Should be no functional changes in this commit, but older sessions will likely not
load.
2022-01-19 15:50:55 -07:00
Robin Gareus
62a098811c
Allow DnDTreeView drag w/o object reference
2022-01-19 17:13:51 +01:00
Paul Davis
dbefba9904
temporal: have tempo map expose it's separate (intrusive) lists of tempo, meter and bbt points
2022-01-18 19:47:20 -07:00
Robin Gareus
4ec70bbaec
Source::natural_position API uses samplepos_t
2022-01-19 03:01:09 +01:00
Ben Loftis
267229c03c
ArdourCanvas::Arc (i.e. Circle) should allow for child items to be drawn
2022-01-18 16:42:00 -06:00
Ben Loftis
9be853d555
triggerbox: initialize the follow_count value as well as barcnt
2022-01-18 16:33:45 -06:00