Commit Graph

39399 Commits

Author SHA1 Message Date
Matthijs Kooijman
142fa9f55d osc: Let OSCSelectObserver know about feedback config changes
Before this commit, OSCSelectObserver would read the feedback value when
it was created, but then never update it anymore. In practice, the
OSCSelectObserver is created on startup, and when the surface connects
and configures feeback, this value is not applied.

For example, when sending `/set_surface` with a feedback value of
4 (Send SSID as path extension), `/strip/*` would get their ssid put
into the path, but `/select/plugin/*` messages would not have their
parameter id in the path. When setting the corresponding checkbox in the
default feedback preferences, it is applied as expected.

This commit passes the new feedback value to the OSCSelectObserver
instance whenever it changes, which ensures the value is applied as
expected.
2024-09-03 00:40:11 +02:00
Alejandro Domínguez
867eaa0b13 Remove unused libs/pbd/pbd/stl_functors.h 2024-09-01 19:17:10 +02:00
Alejandro Domínguez
e48d97ed69 Turn PinMappings class into a type alias 2024-09-01 19:10:20 +02:00
Robin Gareus
da0e6c7d60 Add explicit PBD namespace prefix to Signal
This will simplify search/replace when using
a variadic template for PBD::Signal.
2024-09-01 18:48:54 +02:00
Robin Gareus
1b343a1fec Revert "Reduce locate overhead for optimized builds"
This reverts commit 960d72012d.
2024-08-31 23:42:56 +02:00
Paul Davis
fb0b4d254e automation time axis should respond to base fill color changes 2024-08-31 09:03:05 -06:00
Robin Gareus
3391c69ec0 Profile RegionFx processing 2024-08-31 15:19:35 +02:00
Robin Gareus
960d72012d Reduce locate overhead for optimized builds 2024-08-31 13:51:21 +02:00
Robin Gareus
98c906b733 Remove unused function 2024-08-31 05:55:12 +02:00
Alejandro Domínguez
f41d7514b0 Use C++11-style initialization of Editor.last_event_time 2024-08-31 05:49:03 +02:00
Alejandro Domínguez
0cf73d459b Deprecate ARDOUR::PinMappings C++11's std::map::at emulation 2024-08-31 05:49:03 +02:00
Alejandro Domínguez
2263b0280b Change to C++11-style std::map initialization in ExportHandler::finish_timespan() 2024-08-31 05:49:03 +02:00
Robin Gareus
b13f04c61e RegionFX: fix hiding RFx GUI when removing regions 2024-08-31 02:55:04 +02:00
Robin Gareus
aa5dbdd770 GUI combined Latency/TailTime widget 2024-08-31 02:55:04 +02:00
Robin Gareus
6d47758671 Add TailTime Icon 2024-08-31 02:55:04 +02:00
Robin Gareus
520bbfe515 Add proper API to expose plugin tailtime
This is in preparation to display current tail time,
and allow a user to override it.

This is similar to existing processor latency API.
2024-08-31 02:55:04 +02:00
Paul Davis
79fcb3d0ba use new launckkey image file for surface GUI dialog 2024-08-29 18:54:11 -06:00
Paul Davis
1c9d159241 new image files for launchkey mk4 2024-08-29 18:49:54 -06:00
Paul Davis
cac849fe6d add new novation LK4 surface support 2024-08-29 18:31:00 -06:00
Paul Davis
22411416ca add new member to a MIDI surface to allow receipt of data before surface is running (for device inquiries) 2024-08-29 18:28:16 -06:00
Robin Gareus
2d076cccb1 Only enable RegionFX in debug builds for the time being 2024-08-30 02:18:49 +02:00
Alejandro Domínguez
f16ad8053e Remove #include <boost/enable_shared_from_this.hpp> 2024-08-29 23:08:43 +02:00
Alejandro Domínguez
eb72aae389 Remove #include <boost/smart_ptr.hpp> 2024-08-29 23:08:43 +02:00
Alejandro Domínguez
17275239db Remove boost-debug 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
c0062fff86 Remove #include <boost/shared_ptr.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
3abf0a9058 Remove unneeded #include <boost/math/distributions.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
1752f30a66 Remove #include <boost/utility.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
843e776ca8 Remove #include <boost/dynamic_bitset.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
da2935c285 Remove #include <boost/algorithm/string/trim.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
7586c2d50a Remove #include <boost/algorithm/string/erase.hpp> 2024-08-29 23:08:42 +02:00
Alejandro Domínguez
7c39a374fa Narrow scope of boost::hash_combine include 2024-08-29 23:08:41 +02:00
Alejandro Domínguez
dba8f4ec40 Remove #include <boost/rational.hpp> 2024-08-29 23:08:41 +02:00
Alejandro Domínguez
114eefed11 Remove #include <boost/integer/common_factor.hpp> 2024-08-29 23:08:41 +02:00
Alejandro Domínguez
635446fd3b Remove #include <boost/static_assert.hpp> 2024-08-29 23:08:41 +02:00
Alejandro Domínguez
eff42b22fd Remove #include <boost/utility.hpp> 2024-08-29 23:08:41 +02:00
Alejandro Domínguez
a18c1c5750 Remove #include <boost/shared_ptr.hpp> 2024-08-29 23:08:41 +02:00
Robin Gareus
c37d523b2e Fix heap-use-after-free when deleting tempo-markers 2024-08-29 16:05:56 +02:00
Robin Gareus
f4c978cf88 Fix MIDI patch/CC state restore #9770
MidiTrack::restore_controls is triggered by SessionLoaded
event. Yet MidiControl::actually_set_value checks if
_session.loading() is true and postpones sending actual
events to the synth (which may not be fully loaded).

