diff options
| author | Jules Laplace <jules@okfoc.us> | 2017-04-27 00:44:29 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2017-04-27 00:44:29 -0400 |
| commit | 934d7dd83b34fd338b28d95da0397f4016516b82 (patch) | |
| tree | 8ae99e032889372bcdf7507a481e551da7bbc459 /client/lib/scales.js | |
| parent | 0a9ef8576d7c76d61f98bd83e783fac8ed204de0 (diff) | |
bpm and scale select
Diffstat (limited to 'client/lib/scales.js')
| -rw-r--r-- | client/lib/scales.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/client/lib/scales.js b/client/lib/scales.js index 1462504..fd7b5a7 100644 --- a/client/lib/scales.js +++ b/client/lib/scales.js @@ -120,6 +120,7 @@ const scales = [ ].map( (opt) => new Intonation(opt) ) let scale = scales[0] +let handleChange = function(){} function build () { scales.forEach( (scale, i) => { @@ -127,24 +128,30 @@ function build () { scale.heading.innerHTML = scale.name scale.heading.classList.add('heading') scale.heading.addEventListener('click', function(){ - set_scale(i) + pick(i) }) scale_list.appendChild(scale.heading) }) - set_scale(0) + pick(0) } -function set_scale (i){ +function pick (i){ if (scale) { scale.heading.classList.remove('selected') } scale = scales[i] scale.heading.classList.add('selected') + handleChange(scale) } function current () { return scale } -export default { scales, current, build } +function onChange (fn) { + handleChange = fn +} + + +export default { scales, current, build, pick, onChange } |
