File size: 872 Bytes
af6912c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
var TabNote = require('./tab-note');
var notes = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
function tabNotes(fromNote, toNote) {
//console.log("INIT TabNotes")
var fromN = new TabNote(fromNote);
var toN = new TabNote(toNote);
// check that toN is not lower than fromN
if (toN.isLowerThan(fromN)) {
var from = fromN.emit();
var tn = toN.emit();
return {
error: 'Invalid string Instrument tuning : ' +
tn + ' string lower than ' + from + ' string'
};
}
var buildReturned = [];
var startIndex = notes.indexOf(fromN.name);
var toIndex = notes.indexOf(toN.name);
if ((startIndex == -1) || (toIndex == -1)) {
return buildReturned;
}
var finished = false;
while (!finished) {
buildReturned.push(fromN.emit());
fromN = fromN.nextNote();
if (fromN.sameNoteAs(toN)) {
finished = true;
}
}
return buildReturned;
}
module.exports = tabNotes;
|