Commit Graph

288 Commits

Author SHA1 Message Date
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
Robin Gareus
088ccd24f0 AU: use AudioUnit scanner app, overhaul AU support 2021-07-03 19:07:26 +02:00
Robin Gareus
39fd3ff62a VST2: use new scanner 2021-07-03 19:07:26 +02:00
Robin Gareus
cebfaf4d94 Fix PluginListChanged() emission order
This is only relevant when manually scanning plugins,
initiated from the UI thread. Call back (in same thread) needs
to happen after detecting ambiguities and refilling the info lists.
2021-07-03 19:07:25 +02:00
Robin Gareus
92bfb8e1df VST3: scan logs 2021-07-03 19:07:25 +02:00
Robin Gareus
4e036a73b5 VST3: log bundle-path 2021-07-03 19:07:25 +02:00
Robin Gareus
fce374fd41 Foundation for plugin-manager, persistent logs 2021-07-03 19:07:24 +02:00
Robin Gareus
6346b54c13 Tweak Lua API, avoid translated sting as return value 2021-05-15 03:53:40 +02:00
Ben Loftis
13c819e02b Plugin Tags: Add a Lua-accessible function to write untagged plugins to a file so we can bulk-tag them.
print(ARDOUR.LuaAPI.dump_untagged_plugins())
 ...will write untagged plugins to a file, and report the resulting file path to the user
2021-05-14 15:08:44 -05:00