/*
* Karaoké : colore les paroles de la page, mot par mot, pendant la lecture du mp3.
*
* Charge Titre.karaoke.json (situé à côté du Titre.mp3 en cours), retrouve tout seul le bloc de
* paroles dans la page, puis remplit chaque mot au rythme du chant.
* N'agit pas sur l'audio : sans conflit avec le VU-mètre ni avec subtitles.js.
*/
(function () {
// ---------- réglages ----------
var SELECTOR = ''; // ex. '#paroles' pour désigner le bloc a la main ; vide = détection automatique
var SUNG_COLOR = '#ffd400'; // couleur des mots chantés (les mots a venir gardent la couleur de la page)
var PAST_COLOR = ''; // couleur des lignes déjà chantées ('' = la meme que SUNG_COLOR), ex. '#ff9f1c'
var LINE_COLOR = '#ff6a1a'; // couleur des mots pas encore chantés de la ligne en cours ('' = couleur de la page), ex. '#ffffff'
var ACTIVE_SCALE = 1.22; // agrandissement de la ligne chantée (1 = aucun ; 1.2 = nettement plus grand)
var LEAD = 0.5; // la ligne suivante se colore / s'agrandit ce nombre de secondes AVANT son premier mot (0 = désactivé)
// cherche le lecteur dans cette page, puis dans la page parente (si les paroles sont dans un cadre)
function findAudio() {
var wins = [window], w = window;
for (var i = 0; i <3; i++)="" {
="" try="" {
="" if="" (w.parent="" &&="" w.parent="" !="=" w)="" {="" w="w.parent;" wins.push(w);="" }="" else="" {="" break;="" }
="" }="" catch="" (e)="" {="" break;="" }
="" }
="" for="" (var="" k="0;" k="" <="" wins.length;="" k++)="" {
="" try="" {
="" var="" a="wins[k].document.querySelector('audio');
" if="" (a)="" return="" a;
="" }="" catch="" (e)="" page="" d'un="" autre="" domaine="" :="" inaccessible
="" }
="" return="" null;
="" le="" lecteur="" peut="" apparaître="" après="" le="" chargement="" de="" la="" page="" :="" on="" attend="" jusqu'à="" 30="" secondes
="" var="" waitTries="0;
" function="" waitForAudio()="" {
="" var="" a="findAudio();
" if="" (a)="" {="" console.info('karaoke.js="" :="" lecteur="" audio="" trouvé');="" start(a);="" return;="" }
="" if="" (waitTries++="" <="" 60)="" setTimeout(waitForAudio,="" 500);
="" else="" console.warn('karaoke.js="" :="" aucun="" lecteur=""