keyboard-layout-editor
keyboard-layout-editor copied to clipboard
"Upload JSON" should surface error message on failure
I wrote a script to generate a layout for a harmonic isomorphic midi keyboard in KLE's json style (Download):
[
[{x:6.0},"C₈", "C₈#", "D₈", "D₈#", "E₈", "F₈", "F₈#", "G₈", "G₈#", "A₈", "A₈#", "B₈"],
[{x:5.5},"G₇#", "A₇", "A₇#", "B₇", "C₈", "C₈#", "D₈", "D₈#", "E₈", "F₈", "F₈#", "G₈", "G₈#"],
[{x:5.0},"E₇", "F₇", "F₇#", "G₇", "G₇#", "A₇", "A₇#", "B₇", "C₈", "C₈#", "D₈", "D₈#", "E₈", "F₈"],
[{x:4.5},"C₇", "C₇#", "D₇", "D₇#", "E₇", "F₇", "F₇#", "G₇", "G₇#", "A₇", "A₇#", "B₇", "C₈", "C₈#", "D₈"],
[{x:4.0},"G₆#", "A₆", "A₆#", "B₆", "C₇", "C₇#", "D₇", "D₇#", "E₇", "F₇", "F₇#", "G₇", "G₇#", "A₇", "A₇#", "B₇"],
[{x:3.5},"E₆", "F₆", "F₆#", "G₆", "G₆#", "A₆", "A₆#", "B₆", "C₇", "C₇#", "D₇", "D₇#", "E₇", "F₇", "F₇#", "G₇", "G₇#"],
[{x:3.0},"C₆", "C₆#", "D₆", "D₆#", "E₆", "F₆", "F₆#", "G₆", "G₆#", "A₆", "A₆#", "B₆", "C₇", "C₇#", "D₇", "D₇#", "E₇", "F₇"],
[{x:2.5},"G₅#", "A₅", "A₅#", "B₅", "C₆", "C₆#", "D₆", "D₆#", "E₆", "F₆", "F₆#", "G₆", "G₆#", "A₆", "A₆#", "B₆", "C₇", "C₇#", "D₇"],
[{x:2.0},"E₅", "F₅", "F₅#", "G₅", "G₅#", "A₅", "A₅#", "B₅", "C₆", "C₆#", "D₆", "D₆#", "E₆", "F₆", "F₆#", "G₆", "G₆#", "A₆", "A₆#", "B₆"],
[{x:1.5},"C₅", "C₅#", "D₅", "D₅#", "E₅", "F₅", "F₅#", "G₅", "G₅#", "A₅", "A₅#", "B₅", "C₆", "C₆#", "D₆", "D₆#", "E₆", "F₆", "F₆#", "G₆", "G₆#"],
[{x:1.0},"G₄#", "A₄", "A₄#", "B₄", "C₅", "C₅#", "D₅", "D₅#", "E₅", "F₅", "F₅#", "G₅", "G₅#", "A₅", "A₅#", "B₅", "C₆", "C₆#", "D₆", "D₆#", "E₆", "F₆"],
[{x:0.5},"E₄", "F₄", "F₄#", "G₄", "G₄#", "A₄", "A₄#", "B₄", "C₅", "C₅#", "D₅", "D₅#", "E₅", "F₅", "F₅#", "G₅", "G₅#", "A₅", "A₅#", "B₅", "C₆", "C₆#", "D₆"],
["C₄", "C₄#", "D₄", "D₄#", "E₄", "F₄", "F₄#", "G₄", "G₄#", "A₄", "A₄#", "B₄", "C₅", "C₅#", "D₅", "D₅#", "E₅", "F₅", "F₅#", "G₅", "G₅#", "A₅", "A₅#", "B₅│
[{x:0.5}, "A₃", "A₃#", "B₃", "C₄", "C₄#", "D₄", "D₄#", "E₄", "F₄", "F₄#", "G₄", "G₄#", "A₄", "A₄#", "B₄", "C₅", "C₅#", "D₅", "D₅#", "E₅", "F₅", "F₅#", "G₅"],
[{x:1.0}, "F₃#", "G₃", "G₃#", "A₃", "A₃#", "B₃", "C₄", "C₄#", "D₄", "D₄#", "E₄", "F₄", "F₄#", "G₄", "G₄#", "A₄", "A₄#", "B₄", "C₅", "C₅#", "D₅", "D₅#"],
[{x:1.5}, "D₃#", "E₃", "F₃", "F₃#", "G₃", "G₃#", "A₃", "A₃#", "B₃", "C₄", "C₄#", "D₄", "D₄#", "E₄", "F₄", "F₄#", "G₄", "G₄#", "A₄", "A₄#", "B₄"],
[{x:2.0}, "C₃", "C₃#", "D₃", "D₃#", "E₃", "F₃", "F₃#", "G₃", "G₃#", "A₃", "A₃#", "B₃", "C₄", "C₄#", "D₄", "D₄#", "E₄", "F₄", "F₄#", "G₄"],
[{x:2.5}, "A₂", "A₂#", "B₂", "C₃", "C₃#", "D₃", "D₃#", "E₃", "F₃", "F₃#", "G₃", "G₃#", "A₃", "A₃#", "B₃", "C₄", "C₄#", "D₄", "D₄#"],
[{x:3.0}, "F₂#", "G₂", "G₂#", "A₂", "A₂#", "B₂", "C₃", "C₃#", "D₃", "D₃#", "E₃", "F₃", "F₃#", "G₃", "G₃#", "A₃", "A₃#", "B₃"],
[{x:3.5}, "D₂#", "E₂", "F₂", "F₂#", "G₂", "G₂#", "A₂", "A₂#", "B₂", "C₃", "C₃#", "D₃", "D₃#", "E₃", "F₃", "F₃#", "G₃"],
[{x:4.0}, "C₂", "C₂#", "D₂", "D₂#", "E₂", "F₂", "F₂#", "G₂", "G₂#", "A₂", "A₂#", "B₂", "C₃", "C₃#", "D₃", "D₃#"],
[{x:4.5}, "A₁", "A₁#", "B₁ ", "C₂", "C₂#", "D₂", "D₂#", "E₂", "F₂", "F₂#", "G₂", "G₂#", "A₂", "A₂#", "B₂"],
[{x:5.0}, "F₁#", "G₁", "G₁#", "A₁", "A₁#", "B₁", "C₂", "C₂#", "D₂", "D₂#", "E₂", "F₂", "F₂#", "G₂"],
[{x:5.5}, "D₁#", "E₁", "F₁", "F₁#", "G₁", "G₁#", "A₁", "A₁#", "B₁", "C₂", "C₂#", "D₂", "D₂#"],
[{x:6.0}, "C₁", "C₁#", "D₁", "D₁#", "E₁", "F₁", "F₁#", "G₁", "G₁#", "A₁", "A₁#", "B₁"]
]
Unfortunately the Upload JSON feature in the "Raw data" view produces an empty layout with this file. I've almost certainly gotten something wrong here, but the lack of error feedback makes progress difficult.
(fwiw, changing the subscripts to normal ASCII numbers does not change anything)
Figured it out:
["C₄", …, "B₅│
Should have been:
["C₄",…, "B₅"],
Surfacing an error message would have made this a lot easier to track down 😅