Página preparar-misa.html y fragmentos de canciones

This commit is contained in:
Carlos Galindo 2025-05-19 18:48:32 +02:00
commit 434cbc1c25
10 changed files with 391 additions and 21 deletions

View file

@ -11,7 +11,8 @@ function size(steps) {
currSize = SIZE_STEPS.indexOf(100);
}
currSize += steps;
document.getElementById('wholeSongDiv').style.fontSize = SIZE_STEPS[currSize] + '%';
for (let div of document.getElementsByClassName('fullsong'))
div.style.fontSize = SIZE_STEPS[currSize] + '%';
}
/* ===========================================
@ -25,13 +26,18 @@ CHORDS_ENG = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'Bb', 'B']
/** Changes all chords to a given semitone relative to the original */
function transpose(n) {
transposeAdd(n - getTranspose())
function transpose(n, song) {
transposeAdd(n - getTranspose(song), song)
}
/** Transposes all chords by n steps */
function transposeAdd(n) {
for (c of document.getElementsByClassName('c')) {
function transposeAdd(n, song) { // TODO use song!
let div;
if (song)
div = document.getElementById("song" + song);
else
div = document.getElementsByClassName("fullsong")[0];
for (c of div.getElementsByClassName('c')) {
chord = c.innerHTML
nbsp = chord.endsWith(" ")
if (nbsp) {
@ -45,17 +51,21 @@ function transposeAdd(n) {
c.innerHTML = CHORDS_LAT[j] + (nbsp ? " " : "")
}
setTransposeSelector(getTranspose() + n)
setTransposeSelector(getTranspose(song) + n, song);
}
function setTransposeSelector(n) {
function setTransposeSelector(n, song) {
while (n > 6) {
n -= 12
}
while (n < -6) {
n += 12
}
ts = document.getElementById("transposeSelect")
let ts;
if (song)
ts = document.getElementById("transposeSelect" + song);
else
ts = document.getElementById("transposeSelect");
if (n > 0) {
ts.value = "+" + n
} else {
@ -63,7 +73,9 @@ function setTransposeSelector(n) {
}
}
function getTranspose() {
function getTranspose(song) {
if (song)
return Number.parseInt(document.getElementById("transposeSelect" + song).value)
return Number.parseInt(document.getElementById("transposeSelect").value)
}