Utilisation avancée

Ligne de commande

Voici les options de ligne de commande pour l'application Karaoke Mugen.

  • --help : Affiche le message d'aide.
  • --version : Affiche la version actuelle.
  • --cli : Démarre Karaoke Mugen sans ouvrir de fenêtre Electron.
  • --debug : Affiche les messages de débogage dans la console (normalement, ceux-ci sont uniquement lisibles dans le fichier de log).
  • --generate : Génère une base de données puis ferme l'application. Cela a pour effet d'écraser l'ancienne base.
  • --validate : Teste et valide les karaokés trouvés dans les dossiers de données (app/data par défaut). Cela est déjà fait via la génération. La différence avec --generate c'est qu'aucune base de données n'est touchée dans ce cas.
  • --noMedia : À utiliser avec --generate ou --validate pour faire abstraction des fichiers médias qui n'existent pas (option pour les développeurs).
  • --noBrowser : N'essaye pas d'ouvrir de navigateur au démarrage (uniquement démarrage sans Electron).
  • --strict : À utiliser avec --generate ou --validate : échoue si un .kara doit être modifié par la procédure de génération de la base de données. De moins en moins utile de par l'apparition du formulaire de création de karaokés.
  • --test : Tourne en mode test, utilisé pour les tests unitaires qu'on peut réaliser via la commande yarn test (développeurs uniquement).
  • --demo : Tourne en mode démonstration, utilisé pour la démo disponible depuis le site. Cela désactive l'interface admin, empêche les modifications de mot de passe et désactive le lecteur.
  • --config fichier : Spécifie un fichier de configuration à lire à la place du fichier par défaut config.yml
  • --updateBase : Met à jour la base de karaokés et déclenche une nouvelle génération de base de données.
  • --updateMedias : Ne met à jour que les médias, pas les .JSON, ni les .ASS.
  • --noBaseCheck : Ne vérifie pas au lancement les fichiers de la base de karaokés (afin d'aller plus vite, si vous êtes sûrs que rien n'a changé)
  • --noPlayer : Ne démarre pas le lecteur vidéo de KM pour gagner un peu de temps au démarrage. Le lecteur sera démarré automatiquement au besoin.
  • --reset : Réinitialise toutes les données utilisateur. Attention cela supprimera tous les utilisateurs locaux, les playlists crées, etc.
  • --profiling : Affiche les infos de profiling dans la console
  • --sql : Affiche les requêtes SQL en mode débogage.
  • --dumpDB : Crée un backup de la base de données dans le fichier karaokemugen.sql et ferme l'application
  • --restoreDB : Restaure un backup de la base de données depuis le fichier karaokemugen.sql et ferme l'application
  • --forceAdminPassword <password> : Change le mot de passe du compte admin. Remplacez <password> par le mot de passe souhaité.

Configuration

Cette section décrit le fichier de configuration du logiciel. Vous n'avez normalement pas à y toucher sauf pour une utilisation avancée. Vous pouvez à tout moment éditer les principaux paramètres de l'application via l'interface opérateur. Plus d'options avancées sont disponibles dans le panneau système

Karaoke Mugen utilise un fichier de configuration nommé config.yml qui se situe dans son dossier d'installation.

Si ce fichier n'existe pas, il utilise des paramètres par défaut que vous pouvez consulter dans le fichier config.sample.yml.

Lorsque vous modifiez un paramètre via l'interface opérateur, un fichier config.yml est écrit (ou modifié s'il existe déjà) avec les nouveaux paramètres, mais tout n'est pas configurable via l'interface opérateur.

Le panneau système vous permettra par contre de modifier absolument tous les paramètres dans le menu "Config".

App

Section dédiée aux paramètres généraux.

  • FirstRun : Passé à false par Karaoke Mugen pour indiquer que celui-ci s'est déjà exécuté et que l'utilisateur ne déclenchera pas le tutoriel de nouveau.
  • JwtSecret : Identifiant secret servant à saler les jetons de connexion.
  • QuickStart : Booléen pour définir si l'app doit faire un démarrage rapide ou non, false par défaut.

Database

