Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 003717f5 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Execute hooks when needed in commands

The queue_end is not used for the moment.
Les hooks sont exécutés que si la commande a réussie.
parent 83728b7a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!116Hooks
......@@ -161,7 +161,12 @@ command_next(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA
char filepath[PATH_MAX];
if (!database_queue_next(srv->db, filepath))
return false;
return ! MOD_CALL(srv->window_mod, "load", filepath);
if (MOD_CALL(srv->window_mod, "load", filepath))
return false;
else {
config_handle_hook(srv->db, "kara_load", 0);
return true;
}
}
bool
......@@ -180,7 +185,12 @@ command_previous(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_M
char filepath[PATH_MAX];
if (!database_queue_prev(srv->db, filepath))
return false;
return ! MOD_CALL(srv->window_mod, "load", filepath);
if (MOD_CALL(srv->window_mod, "load", filepath))
return false;
else {
config_handle_hook(srv->db, "kara_load", 0);
return true;
}
}
static inline bool
......@@ -210,7 +220,14 @@ command_play(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA
database_queue_stop(srv->db);
RETURN_IF(MOD_CALL(srv->window_mod, "new", &srv->queue, srv->db), "Can't create window", false);
srv->mpd_idle_events |= MPD_IDLE_PLAYER;
return __play_that_file(srv, pos);
/* Hooks */
if (__play_that_file(srv, pos)) {
config_handle_hook(srv->db, "queue_begin", 0);
config_handle_hook(srv->db, "kara_load", 0);
return true;
} else
return false;
}
bool
......@@ -238,7 +255,14 @@ command_playid(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
srv->mpd_idle_events |= MPD_IDLE_PLAYER;
RETURN_IF(MOD_CALL(srv->window_mod, "new", &srv->queue, srv->db), "Can't create window", false);
database_queue_seekid(srv->db, (int) id, &pos);
return __play_that_file(srv, pos);
/* Hooks */
if (__play_that_file(srv, pos)) {
config_handle_hook(srv->db, "queue_begin", 0);
config_handle_hook(srv->db, "kara_load", 0);
return true;
} else
return false;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter