16511974e2
Fix class/struct mismatch C++ ABI [-Wmismatched-tags]
2022-01-10 00:06:24 +01:00
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
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
c157490311
triggerbox: fix N-bar quantization: bars are 1-based
2022-01-07 16:05:07 -06:00
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 #45df39bd0ea 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
78b39284d8
triggerbox: workaround for midi import crash. TODO: investigate root cause
2022-01-06 21:17:54 -06:00
2f9b84fd48
triggerbox: resolve MIDI notes whenever a MIDI cue is stopped
2022-01-06 16:50:55 -07:00
caba23ff4f
remove misleading/out-of-date instructions in comment
2022-01-06 14:22:07 -07:00
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
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
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
44d52133ae
triggerbox: ignore cue-marker cues if told to do so
2022-01-06 11:23:02 -07:00
85b8816287
NOOP: remove spurious character in comment
2022-01-06 11:12:49 -07:00
4e482076ea
add config param to control response to cue markers
2022-01-06 11:10:28 -07:00
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
a187b5e1fb
triggerbox: reimplement timeline cues without session events
2022-01-06 00:23:27 -07:00
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
f1a81b303a
add several newer enums to libs/ardour/enums.cc
2022-01-05 13:27:47 -07:00
acdc1cd707
extend/adjust Location API to handle cue markers
2022-01-05 13:27:47 -07:00
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
5783664b9e
locations: provide Location::cue_change signal to notify about cue marker changes
2022-01-05 13:27:47 -07:00
54aa57a297
fix naming of unnamed cue locations
2022-01-05 13:27:47 -07:00
8a49d274fb
fix luabindings for Editor.mouse_add_new_marker(), since API changed
2022-01-04 15:23:51 -07:00
c2d18dabd5
add new location flag, IsCueMarker
2022-01-04 15:23:51 -07:00
58d4c1e317
triggerbox: add ReTrigger launch style; do not stop running slots when cue launching
2022-01-03 17:45:21 -07:00
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
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
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
ca5043288c
remove debug output
2022-01-02 17:23:01 -07:00
41310d9b8a
brace style (braces missing)
2022-01-02 17:20:39 -07:00
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
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
987df219e0
Fix building libardour unit-tests, disable BBT tests for now
2022-01-03 01:11:54 +01:00
e295e1c8d7
Disable evoral unit-tests -- nutempo update is needed
2022-01-03 01:11:54 +01:00
e784aa5d34
Extend midi regions to their natural bar length on import
2022-01-02 16:06:06 -06:00
6c3c38e924
Replace Tabs with Space in python script
2022-01-02 14:34:53 +01:00
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
fb82750bfb
triggerbox: fix retrigger of MIDItrigger to start at next repeat of clip
2021-12-31 12:55:09 -07:00
ad5b0bac32
triggerbox: improved method of handling launch-style while cue launched
2021-12-31 12:55:09 -07:00
a7c9b2094a
triggerbox: expanded debug trace output
2021-12-31 12:55:09 -07:00
6059687fb2
export MidiTrack::{set_,}input_active() to Lua
2021-12-31 12:55:02 -07:00
8d97439281
triggerbox: save properties and use Toggle launch style if started from a cue
2021-12-31 12:54:06 -07:00
027e7302b8
triggerbox: don't get a new trigger if there isn't a current one and allstop is set
2021-12-31 12:54:06 -07:00
27dfbecd54
triggerbox: add skeleton for push/pop of cue-affected trigger properties
2021-12-31 12:54:06 -07:00
88e9db30e3
triggerbox: NO-OP move code around
2021-12-31 12:54:06 -07:00