songsterr-api-node
Version:
npm module for Songsterr's API
29 lines (28 loc) • 957 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tunings_1 = require("./tunings");
var idToString = function (tuning, octaves) {
return tuning.map(function (tuning) {
var notes = Math.floor(tuning / 12) - 1;
return tunings_1.pitch[tuning % 12] + (octaves ? notes : "");
});
};
function idToTuning(tuning) {
var octaves = idToString(tuning, true)
.reverse()
.join(" "), notes = idToString(tuning, false)
.reverse()
.map(function (tuning, octaves) {
return octaves === tuning.length - 1 ? tuning.toLowerCase() : tuning;
})
.join(" ");
var name = "";
if (tuning.length in tunings_1.names && octaves in tunings_1.names[tuning.length])
name = tunings_1.names[tuning.length][octaves];
return {
octaves: octaves,
notes: notes,
name: name
};
}
exports.idToTuning = idToTuning;