Les informations d'accès à la base sont stockées dans le fichier database.json. Le fichier n'est pas créé par défaut et n'a d'utilité que si vous vous passez de l'instance embarquée par Karaoke Mugen. Créer ce fichier ou en modifier les valeurs n'est pas recommandé :

{
    'sql-file': true,
    defaultEnv: 'prod',
    prod: {
        bundledPostgresBinary: true,
        database: 'karaokemugen_app',
        driver: 'pg',
        host: 'localhost',
        password: 'musubi',
        port: 6559,
        schema: 'public',
        superuser: 'postgres',
        superuserPassword: null,
        user: 'karaokemugen_app'
    }
}

Tout est assez explicite. Modifiez les paramètres selon ce dont vous avez besoin.

Si vous utilisez votre propre serveur PostgreSQL, spécifiez bundledPostgresBinary à false. Dans ce cas superuser et superuserPassword sont inutilisés.

Online

Paramètres de configuration des fonctionnalités en ligne.

  • ErrorTracking : Booléen permettant d'activer/désactiver l'envoi des rapports d'erreur de l'application sur notre compte sentry.io
  • Host : Nom d'hôte auquel se connecter pour les fonctionnalités en ligne. Cela remplacera aussi l'URL affichée sur l'écran du lecteur. Fixé sur kara.moe par défaut.
  • MediasHost : Chemin HTTP sur lequel les vidéos se trouvent. Si jamais elles ne sont pas disponibles dans un des dossiers Medias, Karaoke Mugen essayera de les lire via cette adresse. Fixé à undefined par défaut.
  • Port : Définit le port du serveur KM Server auquel l'application doit se connecter. Utilisé surtout à des fin de débuggage. undefined par défaut.
  • Stats : Envoi ou non des statistiques d'utilisation de Karaoke Mugen à Karaoke Mugen Server.
    • undefined (non-existant) : Pose la question à l'utilisateur au démarrage.
    • false : Aucun envoi ne sera fait.
    • true : L'envoi des stats est actif.
  • URL : Définit si votre instance publie son adresse IP publique/locale sur le domaine raccourci kara.moe. Cela permet à vos utilisateurs de n'avoir qu'à taper, par exemple http://kara.moe pour être connecté à votre instance locale s'ils sont sur le même réseau que vous. Cela envoie votre adresse IP locale, publique et votre ID d'instance à un serveur externe défini par OnlineHost (par défaut il s'agit du serveur Karaoke Mugen).
    • false : Fonctionnalités en ligne désactivées.
    • true : Envoi des informations IP à Host.
  • Users : Permet aux utilisateurs de créer ou de se connecter à un compte en ligne.
    • false : Les utilisateurs ne pourront utiliser que des comptes locaux. Si un compte en ligne a déjà été créé sur l'instance, le nom d'utilisateur deviendra user@truc.com. Par exemple axel@kara.moe
    • true : Les utilisateurs peuvent se connecter à leur compte en ligne ou en créer.

Discord

  • DisplayActivity : Booléen. Afficher ou non l'activité de Karaoke Mugen sur votre profil Discord. Affiche si vous êtes en train de chanter ou non et sur quelle chanson.

Updates

Définit ce qui va être mis à jour automatiquement :

Toutes les valeurs sont à true par défaut.

  • App : Booléen, vérifie si une nouvelle mise à jour est disponible ou non.

Medias

  • Intros : Booléen, définit si les intros sont mises à jour depuis le Gitlab de Shelter.
  • Jingles : Booléen, même chose avec les jingles
  • Encores : Pareil.
  • Outros : Pareil.
  • Sponsors : Pareil.

Frontend

