36class ZrythmApplication final :
public QApplication
48 pluginManager CONSTANT FINAL)
67 ZrythmApplication (
int &argc,
char ** argv);
68 ~ZrythmApplication ()
override;
69 Z_DISABLE_COPY_MOVE (ZrythmApplication)
73 void launch_engine_process ();
77 return theme_manager_.get ();
81 return app_settings_.get ();
85 return project_manager_.get ();
89 return plugin_manager_.get ();
93 return alert_manager_.get ();
97 return translation_manager_.get ();
101 return device_manager_.get ();
105 return file_system_model_.get ();
110 return control_room_.get ();
115 QQmlApplicationEngine * get_qml_engine ()
const {
return qml_engine_; }
117 bool notify (QObject * receiver, QEvent * event)
override;
119 std::shared_ptr<gui::backend::DeviceManager> get_device_manager ()
const
121 return device_manager_;
126 return *hw_audio_interface_;
130 void setup_command_line_options ();
132 void post_exec_initialization ();
134 void setup_device_manager ();
136 void setup_control_room ();
139 void onEngineOutput ();
140 void onAboutToQuit ();
143 RTThreadId::IdType qt_thread_id_;
144 QCommandLineParser cmd_line_parser_;
147 std::unique_ptr<backward::SignalHandling> signal_handling_;
148 std::unique_ptr<juce::ScopedJuceInitialiser_GUI>
149 juce_message_handler_initializer_;
156 QLocalSocket * socket_ =
nullptr;
158 std::unique_ptr<DirectoryManager> dir_manager_;
175 QProcess * engine_process_ =
nullptr;
177 QQmlApplicationEngine * qml_engine_ =
nullptr;
179 QTranslator * translator_ =
nullptr;
181 std::shared_ptr<gui::backend::DeviceManager> device_manager_;
188 std::unique_ptr<dsp::IHardwareAudioInterface> hw_audio_interface_;
191 std::unique_ptr<engine::session::MidiMappings> midi_mappings_;