34class ZrythmApplication final :
public QApplication
60 ZrythmApplication (
int &argc,
char ** argv);
61 ~ZrythmApplication ()
override;
62 Z_DISABLE_COPY_MOVE (ZrythmApplication)
66 void launch_engine_process ();
70 return theme_manager_.get ();
74 return settings_manager_.get ();
78 return project_manager_.get ();
82 return alert_manager_.get ();
86 return translation_manager_.get ();
90 return device_manager_.get ();
94 return file_system_model_.get ();
99 QQmlApplicationEngine * get_qml_engine ()
const {
return qml_engine_; }
101 bool notify (QObject * receiver, QEvent * event)
override;
103 std::shared_ptr<gui::backend::DeviceManager> get_device_manager ()
const
105 return device_manager_;
109 void setup_command_line_options ();
111 void post_exec_initialization ();
113 void setup_device_manager ();
116 void onEngineOutput ();
117 void onAboutToQuit ();
120 RTThreadId::IdType qt_thread_id_;
121 QCommandLineParser cmd_line_parser_;
124 std::unique_ptr<backward::SignalHandling> signal_handling_;
125 std::unique_ptr<juce::ScopedJuceInitialiser_GUI>
126 juce_message_handler_initializer_;
131 QLocalSocket * socket_ =
nullptr;
133 std::unique_ptr<DirectoryManager> dir_manager_;
144 QProcess * engine_process_ =
nullptr;
146 QQmlApplicationEngine * qml_engine_ =
nullptr;
148 QTranslator * translator_ =
nullptr;
150 std::shared_ptr<gui::backend::DeviceManager> device_manager_;