Paramètres liés à l'interface web.

  • AuthExpireTime : Temps en minutes avant qu'un utilisateur ne soit déclaré déconnecté de l'interface. Il ne devra pas se reconnecter, mais ne comptera plus comme utilisateur "connecté".
  • Mode : Mode d'ouverture de l'interface web.
    • 0 : Interface fermée à tout utilisateur (sauf l'admin).
    • 1 : Interface limitée pour les utilisateurs. Affichage de la playlist en cours et du karaoké en cours uniquement.
    • 2 : Interface ouverte totalement (par défaut).
  • Port : Port réseau à utiliser pour l'interface web de Karaoke Mugen.
  • SeriesLanguageMode : Mode d'affichage des séries des chansons.
    • 0 : La série porte son titre d'origine (donc en japonais pour un anime).
    • 1 : La série porte son titre selon la langue de la chanson (ou se rabat sur l'anglais, puis l'original).
    • 2 : La série porte son titre selon la langue du système sur lequel Karaoke Mugen tourne (ou se rabat sur l'anglais, etc.).
    • 3 : La série porte son titre selon la langue du navigateur de l'utilisateur (...).

Permissions

  • AllowNicknameChange :
    • false : Les utilisateurs ne peuvent pas changer de pseudo.
    • true : Les utilisateurs peuvent changer de pseudo (par défaut).
  • AllowViewBlacklist :
    • false : Les utilisateurs ne peuvent pas voir la liste noire.
    • true : les utilisateurs peuvent voir la liste noire (par défaut).
  • AllowViewBlacklistCriterias :
    • false : Les utilisateurs ne peuvent pas voir la liste des critères de liste noire.
    • true : Les utilisateurs peuvent voir la liste des critères de liste noire (par défaut).
  • AllowViewWhitelist :
    • false : Les utilisateurs ne peuvent pas voir la liste blanche.
    • true : Les utilisateurs peuvent consulter la liste blanche (par défaut).

GUI

  • OpenInElectron :
    • false : Tous les liens cliqués dans la fenêtre Electron de l'app s'ouvriront via le navigateur.
    • true : Tous les liens cliqués dans la fenêtre Electron resteront dans cette fenêtre.

Gitlab

Réglages spécifiques si votre Karaoke Mugen est relié à une instance Gitlab, pour la création automatique de suggestions lorsque quelqu'un ne trouve pas son karaoké préféré.

  • Enabled : true ou false.
  • Host : URL complète (avec https:// vers votre instance Gitlab).
  • ProjectID : ID du projet Gitlab où poster.
  • Token : Jeton d'accès pour poster avec le nom d'un utilisateur particulier.

IssueTemplate

Modèles d'issues.

Suggestion
  • Labels : Liste d'étiquettes à ajouter automatiquement lors de la création d'une issue.

Karaoke

Réglages spécifiques à votre session karaoké :

  • AutoPlay : Si aucun karaoké n'est en cours de lecture, la playlist démarrera toute seule dès qu'un karaoké y sera ajouté.
    • false : Le démarrage de la lecture est manuel (par défaut).
    • true : La lecture démarre toute seule si un karaoké est ajouté.
  • ClassicMode : Si activé, la lecture s'arrêtera après chaque chanson et ça sera à l'administrateur ou à celui qui a demandé la chanson de lancer la suivante via son appareil.
    • false : Mode classique désactivé.
    • true : Mode classique activé.
  • JinglesInterval : Nombre de chansons entre deux jingles (par défaut : 20 chansons, ce qui représente peu ou prou 30 minutes de karaoké).
  • Private :
    • false : Passe en mode karaoké public, les ajouts des invités vont dans la liste de lecture publique.
    • true : Passe en mode karaoké privé, les ajouts des invités vont directement dans la liste de lecture courante (par défaut).
  • ProgressBarDock : (booléen) Affiche la progression du karaoké ou de la génération dans la barre des tâches Windows ou le dock macOS.
  • Repeat : Répétition auto de la liste de lecture courante.
    • false : La lecture s'arrête quand la playlist arrive à la fin (par défaut).
    • true : La lecture continue en reprenant la playlist depuis le début.
  • SponsorsInterval : Nombre de chansons entre deux sponsors (par défaut : 50 chansons, ce qui représente peu ou prou 1h20 de karaoké).
  • SmartInsert :
    • false : L'insertion intelligente est désactivée.
    • true : Les karaokés seront intelligemment insérés dans la playlist courante, en favorisant les utilisateurs qui n'ont pas beaucoup ajouté de karaokés, par exemple.

Display

  • Avatar : Afficher l'avatar du demandeur d'un karaoké en bas à droite de l'écran avec les infos de la chanson en cours.
    • false : Ne pas afficher d'avatars.
    • true : Afficher les avatars.
  • Nickname :
    • false : Le lecteur n'affiche pas qui a demandé la chanson.
    • true : Le lecteur affiche qui a demandé la chanson (par défaut).
ConnectionInfo
  • Enabled : Karaoke Mugen doit-il afficher l'URL de connexion lors des pauses ou jingles ?
    • false : Aucune URL ne s'affichera en bas de l'écran.
    • true : Les infos de connexion sont affichées (par défaut).
  • Host : Si vide, l'adresse IP est détectée automatiquement, mais cette détection automatique peut parfois être fausse : cela vous permet d'indiquer vous-même l'adresse que vos invités utiliseront pour se connecter.
  • Message : Message à afficher en plus de l'adresse de connexion. Exemples :
    • 1 euro la chanson !
    • Réseau WiFi : Jonetsu

Poll

  • Choices : Nombre de chansons à suggérer dans les votes.
  • Enabled : Votes publics.
    • false : Les votes publics sont désactivés.
    • true : Les votes publics sont activés.
  • Timeout : Durée d'un sondage. Il sera arrêté dix secondes avant la fin d'une chanson.

Quota

  • FreeAutoTime : Temps en minutes avant qu'une chanson ne soit automatiquement libérée (60 minutes par défaut).
  • FreeUpvotes :
    • false : Les "likes" ne permettent pas de donner un ajout gratuit en liste courante.
    • true : Les utilisateurs dont un karaoké est énormément "liké" obtiennent un ajout gratuit dans la liste courante.
  • FreeUpvotesRequiredMin : Nombre de likes minimum requis pour qu'il y ait attribution d'un ajout gratuit.
  • FreeUpvotesRequiredPercent : Pourcentage (0-100) de likes requis pour obtenir un ajout gratuit. Il s'agit du pourcentage de gens connectés au moment du "like".
  • Songs : Nombre de chansons qu'une personne peut avoir dans une même liste de lecture.
  • Time : Durée totale en secondes de toutes les pistes qu'une personne peut avoir dans une même liste de lecture.
  • Type : Type de quota à utiliser pour contrôler la capacité des utilisateurs à ajouter des chansons.
    • 0 : Aucun quota.
    • 1 : Nombre de chansons.
    • 2 : Durée.

StreamerMode

Le mode Streamer permet d'afficher les résultats des votes des participants lors de la sélection d'une chanson, mais aussi de faire interagir le public de Twitch. Il ajoute également une pause configurable entre les chansons.

  • Enabled : true ou false (par défaut) selon si on veut activer ce mode.
  • PauseDuration : Durée de la pause en secondes.
Twitch
  • Enabled : true ou false (par défaut) selon si on veut activer le lien vers Twitch.
  • OAuth : Votre jeton OAuth Twitch.
  • Channel : Canal twitch à rejoindre pour le bot.

Player

  • Background : Nom du fichier image présent dans le dossier app/backgrounds.
    • Si aucun n'est spécifié, Karaoke Mugen choisira un fond d'écran aléatoire à chaque pause selon ce qu'il trouvera dans le dossier.
    • Si aucun fond d'écran n'est détecté dans le dossier, celui par défaut sera utilisé.
  • ExtraCommandLine : Chaîne de caractères d'options de ligne de commande à ajouter à mpv lors de son lancement.
  • Fullscreen : Ce paramètre n'est pas pris en compte si PIP.Enabled est à true.
    • false : Le lecteur est en mode fenêtré (par défaut).
    • true : Le lecteur est en plein écran.
  • HardwareDecoding :
    • no : Décodage matériel désactivé
    • yes : Forcer le décodage matériel. Attention cela peut avoir des effets néfastes voire occasionner des plantages selon votre matériel, drivers, et la vidéo utilisée.
    • auto-safe : Activer uniquement pour les combinaisons connues pour fonctionner de façon sûre. Consultez la documentation de mpv pour plus d'informations.
  • Monitor :
    • false : Le moniteur n'est pas affiché (par défaut).
    • true : Le moniteur est affiché. Le moniteur est une deuxième fenêtre du lecteur vidéo qui est synchronisée avec la première. Elle permet à l'opérateur de karaokés d'avoir une vue sur ce qu'il se passe sur l'écran principal.
  • mpvVideoOutput : Choix du driver vidéo pour mpv. Si sous Windows vous voyez une fenêtre bleue en lançant Karaoke Mugen, indiquez la valeur direct3d, sinon laissez à vide pour autodétection.
  • NoBar :
    • false : La barre de progression de la vidéo est affichée lorsqu'on se déplace dans la vidéo.
    • true : La barre de progression de la vidéo n'est pas affichée lorsqu'on se déplace dans la vidéo (par défaut).
  • NoHud :
    • false : Les informations du lecteur vidéo mpv sont affichées à l'écran.
    • true : Les informations du fichier par mpv ne sont pas affichées à l'écran (par défaut).
  • ProgressBarDock : Afficher ou non la progression de la vidéo via le Dock (macOS) ou la barre des tâches (Windows)
  • Screen : numéro de votre écran.
    • 0 : premier écran (écran principal) (par défaut).
    • 1 : deuxième écran.
    • 2 : troisième écran.
    • ...
    • 9 : Laisser le lecteur décider.
  • StayOnTop :
    • false : Le lecteur ne reste pas au-dessus des fenêtres.
    • true : Le lecteur reste toujours au-dessus des autres fenêtres (par défaut).
  • VisualizationEffects :
    • false : Les effets de visualisation sont désactivés.
    • true : Les effets de visualisation lors de la lecture d'un mp3 sont activés.
  • Volume : de 0 à 100, volume de départ de mpv.

PIP

  • Enabled :
    • false : Désactive le mode Picture-in-Picture.
    • true : Active le mode Picture-in-Picture (par défaut).
  • PositionX : Définit la position horizontale du lecteur :
    • Left : À gauche de l'écran.
    • Center : Au milieu de l'écran.
    • Right : À droite de l'écran.
  • PositionY : Définit la position verticale du lecteur :
    • Top : En haut de l'écran.
    • Center : Au milieu de l'écran.
    • Bottom : En bas de l'écran.
  • Size : si le mode PIP est activé, définit la taille qu'occupe la vidéo, en pourcentage de la taille de l'écran.

Playlist

  • AllowDuplicates : Une chanson peut-elle être ajoutée plusieurs fois (listes non publiques uniquement) ?
  • AllowDuplicateSeries : Une chanson peut-elle être ajoutée si une autre chanson de la même série ou chanteur est déjà présente ?
  • EndOfPlaylistAction :
    • none : Ne rien faire, le karaoké s'arrête.
    • random : Jouer des chansons aléatoirement depuis la bibliothèque
    • repeat : Revenir au début de la playlist
  • MaxDejaVuTime : Une chanson est marquée comme "déjà vue" si elle est passée il y a moins de xx minutes (par défaut 60).

Medias

Pour chaque élément, il y a trois paramètres :

  • Enabled : Booléen qui active ou désactive l'utilisation de ce type de média
  • File : Nom d'un fichier à utiliser pour éviter d'en choisir un aléatoirement.
  • Message : Un message optionnel à afficher durant la lecture du média.

Pour les jingles et sponsors uniquement :

  • Interval : Nombre de chansons entre deux jingles/sponsors

Les médias sont Jingles, Sponsors, Intros, Outros et Encores. Exemple :

    Intros:
      Enabled: true
      File: PS1-Nanami.mp4
    Outros:
      Enabled: false
      File: Byebye.mp4
    Encores:
      Enabled: false
      File: encoru.mp4

MysterySongs

  • AddedSongVisibilityAdmin :
    • false : Les chansons ajoutées par l'administrateur sont "mystérieuses".
    • true : Les chansons ajoutées par l'administrateur sont totalement visibles (par défaut).
  • AddedSongVisibilityPublic :
    • false : Les chansons ajoutées par le public sont "mystérieuses".
    • true : Les chansons ajoutées par le public sont totalement visibles (par défaut).
  • Hide :
    • false : Les chansons mystères sont visibles (mais leur contenu reste mystérieux) (par défaut).
    • true : Les chansons mystères sont cachées, elles n'apparaissent pas du tout dans la liste de lecture pour le public.
  • Labels : Définit le texte qui apparaitra dasn les playlists à la place du titre des karaokés "mystères". Fixé à ??? par défaut.

System

Binaries

Chemins vers les binaires. Chaque binaire contient trois paramètres de chaîne : Windows, OSX et Linux. Les binaires sont Player, ffmpeg, Postgres. Pour Postgres il s'agit du dossier binaire de la distribution postgres. Pour les autres, un exécutable est attendu.

Exemple :

System:
  Binaries:
    Player:
      Linux: /usr/bin/mpv
      OSX: app/bin/mpv.app/Contents/MacOS/mpv
      Windows: app/bin/mpv.exe

Repositories

Tous les dépôts de votre installation sont listés dans cette section.

Example repository kara.moe
  • Enabled :
    • true : Le dépôt sera utilisé pour la génération et les mises à jour en ligne
    • false : Le dépôt NE sera PAS utilisé pour la génération et les mises à jour en ligne. Ses chansons n'apparaîtront pas dans votre base de données.
  • Name : Nom du dépôt. Il faut qu'il soit en accord avec ce qui est présent dans les fichiers .kara.json, .tag.json et .series.json. Pour les dépôts en ligne il faut que le nom soit un nom de domaine.
  • Online :
    • true : Le dépôt est un dépôt en ligne.
    • false : Le dépôt ne contient que des fichiers locaux.
  • Path : Chemins pour chaque type de données :
  • Karas : Chemin vers les fichiers .kara.json.
  • Lyrics : Chemin vers les fichiers .ass.
  • Medias : Chemin vers les fichiers médias.
  • Series : Chemins vers les dossiers des fichiers .series.json.
  • Tags : Chemins vers les dossiers des fichiers .tag.json.

Path

Les chemins qui peuvent prendre plusieurs dossiers sont Backgrounds, Jingles, Karas, Lyrics, Medias et Series. Vous devez séparer les différents dossiers par un retour à la ligne.

  • Avatars : Chemin de stockage des avatars des utilisateurs.
  • Backgrounds : Chemins où chercher les fonds d'écran. app/backgrounds par défaut.
  • DB : Chemin vers les fichiers des bases de données.
  • Import : Chemin de la base pour l'importation de karaokés.
  • Intros : Chemins où chercher les intros vidéos. app/intros par défaut.
  • Sponsors : Chemins où chercher les sponsors. app/sponsors par défaut.
  • Outros : Chemins où chercher les outros. app/outros par défaut.
  • Encores : Chemins où chercher les sponsors. app/encores par défaut.
  • Jingles : Chemins où chercher les jingles vidéo. app/jingles par défaut.
  • Previews : Chemin de stockage des prévisualisations. Compter 500 Ko par karaoké.
  • Temp : Chemin vers les fichiers temporaires.

Personnalisation

Outre les quelques options de personnalisation qu'on trouve dans le fichier de configuration, vous pouvez personnaliser Karaoke Mugen un peu plus :

Fonds d'écran

Par défaut, un fond d'écran embarqué par Karaoke Mugen est affiché. Vous pouvez néanmoins spécifier le vôtre via la variable Background ou plus simplement déposer des fonds d'écran de votre choix aux formats .jpg .png ou même .gif dans le dossier app/backgrounds.

Karaoke Mugen les affichera alors aléatoirement à chaque pause.

Jingles

Si vous avez envie de pimenter un peu votre karaoké, vous pouvez passer des jingles toutes les XX chansons (via le paramètre JinglesInterval). Ces jingles vidéo se trouvent par défaut dans le dossier app/jingles.

La communauté Karaoke Mugen met à votre disposition quelques jingles vidéo, mais vous pouvez tout à fait utiliser les vôtres !

Les jingles sont téléchargeables dans cette archive. Placez-les dans le dossier app/jingles une fois décompressés. Ils sont inclus dans la version binaire de Karaoke Mugen.