Commit Graph

18502 Commits

Author SHA1 Message Date
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
Paul Davis
ad5b0bac32 triggerbox: improved method of handling launch-style while cue launched 2021-12-31 12:55:09 -07:00
Paul Davis
a7c9b2094a triggerbox: expanded debug trace output 2021-12-31 12:55:09 -07:00
Paul Davis
6059687fb2 export MidiTrack::{set_,}input_active() to Lua 2021-12-31 12:55:02 -07:00
Paul Davis
8d97439281 triggerbox: save properties and use Toggle launch style if started from a cue 2021-12-31 12:54:06 -07:00
Paul Davis
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
Paul Davis
27dfbecd54 triggerbox: add skeleton for push/pop of cue-affected trigger properties 2021-12-31 12:54:06 -07:00
Paul Davis
88e9db30e3 triggerbox: NO-OP move code around 2021-12-31 12:54:06 -07:00
Robin Gareus
1e7e4b3037 VST3: fix legacy MIDI output - thanks to paulfd 2021-12-31 15:58:51 +01:00
Ben Loftis
854e359f56 build-fix: remove unused file reference 2021-12-30 21:44:21 -06:00
Ben Loftis
9180a985a4 trigger_ui: TriggerEntry is-a TriggerUI 2021-12-30 21:25:39 -06:00
Ben Loftis
133b51922a trigger_ui: move old triggerui implementation into slot_properties where it is used 2021-12-30 21:25:39 -06:00
Ben Loftis
7a53c4140d trigger_ui: add a color-picker button 2021-12-30 21:25:39 -06:00
Ben Loftis
d87b1053df ArdourButton: ColorBox flag is for color-picker buttons 2021-12-30 21:25:39 -06:00
Robin Gareus
c29f5471b2 Handle all enum cases, prevent accessing unintialized ptr object 2021-12-31 02:47:50 +01:00
Robin Gareus
1f5649ef28 Fix vfork edge-case
Calling c_str() after vfork is prohibited after a successful vfork.
Also the string needs to remain in scope until exec() completed.
2021-12-31 01:39:39 +01:00
Robin Gareus
96c80e88ac Lua binding for MidiTrack::set_input_active 2021-12-30 19:00:14 +01:00
Florian Walpen
10d367fdae Fix plugin manager build with VST3 disabled.
ARDOUR::SystemExec is also used for scanning VST2 and AU plugins, yet
the corresponding header ardour/system_exec.h is not included when VST3
support is disabled in the build configuration.
2021-12-29 23:33:39 +01:00
Paul Davis
24269acb97 triggerbox: update relevant comment 2021-12-29 09:37:43 -07:00
Paul Davis
645262c26a triggerbox: fix incorrect behavior in MIDITrigger::run() caused by taking dest_offset into account twice 2021-12-29 08:58:55 -07:00
Paul Davis
87974562d3 triggerbox: add TriggerBox::active_scene() 2021-12-28 18:02:13 -07:00
Paul Davis
2c00379220 triggerbox: continuing fixups for MIDITrigger 2021-12-28 18:01:41 -07:00
Ben Loftis
c97a28015e triggerbox: default probability should be 0 (100% left) 2021-12-28 08:37:08 -06:00
Ben Loftis
a43e3d88e5 triggerbox: notify the UI when we Clear a trigger 2021-12-27 18:03:13 -06:00
Ben Loftis
3a506ac7a1 triggerbox: mark session dirty when a Trigger's properties are changed
also make an effort to damp callbacks that are prone to gui feedback loops
 i.e.  CheckMenu Items and Adjustments
2021-12-27 18:03:13 -06:00
Ben Loftis
cc5fb209ab triggerbox: Triggers may be assigned a color
colors can be transmitted to some surfaces (Launchpad et al), so must be store in Trigger::
2021-12-27 18:03:13 -06:00
Paul Davis
12dbcd90bf triggerbox: fix quantized stop via ::unbang() 2021-12-27 16:24:35 -07:00
Paul Davis
163fc541d2 triggerbox: alter MIDITrigger::run() to work like its AudioTrigger counterpart 2021-12-27 15:08:20 -07:00
Paul Davis
af37a51b65 triggerbox: triggers estimated to be 1 bar long are not one-shots 2021-12-27 15:07:44 -07:00
Paul Davis
f9903a7a8b triggerbox: use custom (threaded) deleter for MIDITriggers just like AudioTriggers 2021-12-27 12:04:39 -07:00
Paul Davis
3755c04786 triggerbox: fix some const qualifier usage 2021-12-27 12:04:21 -07:00
Paul Davis
8e2b36d43d triggerbox: NOOP: add explanatory comment 2021-12-27 11:24:21 -07:00
Paul Davis
610125b87c remove call to #ifdef'ed code 2021-12-27 11:24:03 -07:00
Paul Davis
75d5d54cb6 triggerbox: position triggerbox after disk reader, before polarity, by default 2021-12-27 11:20:40 -07:00
Paul Davis
d82d8dd7d4 NO-OP: fix spelling mistake 2021-12-27 11:20:40 -07:00
Robin Gareus
18fe2e2c4e Fix C++11/14 array initialization (clang < 3.7)
C++11 array initialization won't call copy constructor, leading to
an error: array initializer must be an initializer list.

Specifically this affects the copy c'tor: line 93: peaks (other.peaks)

A workaround is to use a vector instead of a fixed size array.
This fixes macOS builds.
2021-12-27 16:42:26 +01:00
Paul Davis
b2bd748672 ruler: make ::set_metric() API consistent with constructor by using ptr 2021-12-24 15:34:18 -07:00
Paul Davis
8c2bd1a555 triggerbox: get thread-based deletion system to actually work
Needed to pass custom deleter to the shared_ptr<Trigger>::reset() call where the
trigger is replaced
2021-12-24 15:00:58 -07:00
Paul Davis
401411d5c3 triggerbox: initial implementation of thread-based deleter for Triggers
Uses a custom deleter for the shared_ptr<Trigger>'s that we create. Will
likely evolve to use an allocator so that we can use make_shared's
cousin allocate_shared().
2021-12-24 14:17:23 -07:00
Paul Davis
7afc8f7a31 triggerbox: remove unused local variable 2021-12-24 14:17:23 -07:00