13
0
Commit Graph

39396 Commits

Author SHA1 Message Date
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
1b343a1fec
Revert "Reduce locate overhead for optimized builds"
This reverts commit 960d72012d.
2024-08-31 23:42:56 +02:00
fb0b4d254e automation time axis should respond to base fill color changes 2024-08-31 09:03:05 -06:00
3391c69ec0
Profile RegionFx processing 2024-08-31 15:19:35 +02:00
960d72012d
Reduce locate overhead for optimized builds 2024-08-31 13:51:21 +02:00
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
b13f04c61e
RegionFX: fix hiding RFx GUI when removing regions 2024-08-31 02:55:04 +02:00
aa5dbdd770
GUI combined Latency/TailTime widget 2024-08-31 02:55:04 +02:00
6d47758671
Add TailTime Icon 2024-08-31 02:55:04 +02:00
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
79fcb3d0ba use new launckkey image file for surface GUI dialog 2024-08-29 18:54:11 -06:00
1c9d159241 new image files for launchkey mk4 2024-08-29 18:49:54 -06:00
cac849fe6d add new novation LK4 surface support 2024-08-29 18:31:00 -06:00
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
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
c37d523b2e
Fix heap-use-after-free when deleting tempo-markers 2024-08-29 16:05:56 +02:00
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
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
24fe6adb02
Amend previous commit 2024-08-28 05:14:41 +02:00
84a3d0c559
Fix copy/paste, windows (not Linux) VSTs.. 2024-08-28 04:28:26 +02:00
79e2ffff2a
LXVST: fix crash at exit if Linux VSTs are disabled or X11 connection fails 2024-08-28 04:16:08 +02:00
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
8fd081679d
Add a debug option to investigate RegionFX related underruns 2024-08-27 17:50:24 +02:00
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
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
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
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
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
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
09bddcad10
NO-OP: fix function name spelling 2024-08-24 00:24:28 +02:00
66b3ad79c1
RegionFx: mark session dirty when adding/removing plugins 2024-08-24 00:23:24 +02:00
e419b314a2
RegionFx: handle missing plugin, retain state
Since RegionFx are significantly simpler compared
to processors, missing plugin state can directly be handled
in the implantation without creating a subclass similar to
UnknownProcessor.
2024-08-23 15:42:33 +02:00