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
Paul Davis
ca5043288c
remove debug output
2022-01-02 17:23:01 -07:00
Paul Davis
41310d9b8a
brace style (braces missing)
2022-01-02 17:20:39 -07:00
Paul Davis
0f6aa118f0
triggerbox: add Forward/ReverseTrigger follow actions
...
Live's Next/Prev do not skip empty slots or wrap. So do both-and
2022-01-02 17:20:38 -07:00
Robin Gareus
8e7810f40c
Disable session unit-tests for now
...
Converting, loading old sessions/templates fails:
#0 0x00005555568a2590 in ()
#1 0x00007ffff7b8dfd9 in ARDOUR::SessionEventManager::merge_event(ARDOUR::SessionEvent*) (this=0x55555d89c3f0, ev=0x555555cfb510) at ../libs/ardour/session_events.cc:204
#2 0x00007ffff7bb1c79 in ARDOUR::Session::queue_event(ARDOUR::SessionEvent*) (this=0x55555d89c260, ev=0x555555cfb510) at ../libs/ardour/session_process.cc:836
#3 0x00007ffff7b8d780 in ARDOUR::SessionEventManager::clear_events(ARDOUR::SessionEvent::Type, boost::function<void ()>) (this=0x55555d89c3f0, type=ARDOUR::SessionEvent::Skip, after=...)
at ../libs/ardour/session_events.cc:156
#4 0x00007ffff7b17991 in ARDOUR::Session::sync_locations_to_skips() (this=0x55555d89c260) at ../libs/ardour/session.cc:1752
#5 0x00007ffff7b175bd in ARDOUR::Session::update_skips(ARDOUR::Location*, bool) (this=0x55555d89c260, loc=0x0, consolidate=false) at ../libs/ardour/session.cc:1701
#6 0x00007ffff7b18bed in ARDOUR::Session::_locations_changed(std::__cxx11::list<ARDOUR::Location*, std::allocator<ARDOUR::Location*> > const&)
(this=0x55555d89c260, locations=empty std::__cxx11::list) at ../libs/ardour/session.cc:1877
#7 0x00007ffff7b3ff7d in ARDOUR::Locations::apply<ARDOUR::Session>(ARDOUR::Session&, void (ARDOUR::Session::*)(std::__cxx11::list<ARDOUR::Location*, std::allocator<ARDOUR::Location*> > const&)) const (this=0x55555e19ed10, obj=..., method=
(void (ARDOUR::Session::*)(ARDOUR::Session * const, const ARDOUR::Locations::LocationList &)) 0x7ffff7b18b38 <ARDOUR::Session::_locations_changed(std::__cxx11::list<ARDOUR::Location*, std::allocator<ARDOUR::Location*> > const&)>) at ../libs/ardour/ardour/location.h:263
#8 0x00007ffff7b18b35 in ARDOUR::Session::locations_changed() (this=0x55555d89c260) at ../libs/ardour/session.cc:1858
#9 0x00007ffff7bc4914 in ARDOUR::Session::set_state(XMLNode const&, int) (this=0x55555d89c260, node=..., version=7000) at ../libs/ardour/session_state.cc:1666
2022-01-03 01:11:54 +01:00
Robin Gareus
987df219e0
Fix building libardour unit-tests, disable BBT tests for now
2022-01-03 01:11:54 +01:00
Robin Gareus
e295e1c8d7
Disable evoral unit-tests -- nutempo update is needed
2022-01-03 01:11:54 +01:00
Ben Loftis
e784aa5d34
Extend midi regions to their natural bar length on import
2022-01-02 16:06:06 -06:00
Robin Gareus
6c3c38e924
Replace Tabs with Space in python script
2022-01-02 14:34:53 +01:00
Paul Davis
4be38042a2
triggerbox: consolidate some code that is used in both MIDITrigger and AudioTrigger::run()
...
This comments out the reset of transition_beats that had been necessary to get
MIDI triggers to work correctly. Testing doesn't show a problem with it (so far).
2022-01-01 16:19:13 -07:00
Paul Davis
fb82750bfb
triggerbox: fix retrigger of MIDItrigger to start at next repeat of clip
2021-12-31 12:55:09 -07:00