Before 5d02970de8, Session::post_engine_init unset
"Loading" flag early on, so "loading" was already unset
by the time `SessionLoaded` was emitted.
2024-08-29 04:26:33 +02:00
Robin Gareus
ed105fdf66 Allow to reactivate disable tracks in the editor
Disabled tracks cannot be selected, so "apply to selection"
does not work to reactivate track... unless it has just been
deactivated. The Selection is not cleared when changing active
state.
2024-08-29 02:28:30 +02:00
Robin Gareus
24fe6adb02 Amend previous commit 2024-08-28 05:14:41 +02:00
Robin Gareus
84a3d0c559 Fix copy/paste, windows (not Linux) VSTs.. 2024-08-28 04:28:26 +02:00
Robin Gareus
79e2ffff2a LXVST: fix crash at exit if Linux VSTs are disabled or X11 connection fails 2024-08-28 04:16:08 +02:00
Robin Gareus
c77d2d42b9 VST3: fix runloop query (amend 83207e04e7)
The plugin itself needs to be able to return a runloop,
for the UI, even if the factory has one.
2024-08-27 21:56:17 +02:00
Robin Gareus
8fd081679d Add a debug option to investigate RegionFX related underruns 2024-08-27 17:50:24 +02:00
Paul Davis
981dfd67e7 call our "transport stopped" code path when JACK transport stops
this fixes issues with MIDI region recording, which otherwise never
goes through the code path required to "fix" the nascent data into
sources and regions.
2024-08-27 09:44:00 -06:00
Robin Gareus
83207e04e7 VST3: move static runloop from plugin to Host
This fixes a crash at exit for some Linux VST3s when Ardour
calls ::release_factory() before unloading the module.

The plugin will then also call unref the hostContext. Previously
the lookup interface for the host context was provided by the
plugin; which at that point in time was already deleted.
2024-08-27 02:04:21 +02:00
Robin Gareus
3ced8cc6bc RegionFX: fix undo/redo of region state
Previously this caused deadlocks (read lock while holding
write lock), and also not dropped references of plugins.

Ideally undo/redo of FX unrelated region state
will not re-instantiate plugins; we can optimize this later.
2024-08-27 01:09:06 +02:00
Robin Gareus
190cd657b9 LV2: fix port/nth-parameter confusion
various LV2 callbacks from plugin DSP/GUI use raw port_index,
not nth_parameter. This lead to incorrectly queued updates
(_values_last_sent_to_ui) and since 7dac8994f6 to
potential crashes (invalid _controllables[idx]).
2024-08-25 15:32:34 +02:00
Robin Gareus
eac3283b49 Use a sensible size for DSP to GUI MIDI messages
See also a1ba561cc5. JACK2 and pipewire unconditionally
report 32kB, Ardour internal backends report 8kB, also
independent of the buffersize.
While jack1 by default announces the audio buffersize.

A sensible value assumes that the GUI reads the FIFO at
a least 25fps, while also allowing MIDI ports to merge
data (hence 2 * raw_buffer_size). Yet limit to 64k per track.
2024-08-25 00:09:36 +02:00
Robin Gareus
c92c8c8fa2 VST3: fix deadlock when recalling program changes latency
The GUI thread may call set_program() which can triggers
the plugin directly calling restartComponent from the same
thread.
2024-08-24 11:26:49 +02:00