13
0
Commit Graph

18534 Commits

Author SHA1 Message Date
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