mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-23 20:37:27 +02:00
Print a deprecation warning on sync for symlinks
This commit is contained in:
@@ -35,6 +35,17 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
the host inserts or removes plug instances while other instances of that
|
||||
plugin are processing audio.
|
||||
|
||||
### yabridgectl
|
||||
|
||||
- Deprecated support for the symlink-based installation method in yabridgectl
|
||||
and removed all remaining mentions of it from the documentation. This feature
|
||||
has for all intents and purposes already been obselete since yabridge 2.1.0,
|
||||
but the option was still available. With modern file systems supporting
|
||||
reflinks, there's zero reason to use this feature anymore, and enabling it can
|
||||
lead to a number of surprises. Yabridgectl will now print a warning upon
|
||||
syncing when using the symlink installation method, and the feature will be
|
||||
removed completely in yabridge 4.0.
|
||||
|
||||
### Packaging notes
|
||||
|
||||
- We now target VST3 SDK version 3.7.4 with git tag `v3.7.4_build_25-patched`.
|
||||
|
||||
@@ -231,6 +231,20 @@ pub fn do_sync(config: &mut Config, options: &SyncOptions) -> Result<()> {
|
||||
None => None,
|
||||
};
|
||||
|
||||
if config.method == InstallationMethod::Symlink {
|
||||
eprintln!(
|
||||
"{}",
|
||||
utils::wrap(&format!(
|
||||
"{}: The symlink-based installation method is currently active. This \
|
||||
will likely result in unexpected behavior, and the feature will be removed \
|
||||
entirely in a later version of yabridgectl. You can revert back \
|
||||
to the copy-based installation method by running '{}'.\n",
|
||||
"WARNING".yellow().bold(),
|
||||
"yabridgectl set --method=copy".bright_white()
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
if let Some((libyabridge_vst3_path, _)) = &files.libyabridge_vst3 {
|
||||
println!("Setting up VST2 and VST3 plugins using:");
|
||||
println!("- {}", files.libyabridge_vst2.display());
|
||||
|
||||
@@ -97,6 +97,8 @@ pub enum InstallationMethod {
|
||||
/// This will create a symlink to `libyabridge-{vst2,vst3}.so` for every VST2 plugin `.dll` file
|
||||
/// or VST3 module in the plugin directories. Now that yabridge also searches in
|
||||
/// `~/.local/share/yabridge` since yabridge 2.1 this option is not really needed anymore.
|
||||
///
|
||||
/// TODO: This feature has been deprecated, remove it in yabridge 4.0
|
||||
Symlink,
|
||||
}
|
||||
|
||||
|
||||
@@ -119,15 +119,18 @@ fn main() -> Result<()> {
|
||||
)
|
||||
.subcommand(
|
||||
App::new("set")
|
||||
.about("Change the installation method or yabridge path (advanced)")
|
||||
.about("Change the yabridge path (advanced)")
|
||||
.display_order(200)
|
||||
.setting(AppSettings::ArgRequiredElseHelp)
|
||||
.arg(
|
||||
Arg::new("method")
|
||||
.long("method")
|
||||
.about("The installation method to use")
|
||||
.about("The installation method to use (deprecated)")
|
||||
.long_about(&format!(
|
||||
"The installation method to use. \
|
||||
"This feature has been deprecated in yabridgectl 3.7.1 and should \
|
||||
not be used anymore. \
|
||||
\n\n\
|
||||
The installation method to use. \
|
||||
'{}' works in every situation but it requires you to modify your PATH \
|
||||
environment variable so yabridge is able to find 'yabridge-host.exe'. \
|
||||
'yabridgectl sync' whenever you update yabridge. You'll also have to \
|
||||
|
||||
Reference in New Issue
Block a user