35class ZrythmApplication final :
public QApplication
47 pluginManager CONSTANT FINAL)
66 ZrythmApplication (
int &argc,
char ** argv);
67 ~ZrythmApplication ()
override;
68 Z_DISABLE_COPY_MOVE (ZrythmApplication)
72 void launch_engine_process ();
76 return theme_manager_.get ();
80 return app_settings_.get ();
84 return project_manager_.get ();
88 return plugin_manager_.get ();
92 return alert_manager_.get ();
96 return translation_manager_.get ();
100 return device_manager_.get ();
104 return file_system_model_.get ();
109 return control_room_.get ();
114 QQmlApplicationEngine * get_qml_engine ()
const {
return qml_engine_; }
116 std::shared_ptr<gui::backend::DeviceManager> get_device_manager ()
const
118 return device_manager_;
123 return *hw_audio_interface_;
127 void setup_command_line_options ();
129 void post_exec_initialization ();
131 void setup_device_manager ();
133 void setup_control_room ();
136 void onEngineOutput ();
137 void onAboutToQuit ();
140 QCommandLineParser cmd_line_parser_;
143 std::unique_ptr<backward::SignalHandling> signal_handling_;
144 std::unique_ptr<juce::ScopedJuceInitialiser_GUI>
145 juce_message_handler_initializer_;
152 QLocalSocket * socket_ =
nullptr;
154 std::unique_ptr<DirectoryManager> dir_manager_;
171 QProcess * engine_process_ =
nullptr;
182 QQmlApplicationEngine * qml_engine_ =
nullptr;
184 QTranslator * translator_ =
nullptr;
186 std::shared_ptr<gui::backend::DeviceManager> device_manager_;
193 std::unique_ptr<dsp::IHardwareAudioInterface> hw_audio_interface_;
196 std::unique_ptr<engine::session::MidiMappings> midi_mappings_;