13
0

VST3: retain I/O from older versions (bump session format)

A VST3 plugin can have additional busses which were not
available in older versions of Ardour. For compatibility
reasons those should remain unconnected. This is achieved
by using a custom I/O config  (same way a user would configure
this).
This commit is contained in:
Robin Gareus 2023-01-06 00:52:51 +01:00
parent e5e9b477d0
commit 2226da1385
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 10 additions and 2 deletions

View File

@ -3,7 +3,7 @@
* Copyright (C) 2007-2012 Carl Hetherington <carl@carlh.net>
* Copyright (C) 2007-2014 David Robillard <d@drobilla.net>
* Copyright (C) 2008-2009 Sampo Savolainen <v2@iki.fi>
* Copyright (C) 2013-2019 Robin Gareus <robin@gareus.org>
* Copyright (C) 2013-2023 Robin Gareus <robin@gareus.org>
* Copyright (C) 2016-2017 Tim Mayberry <mojofunk@gmail.com>
* Copyright (C) 2018 Johannes Mueller <github@johannes-mueller.org>
*
@ -2824,6 +2824,14 @@ PluginInsert::set_state(const XMLNode& node, int version)
}
}
if (version < 7002 && !_custom_cfg /* && !strict_io ()*/ && plugin()->get_info ()->type == ARDOUR::VST3) {
if (_configured_in != plugin()->get_info()->n_inputs * _plugins.size () ||
_configured_out != plugin()->get_info()->n_outputs * _plugins.size ()) {
/* do not add VST busses which were not previously available */
_custom_cfg = true;
}
}
if (in_maps == out_maps && out_maps >0 && out_maps == get_count()) {
_maps_from_state = true;
}

View File

@ -8,7 +8,7 @@ import subprocess
import sys
# default state file version for this build
CURRENT_SESSION_FILE_VERSION = 7001
CURRENT_SESSION_FILE_VERSION = 7002
I18N_PACKAGE = 'ardour'