zikadonf piano v1

by Simon Hi

JavaScript

(function() {
  var s = "",
    zkfp, js, cb, xpos = 0,
    btn, svg, iwin;
  var a = [];

  function addCss() {
    var e, s;
    if (e = document.querySelector("style[data-zkfp]")) return;
    s = "";
    s += ".zkfpGlobal{margin:0.25em;font-size:1em;font-family:sans-serif;width:23em;background:#f9f9f9;overflow:hidden;user-select:none;}";
    s += ".zkfpGlobal svg{cursor:pointer;position:relative;display:block;width:100%;height:auto;outline:0;}";
    s += ".zkfpGlobal[data-not-done=\"0\"] svg{cursor:default;}";
    s += ".zkfpPanel{background:#963;color:#fff;text-align:center;}";
    s += ".zkfpPanel label{display:block;margin:0.25em;}";
    s += ".zkfpPanel input[type='checkbox'],";
    s += ".zkfpPanel button{filter:grayscale(1);}";
    s += ".zkfpPanel button{border:0;border-radius:0.25em;background:#fff;padding:0 1em;height:1.5em;line-height:1.5em;}";
    s += ".zkfpPanel input[type='checkbox']:hover,";
    s += ".zkfpPanel button:hover{cursor:pointer;}";
    s += ".zkfpPanel input[type='checkbox'][disabled]:hover,";
    s += ".zkfpPanel button[disabled]:hover{cursor:default;}";
    s += ".zkfpNavigation {margin:0.25em;}";
    s += ".zkfpNavigation button{margin:0.25em;}";
    s += ".zkfpMakeImage{background:#000;text-align:center;}";
    s += ".zkfpMakeImage>*{display:inline-block;margin:0.5em;}";
    s += ".zkfpGlobal:focus-within{outline:1px dashed #000;}";
    s += "[data-not-done=\"0\"]{opacity:0.5;}";
    e = document.createElement("style");
    e.toggleAttribute('data-zkfp');
    e.innerHTML = s;
    document.getElementsByTagName("head")[0].appendChild(e);
  }

  function initA() {
    var i;
    for (i = 0; i < 49; i++) {
      a[i] = [];
      a[i][0] = false;
      a[i][1] = false;
    }
  }

  function b64EncodeUnicode(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
      function toSolidBytes(match, p1) {
        return String.fromCharCode('0x' + p1);
      }));
  };

  function svgToDataURL(b) {
    var e1, e2, a, z, r...