Commit Graph

77 Commits

Author SHA1 Message Date
Robbert van der Helm 53ae2f9dff [yabridgectl] Track created moduleinfo.json files
Otherwise they're considered orphans immediately after creating them.
2022-11-07 20:55:02 +01:00
Robbert van der Helm b9bf67754d [yabridgectl] Check for libdbus-1.so
Instead of checking for notify-send.
2022-10-28 19:45:59 +02:00
Robbert van der Helm b8eb8e62bc Remove excess line breaks in yabridgectl status 2022-09-23 20:34:25 +02:00
Robbert van der Helm 7810c9d631 [yabridgectl] Add support for CLAP plugins
CLAP support in yabridge itself has barely started at this point, but
having yabridgectl up and running in advance seems useful.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 98bb4a019b Add CLAP whenever mentioning yabridge libs 2022-09-11 19:18:03 +02:00
Robbert van der Helm 2a26014465 [yabridgectl] Let rustfmt handle string wrapping 2022-07-03 17:10:07 +02:00
Robbert van der Helm d479f3fc0c [yabridgectl] Abort for dangerous ~/.vst/yabridge symlinks
If `~/.vst/yabridge` is a symlink to one of the directories contained
within yabridgectl's plugin locations, then weird things may happen.

Spotted in
https://github.com/robbert-vdh/yabridge/issues/185#issuecomment-1166274104.
2022-06-25 15:45:43 +02:00
Robbert van der Helm 637176541d Remove old TODOs 2022-06-08 14:57:16 +02:00
Robbert van der Helm 78858b98f7 [yabridgectl] Check notify-send install status
Since it's used for yabridge's desktop notifications.
2022-05-24 13:41:32 +02:00
Robbert van der Helm 6818b4fd09 [yabridgectl] Rename utils module to util 2022-05-23 12:57:40 +02:00
Robbert van der Helm 4a845ec952 [yabridgectl] Convert VST 3.7.5 moduleinfo files 2022-05-20 01:03:27 +02:00
Robbert van der Helm 03c2acd578 Add a todo on the VST 3.7.5 moduleinfo format
Supporting this in yabridge would require parsing JSON. So unless this
feature is actually used, we should probably not bother.
2022-05-19 22:31:16 +02:00
Robbert van der Helm ae0237d93c [yabridgectl] Change copied to synced in status
This makes more sense since the symlink based installation method is no
more.
2022-04-18 15:51:01 +02:00
Robbert van der Helm 4e2f72d67a [yabridgectl] Don't skip over broken symlinks 2022-04-18 12:58:42 +02:00
Robbert van der Helm 8abb960813 [yabridgectl] List sync target dirs in status
This acts as a useful visual reminder.
2022-04-17 20:45:09 +02:00
Robbert van der Helm 3970bc7f52 [yabridgectl] Set up in ~/.vst/yabridge by default
Instead of creating `.so` files next to the VST2 plugin's `.dll` files.
This behavior is still available as an option. #123
2022-04-17 20:27:47 +02:00
Robbert van der Helm 797bc07753 [yabridgectl] Add option for VST2 install location 2022-04-17 18:50:56 +02:00
Robbert van der Helm f62d06e085 [yabridgectl] Remove symlink installation method 2022-04-16 21:00:56 +02:00
Robbert van der Helm d2a21b28a8 [yabridgectl] Show VST2 library architecture
Just like it already did for the VST3 library. This information was not
necessary for the functionality of yabridgectl, but it does look nicer
this way.
2022-04-16 20:37:11 +02:00
Robbert van der Helm 585329541c [yabridgectl] Update to use chainloader libraries 2022-04-16 20:37:11 +02:00
Robbert van der Helm 1fec4c8860 Change the description in the GPL header 2022-04-16 20:37:10 +02:00
Robbert van der Helm 7f14cdf208 [yabridgectl] Don't mention installation methods
Unless the symlink-based installation method is enabled.
2022-01-28 00:08:16 +01:00
Robbert van der Helm 592c50da0a [yabridgectl] Fix formatting 2022-01-13 01:18:34 +01:00
Robbert van der Helm dabefef098 [yabridgectl] Don't mention the method on sync
Unless it's not set to copies.
2022-01-07 00:29:52 +01:00
Robbert van der Helm f5af027847 Print a deprecation warning on sync for symlinks 2022-01-02 20:23:37 +01:00
Robbert van der Helm e0ab24e645 Update copyright headers
Happy new year!
2022-01-01 18:32:10 +01:00
Robbert van der Helm 6d76daff80 [yabridgectl] Print yabridge host paths in status 2021-07-20 02:02:39 +02:00
Robbert van der Helm 2c25615ea5 Restore old yabridgectl plugin count with symlinks
The count will probably be a bit off now, but it's better than counting
only two plugins.
2021-07-13 00:01:32 +02:00
Robbert van der Helm bf84057044 [yabridgectl] Normalize symlinks for plugin counts
Now this should actually be correct with partially overlapping plugin
directories when symlinks were used.
2021-07-05 17:56:22 +02:00
Robbert van der Helm c13d8f2ee3 [yabridgectl] Recursively prune empty directories
If pruning results in a directory becoming empty, then we should remove
that directory. This approach won't touch any directories that we aren't
pruning from.
2021-07-03 18:35:51 +02:00
Robbert van der Helm 70c40970aa [yabridgectl] Make syncing much more resiliant
This commit does a couple of things since the refactoring made it
difficult to split these things up:

