13
0
Commit Graph

18523 Commits

Author SHA1 Message Date
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
1e7e4b3037
VST3: fix legacy MIDI output - thanks to paulfd 2021-12-31 15:58:51 +01:00
854e359f56 build-fix: remove unused file reference 2021-12-30 21:44:21 -06:00
9180a985a4 trigger_ui: TriggerEntry is-a TriggerUI 2021-12-30 21:25:39 -06:00
133b51922a trigger_ui: move old triggerui implementation into slot_properties where it is used 2021-12-30 21:25:39 -06:00
7a53c4140d trigger_ui: add a color-picker button 2021-12-30 21:25:39 -06:00
d87b1053df ArdourButton: ColorBox flag is for color-picker buttons 2021-12-30 21:25:39 -06:00
c29f5471b2
Handle all enum cases, prevent accessing unintialized ptr object 2021-12-31 02:47:50 +01:00
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
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
24269acb97 triggerbox: update relevant comment 2021-12-29 09:37:43 -07:00