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();
68 const std::unique_ptr<MemaProcessor>& getMemaProcessor()
const;
77 void clearUICallbacks();
81 void performConfigurationDump()
override;
83 void onConfigUpdated()
override;
87 void propagateLookAndFeelChanged();
90 void setUIConfigState(
const std::unique_ptr<juce::XmlElement>& uiConfigState);
92 const std::unique_ptr<juce::XmlElement>& getUIConfigState();
95 void triggerPromptLoadConfig();
97 void triggerPromptSaveConfig();
99 JUCE_DECLARE_SINGLETON(
Mema,
false)
103 std::unique_ptr<juce::XmlElement> m_MemaUIConfigCache;
110 std::unique_ptr<juce::FileChooser> m_loadSavefileChooser;
112 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Mema)