Paul Davis
25bd59958c
triggerbox: fix/add save/restore of trigger _follow_length property
2022-01-13 13:30:04 -07:00
Paul Davis
d8c90decf3
triggerbox: use follow length when quantizing re-start of Again-selected trigger
...
This also changes the virtual method from ::startup() to ::_startup() so that we can
safely have a default argument in ::startup().
2022-01-13 12:09:23 -07:00
Paul Davis
98cd0f1ba3
triggerbox: fix for handling follow lengths, previously for MIDITrigger now for Audio
2022-01-13 12:07:26 -07:00
Paul Davis
c3732e12ea
fix handling of zero _follow_length in MIDI triggers
2022-01-12 21:43:40 -07:00
Robin Gareus
beb0a96f42
API to directly retrieve XML child content
2022-01-13 00:09:55 +01:00
Paul Davis
a9d2a1c3f8
triggerbox: reset default _follow_Length to zero
2022-01-12 14:17:33 -07:00
Paul Davis
2ed4af0c7a
triggerbox: continued work on getting MIDITriggers to use _follow_length correctly
2022-01-12 14:12:20 -07:00
Ben Loftis
ac97b30e55
triggerbox: implement stretch options, save+recall
2022-01-11 16:27:03 -06:00
Paul Davis
4d04849be9
triggerbox: continuing work on follow action length, particuarly for MIDI triggers
2022-01-11 11:48:22 -07:00
Ben Loftis
7fdc83bfbf
triggerbox: disambiguate velocity_gain from the trigger's gain property
2022-01-10 19:33:05 -06:00
Paul Davis
04bc44c7ad
triggerbox: fix typo
2022-01-10 15:51:12 -07:00
Paul Davis
e0004791f0
triggerbox: fix audio clips when _follow_length is zero
2022-01-10 15:49:07 -07:00
Paul Davis
0c89ab82e1
triggerbox: tweaks, twirls and scrapes to get _follow_length working, apparently
2022-01-10 14:03:06 -07:00
Paul Davis
cb83d11681
triggerbox: add new trigger state enum to enums.cc
2022-01-10 14:02:38 -07:00
Paul Davis
dbb816b1f9
triggerbox: add "final sample" concept to start dealing with post-data playout
2022-01-10 14:02:38 -07:00
Paul Davis
1afc0ce69c
triggerbox: add follow length property to triggers (not used yet)
2022-01-10 14:02:33 -07:00
Robin Gareus
1078dc7eda
DnD-TV: Allow to specify TargetFlags
2022-01-10 20:40:46 +01:00
Robin Gareus
16511974e2
Fix class/struct mismatch C++ ABI [-Wmismatched-tags]
2022-01-10 00:06:24 +01:00
Robin Gareus
30539716ca
Fix various Wcast-qual
...
g_atomic_int_get() requires a non-const pointer, however
many APIs are declared virtual const, so const_cast<> is
preferred over an API change.
2022-01-10 00:06:20 +01:00
Ben Loftis
4146177da3
triggerbox: when asked to stop by the user, clips should extend to the next bar boundary (and no further)
2022-01-07 16:05:07 -06:00
Ben Loftis
c157490311
triggerbox: fix N-bar quantization: bars are 1-based
2022-01-07 16:05:07 -06:00
Ben Loftis
4e5f171fe2
triggerbox: the default quantization for a clip should be 'bars'
2022-01-07 16:05:01 -06:00
John Emmas
031dce4ba4
Minor fix to commit # 45df39bd0e from yesterday
...
class 'AutomatableSequence' was trying to access a member that's private to its base class
2022-01-07 10:29:31 +00:00
Ben Loftis
78b39284d8
triggerbox: workaround for midi import crash. TODO: investigate root cause
2022-01-06 21:17:54 -06:00
Paul Davis
2f9b84fd48
triggerbox: resolve MIDI notes whenever a MIDI cue is stopped
2022-01-06 16:50:55 -07:00
Paul Davis
caba23ff4f
remove misleading/out-of-date instructions in comment
2022-01-06 14:22:07 -07:00
Paul Davis
b909c07a2d
triggerbox: fix failure of triggers to end at the right time when something happens to stop them early
...
nframes needed to be reduced to reflect the expected transition time. This change also consolidates any adjustment to
nframes and dest_offset for "starts within the interval" cases.
2022-01-06 13:48:23 -07:00
Paul Davis
436b81be9a
NOOP: change code pattern to return early from conditional rather than leaving body inside true condition scope
2022-01-06 12:07:22 -07:00
Paul Davis
8bf494e5a8
change nature of CueBehavior enum to be bitwise
...
This allows us to OR-in the ImplicitlyIgnoreCues bits, and still toggle
FollowCues on and off to indicate user-requested behavior
2022-01-06 11:59:58 -07:00
Paul Davis
44d52133ae
triggerbox: ignore cue-marker cues if told to do so
2022-01-06 11:23:02 -07:00
Paul Davis
85b8816287
NOOP: remove spurious character in comment
2022-01-06 11:12:49 -07:00
Paul Davis
4e482076ea
add config param to control response to cue markers
2022-01-06 11:10:28 -07:00
Paul Davis
45df39bd0e
fix mysterious incorrect copy constructor call for AutomatableSequence
...
msvc calls this out, but gcc/clang do not. It is not clear why, and it might be worth understanding why
2022-01-06 10:36:50 -07:00
Paul Davis
a187b5e1fb
triggerbox: reimplement timeline cues without session events
2022-01-06 00:23:27 -07:00
Paul Davis
fd2f2f46cc
triggerbox: implement cue-triggering session event handling (sync with location markers)
...
Still requires handling tempo changes
2022-01-05 13:27:47 -07:00
Paul Davis
f1a81b303a
add several newer enums to libs/ardour/enums.cc
2022-01-05 13:27:47 -07:00
Paul Davis
acdc1cd707
extend/adjust Location API to handle cue markers
2022-01-05 13:27:47 -07:00
Paul Davis
93b30976e5
cue events: some basic handling framework for syncing cue markers with session events that implement them
...
This doesn't actually do anything yet
2022-01-05 13:27:47 -07:00
Paul Davis
5783664b9e
locations: provide Location::cue_change signal to notify about cue marker changes
2022-01-05 13:27:47 -07:00
Paul Davis
54aa57a297
fix naming of unnamed cue locations
2022-01-05 13:27:47 -07:00
Paul Davis
8a49d274fb
fix luabindings for Editor.mouse_add_new_marker(), since API changed
2022-01-04 15:23:51 -07:00
Paul Davis
c2d18dabd5
add new location flag, IsCueMarker
2022-01-04 15:23:51 -07:00
Paul Davis
58d4c1e317
triggerbox: add ReTrigger launch style; do not stop running slots when cue launching
2022-01-03 17:45:21 -07:00
Robin Gareus
b72268f6e1
triggerbox: rename sidechain port when track's name chanes
...
Just like PluginInsert::update_sidechain_name, the name is
implicitly set, using the owning route's name, suffixed with the
[i18n localized] Processor name.
This fixes an issue if a track is renamed and a new track with
the old name is created. This commonly happens during File Import:
For each ImportAsTrack a generic named track (e.g. "Audio") is created
before it is renamed.
Previously this lead to
Failed to register port "Audio 1-trig/midi_in 1", reason is unknown from here
2022-01-04 01:22:34 +01:00
Robin Gareus
3c2878974c
Always create a triggerbox with new tracks
...
This fixes an issue when creating tracks from the import dialog,
or via Drag/Drop, or using a template.
All tracks should always have trigger-boxes.
2022-01-03 23:41:58 +01:00
Robin Gareus
47d34bfbfb
Tweak FPU test for FMA
...
FMA may return *more precise* results since there is no intermediate
rounding when computing (a + b * c).
(b * c) is evaluate with infinite precision and only the final result
after adding a is rounded to float32. This allows for a FLT_EPSILON
difference compared to rounding (b * c) first.
2022-01-03 02:34:53 +01:00
Ayan Shafqat
b90bfa2597
Fix pointer math for prefetch
2022-01-03 02:01:12 +01:00
Ayan Shafqat
25fac546d5
Removing _mm256_zeroupper()
...
This is probably not needed in 2021 as compilers will insert them
automatically. See stackoverflow reference:
https://stackoverflow.com/a/68738289
2022-01-03 02:01:12 +01:00
Ayan Shafqat
5fc3ae79ae
Tune performance for AVX optimized find_peaks
...
Propagating the changes from compute_peaks to find_peaks
2022-01-03 02:01:12 +01:00
Ayan Shafqat
a07ae169a3
Fine tune AVX optimized routine
...
In some instances, AVX optimized routines were slower than compiler
generated output. This commit addresses a few of those issues by
tuning code for better branch prediction and appropriate loop unrolls.
2022-01-03 02:01:12 +01:00