42class Mema :
public juce::Timer,
43 public MemaAppConfiguration::Dumper,
44 public MemaAppConfiguration::Watcher
52 void timerCallback()
override;
56 juce::Component* getMemaProcessorEditor();
58 juce::Component* getDeviceSetupComponent();
67 void clearUICallbacks();
71 void performConfigurationDump()
override;
73 void onConfigUpdated()
override;
77 void propagateLookAndFeelChanged();
80 void setUIConfigState(
const std::unique_ptr<juce::XmlElement>& uiConfigState);
82 const std::unique_ptr<juce::XmlElement>& getUIConfigState();
85 void triggerPromptLoadConfig();
87 void triggerPromptSaveConfig();
89 JUCE_DECLARE_SINGLETON(
Mema,
false)
93 std::unique_ptr<juce::XmlElement> m_MemaUIConfigCache;
100 std::unique_ptr<juce::FileChooser> m_loadSavefileChooser;
102 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Mema)