- The counts for managed and new plugins are now always correct, even
  when plugin directory A contains a symlink to plugin directory B.
- Orphan files will now be pruned from managed VST3 directories, making
  switching between different architectures easier. (the previous
  approach involved nuking the entire bundle, which of course has a
  bunch of downsides)
2021-07-03 18:20:05 +02:00
Robbert van der Helm 85c84aba0f [yabridgectl] Partially revert 5ea04c4
We should be a bit more clever about this. This approach would mean that
the plugin would be rescanned every time, since the whole 'don't
reinstall plugins if that wouldn't change anything' thing no longer
works with this approach.
2021-07-03 16:38:56 +02:00
Robbert van der Helm 5ea04c402e [yabridgectl] Clean up VST3 bundles
We would completely remove VST3 bundles that yabridgectl does not know
about anymore, but we would not remove leftover files within bundles.
This could otherwise cause issues when messing with 32-bit and 64-bit
versions of plugins or yabridge itself.
2021-06-24 16:04:04 +02:00
Robbert van der Helm 0b8221b136 [yabridgectl] Add support for 32-bit yabridge VST3
Bundles containing a 32-bit version of `libyabridge-vst3.so` should use
the `x86-linux` directory instead of the `x86_64-linux` directory.
2021-06-24 15:48:43 +02:00
Robbert van der Helm b521debbb7 [yabridgectl] Determine libyabridge-vst3.so arch
We're going to need this for supporting merged VST3 bundles with a
32-bit libyabridge-vst3.so.
2021-06-24 15:23:41 +02:00
Robbert van der Helm 3ad70678da [yabridgectl] Fix typo in error message 2021-06-23 01:42:02 +02:00
Robbert van der Helm 9ae0e8ca38 [yabridgectl] Use reflinks instead of copies
Whenever available. This should speed up the copying process while also
reducing the amount of disk space wasted on Btrfs and XFS filesystems.
2021-06-12 11:40:24 +02:00
Robbert van der Helm 511aa14700 [yabridgectl] Fix reporting of new VST3 plugins
When yabridgectl sets up both a VST3 bundle containing both a 32-bit and
a 64-bit plugin. The libyabridge.so file already existed, so the
reported number was always off.
2021-05-31 17:05:34 +02:00
Robbert van der Helm b04c0b2c65 Update links to the VST3 documentation
Those were broken after Steinberg restructured the docs with the VST
3.7.2 SDK release.
2021-04-18 14:24:03 +02:00
Robbert van der Helm 7ff4bb1585 [yabridgectl] Add commands for managing blacklist
Relevant for #88.
2021-04-14 19:23:04 +02:00
Robbert van der Helm 1d66481aad [yabridgectl] Add a blacklist #88
This lets you skip single plugins and entire directories during the
indexing process.
2021-04-14 17:51:43 +02:00
Robbert van der Helm adebb63e18 [yabridgectl] Show VST2 architecture in status 2021-02-26 15:58:33 +01:00
Robbert van der Helm d11302d6b5 [yabridgectl] Unify plugin handling
VST2 and VST3 plugins are now handled in the same way, reducing a bit of
duplication. We now also store the architecture for VST2 plugins so we
can show that in `yabridgectl status` later.
2021-02-26 15:56:20 +01:00
Robbert van der Helm ebd6c95ceb [yabridgectl] Show VST3 module type and arch
In `yabridgectl status`.
2021-02-26 15:11:11 +01:00
Robbert van der Helm e6ec8819cb [yabridgectl] Use relative paths in verbose output
This should make the output look much less cluttered since most of the
output would consist of the same path prefix being repeated over and
over again.

The plugin location now also always ends with a trailing slash for
consistency's sake. I don't think Rust's Path has a way to normalize the
paths without also resolving symlinks.
2021-02-26 14:35:47 +01:00
Robbert van der Helm 9483c11ee0 [yabridgectl] Reword not yet installed status
The red `not installed` was causing some confusion.
2021-02-26 14:11:46 +01:00
Robbert van der Helm 4b461e44a1 [yabridgectl] Add a todo about orphans in subdirs 2021-01-04 13:49:06 +01:00
Robbert van der Helm 439c22c767 [yabridgectl] Consider subdirectories for orphans 2021-01-03 22:43:57 +01:00
Robbert van der Helm cd4752116a [yabridgectl] Split up Vst3Module
So we can add easily add additional fields later.
2021-01-03 21:40:36 +01:00
Robbert van der Helm c206d68b12 [yabridgectl] Allow permanently disabling checks 2021-01-02 14:32:54 +01:00