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 bool notify (QObject * receiver, QEvent * event)
override;
118 std::shared_ptr<gui::backend::DeviceManager> get_device_manager ()
const
120 return device_manager_;
124 void setup_command_line_options ();
126 void post_exec_initialization ();
128 void setup_device_manager ();
130 void setup_control_room ();
133 void onEngineOutput ();
134 void onAboutToQuit ();
137 RTThreadId::IdType qt_thread_id_;
138 QCommandLineParser cmd_line_parser_;
141 std::unique_ptr<backward::SignalHandling> signal_handling_;
142 std::unique_ptr<juce::ScopedJuceInitialiser_GUI>
143 juce_message_handler_initializer_;
150 QLocalSocket * socket_ =
nullptr;
152 std::unique_ptr<DirectoryManager> dir_manager_;
169 QProcess * engine_process_ =
nullptr;
171 QQmlApplicationEngine * qml_engine_ =
nullptr;
173 QTranslator * translator_ =
nullptr;
175 std::shared_ptr<gui::backend::DeviceManager> device_manager_;
178 std::unique_ptr<engine::session::MidiMappings> midi_mappings_;