@@ -35,23 +35,24 @@ Path Plugin::getProfileDir()
3535void Plugin::reconfigure ()
3636{
3737 tryCatchLog ([&] {
38- auto settings = std::make_shared<SettingsData>();
39-
40- settings->port = settings_store::port;
41- settings->allowRemote = settings_store::allowRemote;
42- settings->musicDirsOrig = settings_store::getMusicDirs ();
43- settings->authRequired = settings_store::authRequired;
44- settings->authUser = settings_store::authUser.get ();
45- settings->authPassword = settings_store::authPassword.get ();
46- settings->permissions = settings_store::getPermissions ();
38+ SettingsBuilder builder;
4739
4840#ifdef MSRV_OS_MAC
49- auto resourceDir = getThisModuleDir ().parent_path () / Path (" Resources" );
41+ builder. resourceDir = getThisModuleDir ().parent_path () / Path (" Resources" );
5042#else
51- const auto & resourceDir = getThisModuleDir ();
43+ builder. resourceDir = getThisModuleDir ();
5244#endif
5345
54- settings->initialize (resourceDir, getProfileDir ());
46+ builder.profileDir = getProfileDir ();
47+ builder.port = settings_store::port;
48+ builder.allowRemote = settings_store::allowRemote;
49+ builder.musicDirs = settings_store::getMusicDirs ();
50+ builder.authRequired = settings_store::authRequired;
51+ builder.authUser = settings_store::authUser.get ();
52+ builder.authPassword = settings_store::authPassword.get ();
53+ builder.permissions = settings_store::getPermissions ();
54+
55+ auto settings = builder.build ();
5556
5657 host_.reconfigure (std::move (settings));
5758 });
@@ -68,7 +69,7 @@ class InitQuit : public initquit
6869 {
6970 Logger::setCurrent (&logger_);
7071#ifndef MSRV_OS_MAC
71- SettingsData::migrate (MSRV_PLAYER_FOOBAR2000, Plugin::getProfileDir ());
72+ migrateSettings (MSRV_PLAYER_FOOBAR2000, Plugin::getProfileDir ());
7273#endif
7374 tryCatchLog ([this ] { plugin_ = std::make_unique<Plugin>(); });
7475 }
0 commit comments