global ARDOUR signal to ask GUI to copy configuration files across versions
This commit is contained in:
@@ -51,6 +51,7 @@ namespace ARDOUR {
|
||||
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
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace ARDOUR {
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user