diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-03-11 12:12:50 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-03-11 13:24:47 -0500 |
commit | f9ce27fd6538cc90be0f6908cb321d546d335d20 (patch) | |
tree | c6e0cd5b9517932c725b6847fa4d838ed7ccd52d /libs/ardour/globals.cc | |
parent | d563b1173ba319c1f26c656a55ed2507e06e0519 (diff) |
global ARDOUR signal to ask GUI to copy configuration files across versions
Diffstat (limited to 'libs/ardour/globals.cc')
-rw-r--r-- | libs/ardour/globals.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index 5f98a130b1..6370947652 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -131,6 +131,7 @@ PBD::Signal1<void,std::string> ARDOUR::BootMessage; 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 (); @@ -238,6 +239,23 @@ lotsa_files_please () #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) { @@ -284,6 +302,8 @@ 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 |