extern LIBARDOUR_API PBD::Signal3<void,std::string,std::string,bool> PluginScanMessage;
extern LIBARDOUR_API PBD::Signal1<void,int> PluginScanTimeout;
extern LIBARDOUR_API PBD::Signal0<void> GUIIdle;
+ extern LIBARDOUR_API PBD::Signal2<void,std::string,std::string> CopyConfigurationFiles;
/**
* @param with_vst true to enable VST Support
* If @param version is negative, the build-time string PROGRAM_VERSION
* will be used to determine the version number.
*
- * @post user_config_directory() exists
+ * @post user_config_directory() exists IF version was negative.
*
*
*/
PBD::Signal3<void,std::string,std::string,bool> ARDOUR::PluginScanMessage;
PBD::Signal1<void,int> ARDOUR::PluginScanTimeout;
PBD::Signal0<void> ARDOUR::GUIIdle;
+PBD::Signal2<void,std::string,std::string> ARDOUR::CopyConfigurationFiles;
namespace ARDOUR {
extern void setup_enum_writer ();
#endif
}
+static void
+maybe_copy_old_configuration_files ()
+{
+ int version = atoi (X_(PROGRAM_VERSION));
+
+ if (version <= 1) {
+ return;
+ }
+
+ string old_config_dir = user_config_directory (version-1);
+ string current_config_dir = user_config_directory ();
+
+ if (Glib::file_test (old_config_dir, Glib::FILE_TEST_IS_DIR)) {
+ CopyConfigurationFiles (old_config_dir, current_config_dir); /* EMIT SIGNAL */
+ }
+}
+
bool
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir)
{
// allow ardour the absolute maximum number of open files
lotsa_files_please ();
+ maybe_copy_old_configuration_files ();
+
#ifdef HAVE_LRDF
lrdf_init();
#endif