diff options
Diffstat (limited to 'bundle.js')
| -rw-r--r-- | bundle.js | 49 |
1 files changed, 35 insertions, 14 deletions
@@ -33343,7 +33343,7 @@ function roundInterval(interval) { return Math.round(interval * 10000000); } var intervalInRange = function intervalInRange(interval, root) { - return 20 < interval * root && interval * root < 15000; + return 20 < interval * root && interval * root < 20000; }; var lerp = function lerp(n, a, b) { return (b - a) * n + a; @@ -38109,7 +38109,7 @@ window.addEventListener("keydown", keydown, true); Object.defineProperty(exports, "__esModule", { value: true }); -exports.scales = undefined; +exports.equal = exports.scales = undefined; __webpack_require__(630); @@ -38173,6 +38173,10 @@ var scales = exports.scales = [{ name: "natural", get: function get(i, j) { } }]; +var equal = exports.equal = { name: "equal", get: function get(i, j) { + return [i, j + 1]; + } }; + /***/ }), /* 268 */ /***/ (function(module, exports, __webpack_require__) { @@ -38658,6 +38662,7 @@ var lastNote = 0; var notes = []; var base_x = 0; var base_y = 0; +var scale = _scales.scales[0]; var scaleMode = 0; var is_split = false; var intervals = void 0; @@ -38679,7 +38684,7 @@ function build() { h = window.innerHeight; ws = Math.ceil(w / s); hs = Math.ceil(h / s); - var scale = _scales.scales[scaleMode % _scales.scales.length]; + scale = _scales.scales[scaleMode % _scales.scales.length]; if (scale.reset) { scale.reset(Math.round(base_x), Math.round(base_y), ws, hs); } @@ -38748,6 +38753,7 @@ function trigger_index(index) { } function pause(note) { _organ2.default.pause(note.interval); + trigger(note); var rounded = (0, _util.roundInterval)(note.interval); notes.forEach(function (row) { return row.forEach(function (note) { @@ -38767,15 +38773,16 @@ function add(i, j) { var ii = i + Math.round(base_x); var jj = j + Math.round(base_y); - var scale = _scales.scales[scaleMode % _scales.scales.length]; - var _scale$get = scale.get(ii, jj, i, j, Math.round(base_x), Math.round(base_y)), _scale$get2 = _slicedToArray(_scale$get, 2), a = _scale$get2[0], b = _scale$get2[1]; + var isEqualTemperament = scale.name === "equal"; + var div = document.createElement("div"); - var interval = a / b; + + var interval = isEqualTemperament ? Math.pow(2, a / b) : a / b; // const interval = root * Math.pow(2, ((b / a) % 1) + 1); var add = 0; var frac = void 0; @@ -38795,7 +38802,7 @@ function add(i, j) { recolor: function recolor(numerator, denominator) { var aa = a / numerator; var bb = b / denominator; - if (aa < bb) { + if (aa < bb && aa !== 0) { add = -Math.log(bb / aa) / 3.5; } else { add = Math.log(aa / bb) / 6; @@ -38806,21 +38813,33 @@ function add(i, j) { var a_disp = a_inv / ba_gcd; var b_disp = b_inv / ba_gcd; - frac = Math.log2(aa / bb) % 1; + frac = Math.log2(isEqualTemperament ? interval : aa / bb) % 1; + var frac_orig = Math.log2(a / b) % 1; if (frac < 0) { frac += 1; } + if (frac_orig < 0) { frac += 1; } - if (frac_orig === 0) { - div.style.fontWeight = "900"; + + if (isEqualTemperament) { + if (interval % 1 === 0) { + div.style.fontWeight = "900"; + } else { + div.style.fontWeight = "500"; + } } else { - div.style.fontWeight = "500"; + if (frac_orig === 0) { + div.style.fontWeight = "900"; + } else { + div.style.fontWeight = "500"; + } } - div.innerHTML = "<div>" + a_disp + "</div><div>/</div><div>" + b_disp + "</div>"; + div.innerHTML = isEqualTemperament ? "<div>" + a + "</div><div></div><div>" + b + "\u221A2</div>" : "<div>" + a_disp + "</div><div>/</div><div>" + b_disp + "</div>"; + if (note.playing) { div.style.backgroundColor = (0, _color2.default)(frac, add + add_on, mul_on); } else { @@ -38997,8 +39016,9 @@ function keydown(e) { showMessage("Root: " + root + " hz"); } else { scaleMode = (0, _util.mod)(scaleMode - 1, _scales.scales.length); + scale = _scales.scales[scaleMode]; rebuild(); - showMessage(_scales.scales[scaleMode].name); + showMessage(scale.name); } break; case 187: @@ -39010,8 +39030,9 @@ function keydown(e) { showMessage("Root: " + root + " hz"); } else { scaleMode = (0, _util.mod)(scaleMode + 1, _scales.scales.length); + scale = _scales.scales[scaleMode]; rebuild(); - showMessage(_scales.scales[scaleMode].name); + showMessage(scale.name); } break; } |
