Skip to content
Extraits de code Groupes Projets

AMADEUS: Implementation of lkt-lib

Fusionnées Kubat a demandé de fusionner amadeus-rs vers master
4 fichiers
+ 105
79
Comparer les modifications
  • Côte à côte
  • En ligne
Fichiers
4
@@ -378,6 +378,28 @@ impl Amadeus<'_> {
}
}
/// Handle quits/exits of the deamons
fn handle_deamons_exit(&mut self) {
// Handle the deamon closing process.
if let Some(((socket,), status_deamon)) = &self.status_deamon {
if status_deamon.should_quit() {
drop(socket);
self.lektord_status = None;
self.lektord_current = None;
status_deamon.join();
self.status_deamon = None;
}
};
if let Some(((socket_out, socket_in), deamon)) = &self.deamon {
if deamon.should_quit() {
drop(socket_out);
drop(socket_in);
deamon.join();
self.deamon = None;
}
};
}
/// Handle actions recieved from the user. May communicate to the deamons
/// and send infos/commands to lektord if they are available.
fn handle_action(&mut self) {
@@ -434,12 +456,14 @@ impl Amadeus<'_> {
}
}
DisconnectFromLektord => {
debug!("asked to close the deamons");
if let Some((_, status_deamon)) = &self.status_deamon {
status_deamon.quit();
}
if let Some((_, deamon)) = &self.deamon {
deamon.quit();
}
break;
}
PlaybackPrevious | PlaybackPlay | PlaybackPause | PlaybackNext => {
@@ -449,20 +473,6 @@ impl Amadeus<'_> {
_ => unreachable!(),
}
}
// Handle the deamon closing process.
if let Some((_, status_deamon)) = &self.status_deamon {
if status_deamon.should_quit() {
status_deamon.join();
self.status_deamon = None;
}
};
if let Some((_, deamon)) = &self.deamon {
if deamon.should_quit() {
deamon.join();
self.deamon = None;
}
};
}
fn apply_settings(&mut self) {
@@ -502,8 +512,9 @@ impl App for Amadeus<'_> {
self.last_render_instant = self.begin_render_instant;
self.handle_action();
self.handle_deamons_events();
self.handle_deamons_exit();
self.handle_action();
if self.has_config_changed {
self.apply_settings();
Chargement en cours