Websocket

L'application Karaoke Mugen envoie des messages par websocket a ses navigateurs clients pour leur notifier des mises à jour de l'interface, ou qu'ils doivent relancer des requêtes vers les API via HTTP pour se mettre à jour.

Chaque message a un type (c.-à-d. playerStatus) et des données, que ce soit au format JSON ou texte.

Événements du lecteur

playerStatus

Message JSON indiquant l'état actuel de l'application.

Propriétés

Exemple

{
    private: true,
    status: 'play',
    onTop: true,
    fullscreen: false,
    timePosition: 12.628,
    duration: 92,
    muteStatus: false,
    playerStatus: 'play',
    currentlyPlaying: 232,
    subText: 'DATABASE DATABASE WOW WOW',
    showSubs: true,
    volume: 100,
};

Événements de votes

songPollResult

Événement envoyé lorsqu'un vote est terminé pour qu'on puisse afficher le gagnant et avec combien de voix.

Propriétés

Objet JSON :

Exemple

{
    votes: 5,
    kara: 'Mahoromatic - AMV - Dernière Danse 2010'
}

songPollEnded

Ce message est envoyé si le système de vote a été désactivé. Il ne contient pas de données.

newSongPoll

Ce message est envoyé lorsqu'un nouveau vote est lancé. Il contient des données JSON similaires au contenu d'une playlist de l'appel d'API GET /public/playlists/current/karas par exemple, ou de l'appel GET /public/songpoll.

Événements de playlists

playlistsUpdated

Événement envoyé lorsque la liste des playlists a été mise à jour (création/suppression/changement de nom). Il ne contient pas de données, et doit déclencher un rafraichissement de la liste des playlists.

playlistInfoUpdated

Événement envoyé lorsque le status d'une playlist a été mis à jour. Les données contiennent l'identifiant de la playlist. Une fois reçu, il doit déclencher un rafraichissement du statut de cette playlist / de la liste des playlists.

playlistContentsUpdated

Événement envoyé lorsqu'une playlist a été modifiée. Les données contiennent le numéro d'identifiant de la playlist. Une fois reçu, il doit déclencher un rafraichissement du contenu de la playlist, si elle est affichée à l'écran.

blacklistUpdated

Événement envoyé lorsque la blacklist a été mise à jour par un admin. Il doit déclencher le rafraichissement de la liste principale des karaokés (Karas) vu que certaines pistes devraient apparaitre/disparaitre pour les utilisateurs. Le contenu de la blacklist doit aussi être rafraichi.

whitelistUpdated

Voir ci-dessus.

Événements utilisateur

usersUpdated

Événement envoyé lorsque la liste des utilisateurs a été mise à jour (nouvel utilisateur...). Il ne contient pas de données.

userUpdated

Un utilisateur spécifique a été mis à jour. Les données contiennent l'identifiant de l'utilisateur.

adminMessage

Contient un message émis par l'administrateur, destiné à être affiché sur l'écran des utilisateurs. Les données contiennent le message en question.

favoritesUpdated

Les favoris d'un utilisateur ont été mis à jour. Les données contiennent le login de l'utilisateur.

quotaAvailableUpdated

La quantité de chanson/secondes restante à un utilisateur a été mise à jour. Les données sont au format JSON avec des propriétés correspondantes à l'exemple ci-dessous. Consultez le guide de configuration pour en savoir plus sur l'utilisation des quotas d'utilisateur.

Exemple

{
    username: 'Axel',
    quotaLeft: 5,
    quotaType: 1
}