MCPcopy Create free account
hub / github.com/audacity/audacity / InitializePreset

Function InitializePreset

libraries/lib-effects/EffectManager.cpp:230–253  ·  view source on GitHub ↗

Before: settings are as defaulted by `manager.MakeSettings()` Do as needed (once, persistently, when the plug-in is first used): store those default values into the config under "FactoryDefaults" preset After: settings are loaded for the "CurrentSettings" preset

Source from the content-addressed store, hash-verified

228// those default values into the config under "FactoryDefaults" preset
229// After: settings are loaded for the "CurrentSettings" preset
230void InitializePreset(
231 EffectSettingsManager &manager, EffectSettings &settings) {
232 // Config key remembering whether we already stored FactoryDefaults
233 constexpr auto InitializedKey = L"Initialized";
234 if (bool haveDefaults{};
235 GetConfig(manager, PluginSettings::Private, FactoryDefaultsGroup(),
236 InitializedKey, haveDefaults, false),
237 !haveDefaults
238 ) {
239 manager.SaveUserPreset(FactoryDefaultsGroup(), settings);
240 // Also initialize the "current" settings --
241 if (bool haveCurrent{};
242 GetConfig(manager, PluginSettings::Private, CurrentSettingsGroup(),
243 InitializedKey, haveCurrent, false),
244 !haveCurrent
245 ) {
246 manager.SaveUserPreset(CurrentSettingsGroup(), settings);
247 }
248 SetConfig(manager, PluginSettings::Private, FactoryDefaultsGroup(),
249 InitializedKey, true);
250 }
251 // ignore failure
252 (void) manager.LoadUserPreset(CurrentSettingsGroup(), settings);
253}
254
255std::pair<ComponentInterface *, EffectSettings>
256LoadComponent(const PluginID &ID)

Callers 1

LoadComponentFunction · 0.85

Calls 4

GetConfigFunction · 0.85
SetConfigFunction · 0.85
SaveUserPresetMethod · 0.45
LoadUserPresetMethod · 0.45

Tested by

no test coverage detected