Commit graph

296 commits

Author SHA1 Message Date
Robin Gareus
728e0c0144
Build fixes for NetBSD from pkgsrc (#9886) 2025-02-01 11:25:42 +01:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Robin Gareus
145f6d587c
fix previous commit 2024-09-06 20:03:48 +02:00
Robin Gareus
9e469ad030
macVST: prevent endless recursive scans 2024-09-06 20:00:36 +02:00
Robin Gareus
5f7ecf59a5
Allow to compile w/o LV2 support (trax) 2024-04-28 17:50:51 +02:00
Robin Gareus
136b7f42d5
Skip tags for plugins that are not installed
This prevents empty sub-menus in the "By Tag" Plugin menu.
2024-04-18 17:07:12 +02:00
Robin Gareus
5b77e348e7
Allow to clear LV2 plugin scan info 2023-11-09 02:01:14 +01:00
Robin Gareus
40a9ba746e
Freeze plugin cache version
This allows to copy existing VST2/3 cache files to
a new major version
2023-09-27 17:28:20 +02:00
Robin Gareus
d09c049fee
Clarify plugin scan log message 2023-04-05 00:16:37 +02:00
Robin Gareus
850cf3e035
Add vst3/win debug messages to investigate #9273 2023-04-04 14:00:46 +02:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus
e5e9b477d0
Force rescan of VST3 plugins 2023-01-17 22:02:10 +01:00
Robin Gareus
41325a75fe
Add a debug message to track down crash scanning LV1 plugins 2023-01-03 02:26:50 +01:00
Robin Gareus
24597de7a2
Make RDF info/warning messages translatable 2022-12-30 19:10:07 +01:00
Robin Gareus
4bb7e43008
x-platform LADSPA user preset files
This fixes saving/loading custom user presests on Windows
2022-12-29 18:22:48 +01:00
Robin Gareus
58ade46de3
Fix loading LADSPA RDF files x-platform
Searchpath on Windows uses backslash as folder separator,
however file URLs use forward-slash file://C:/foo/bar/
2022-12-28 20:06:00 +01:00
Robin Gareus
5324c9092e
Clean up LADSPA preset path
* Allow to bundle presets
* Do not use /usr/[local] on Windows
(This may need further work, for Windows, since default user
presets are in `file://$HOME/.ladspa/rdf/`)
2022-10-11 16:39:17 +02:00
Robin Gareus
340a260b30
Remove old LRDF VST presets
Ardour has not been using RDF for VST2 presets since at least
10 years.
2022-10-11 16:23:20 +02:00
Robin Gareus
fac6d6bf98
Use separate plugin-cache for Apple/M1
Plugins on Apple can be multi-arch (Intel + ARM), or AUs may
be bridged by Rosetta.

A user can also run Intel binary of Ardour or M1 binary on
M1 CPUs on macOS. Each can see different plugins - notably
VST3 plugins that are Intel only can be scanned using the
Intel binary, but are later not available with the M1 build.
2022-06-07 23:49:42 +02:00
luz paz
b3c0143df7 Fix typos in source functionmax_configurable_outputs
Fixes source typo
2022-05-12 09:18:32 -04: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
Robin Gareus
4eeb5afa92
Fix false positive "missing AU Blacklist" message
See d6e4e0fb35 for an explanation
2021-11-12 23:34:07 +01:00
Robin Gareus
d6e4e0fb35
Remove false-positive VST log message
Ardour prevents repeat crashes by first marking a plugin
as blacklisted, and after a successful scan the plugin is
whitelisted.

When not scanning for plugins, but reading the cache
and successfully parsing the cashed content, a VST2 plugin
is whitelisted, even though it may not have been blacklisted.

In case the blacklist is empty, this lead to a logging:
"Expected VST Blacklist file does not exist."

PS. This also consolidates VST2 + VST3 code for white/blacklist
2021-10-16 20:33:22 +02:00
Robin Gareus
d41435be29
Fix another typo (prepare for translation update) 2021-08-13 18:40:04 +02:00
Robin Gareus
c55f284fcb
PM: fix verbose plugin scan 2021-08-10 15:33:13 +02:00
Robin Gareus
cbec27efd6
PM: allow to disable VST3 for consistency, fix implicit VST2 scan 2021-08-10 15:32:10 +02:00
Robin Gareus
002f7f76e2
PM: allow to cancel AU discovery, continue to scan 2021-08-08 15:23:26 +02:00
Robin Gareus
b60e4e3214
Rename "enable AU" config variable 2021-07-22 22:43:08 +02:00
Robin Gareus
59588d4e3a
Fix plugin-scan cancel individual scan operations
PluginScanMessage must be called after re-setting
reset_scan_cancel_state(), otherwise canceled () is set
incorrectly when emitting the signal.
2021-07-22 21:44:43 +02:00
Robin Gareus
607af10012
PM: don't print ignore-lists to log (use PM-GUI) 2021-07-22 17:29:56 +02:00
Robin Gareus
85d509a292
PM: change scan timeout to from out-out to opt-in 2021-07-22 17:20:08 +02:00
Robin Gareus
8869782c28
Cleanup plugin-scan API, allow to cancel individual scan 2021-07-21 23:04:47 +02:00
Robin Gareus
7f011f271f
Ignore symlinked, duplicated VST plugins
This happens with e.g. the IEM suite when a user has both
/usr/lib/vst and /usr/lib/lxvst in the search path.

The same plugin was found twice due to symlinks:

```
/usr/lib/lxvst/iem.at -> ../x86_64-linux-gnu/iem-plugin-suite/vst
/usr/lib/vst/iem.at -> ../x86_64-linux-gnu/iem-plugin-suite/vst
```

And then blacklisted itself:
> "Ignoring plugin 'MultiBandCompressor'.
> VST-ID conflicts with other plugin 'MultiBandCompressor' files:
> '/usr/lib/x86_64-linux-gnu/iem-plugin-suite/vst/MultiBandCompressor.so' vs
> '/usr/lib/x86_64-linux-gnu/iem-plugin-suite/vst/MultiBandCompressor.so'
2021-07-18 01:22:26 +02:00
Robin Gareus
adf93c85fe
PM: scan-timeout count-down even if timeout is stopped
This allows the GUI to determine for how long the scanner
ran after the timeout was canceled. Count up to 90 sec.
2021-07-17 01:02:21 +02:00
Robin Gareus
9fa71f9c2c
Really fix macOS builds (see 1ca2e4c, 2753c32) 2021-07-13 17:39:26 +02:00
Robin Gareus
1ca2e4c567
Fix macOS builds (amend 2753c32c0a) 2021-07-13 17:31:53 +02:00
Robin Gareus
2753c32c0a
Consolidate scan-log (partial lines, newlines)
Particularly on macOS child process ReadStdout
may produce many partial lines unbuffered lines.
Since each log message appends a newline, the log
had entries like:

```
Thi
s is a
n examp
le
```
2021-07-12 23:49:47 +02:00
Robin Gareus
ebbd48289d
Only mark plugin-scan as complete if it succeeds w/o being canceled 2021-07-12 17:26:51 +02:00
Robin Gareus
3941ae526f
PM: emit signal when plugin-scan-log changes 2021-07-12 05:23:00 +02:00
Robin Gareus
cafd757e8a Print AU blacklist after scanning 2021-07-09 01:07:50 +02:00
Robin Gareus
09a3c97358 Consolidate black/white methods in PM 2021-07-09 01:07:36 +02:00
Robin Gareus
d0177846dd
VST3: fix manual black/whitelist 2021-07-07 19:40:24 +02:00
Robin Gareus
8607a6ef8d
Bump plugin-cache version to force a re-scan 2021-07-07 00:45:00 +02:00
Robin Gareus
fd04cf6c8c
Fix C++98 builds 2021-07-03 21:39:39 +02:00
Robin Gareus
dd7891eee5
Remove stray colon 2021-07-03 21:32:03 +02:00
Robin Gareus
bf669b4ac6
PM: Report overall plugin scan progress
So far numerically only, no progress bar
2021-07-03 19:07:27 +02:00
Robin Gareus
8014b9409e
PM: add support for interactive and partial plugin scan 2021-07-03 19:07:27 +02:00
Robin Gareus
6a9c9d547c
PM: Allow to stop timeout per plugin and for complete scan 2021-07-03 19:07:27 +02:00
Robin Gareus
329066b99d
LV1: scan logs 2021-07-03 19:07:27 +02:00
Robin Gareus
afcea26d14
LV2: scan logs 2021-07-03 19:07:27 +02:00