13
0
Commit Graph

21311 Commits

Author SHA1 Message Date
d257c8c0ce
Prevent endless recursive directory scans
This can happen when a folder symlinks to itself or subfolders
in some similar recursive pattern.
2024-09-08 01:33:57 +02:00
e8162a421d
LV2: Log connect-optional ports 2024-09-07 18:28:37 +02:00
Daniel Appelt
af8a7df991
Connect unknown optional LV2 ports to NULL 2024-09-07 18:07:12 +02:00
Daniel Appelt
5a1fc0ddc9
LV2: Ignore connection optional ports 2024-09-07 18:07:01 +02:00
145f6d587c
fix previous commit 2024-09-06 20:03:48 +02:00
9e469ad030
macVST: prevent endless recursive scans 2024-09-06 20:00:36 +02:00
267cddfb05
Fix stuck insensitive macOS main menu
Popup Dialog Windows never unset the modal flag.
e.g. Session > Save Snapshot & switch.

Furthermore a 2nd dialog was able to get the menu stuck
forever (e.g. Snapshot & Switch .. -> Replace existing?
2024-09-05 18:27:44 +02:00
3acc8c76ca
Handle Filechooser Location entry
In order for the Filechooser Location widget to work two
things need to be setup, which only the FileChooserDialog
does:
 * subscribe to Widget's "response-requested" signal
 * call should_respond () hook from top-level window's
   default handler.

The Location Entry emits "activates-default". In case of
the Dialog, that calls the dialogs response callback,
which then calls ` _gtk_file_chooser_embed_should_respond`.

That handles changes made by the user to the location entry.

-=-

Gtk::FileChooserWidget does not handle this, "response-requested"
signal is not exposed, nor is _gtk_file_chooser_embed_should_respond
available outside Gtk.

This change at least selects the file in the treeview, which
allows further handling, without interfering with FileChooserDialog's
behavior.
2024-09-04 22:29:24 +02:00
8fea1ea42e
Update hidapi 2024-09-03 20:56:05 +02:00
e4d9344d2a
Revert PinMapping Changes
This reverts
 * e48d97ed69
 * 98c906b733
 * 0cf73d459b

because the C++ API std::map:at can throw and exception
was not implemented (and also deemed excessive for the
case at hand). Also an explicit API for *p*plugin_pin
mapping is preferable and facilitates debugging.
2024-09-03 13:25:48 +02:00
Matthijs Kooijman
a9a5787399
osc: Fix send and plugin page size in /set_surface
When handling the `/set_surface` command, the code would set
plug_page_size to the new value first, and call `sel_plug_pagesize()`
later. The latter then sees the page size is already the same, so it
leaves it unchanged and also does not send the page size to the
OSCSelectObserver object. In practice, this means that only the default
plugin page size from the preferences or set with
`/set_surface/plugin_page_size` take effect and values set with
`/set_surface` are ignored.

Exactly the same thing happens for the send page size.

This code has been like this since it was first introduced in comit
9c0f6ea948 (OSC: Allow set_surface to set send and plugin page sizes.,
2017-06-13)

This commit fixes this by omitting the first assignment.
2024-09-03 00:40:11 +02:00
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
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
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
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
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
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
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
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
84a3d0c559
Fix copy/paste, windows (not Linux) VSTs.. 2024-08-28 04:28:26 +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
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