Fingering Diagram Builder

Version 0.83 | A service of Bret Pimentel, woodwinds Help

Need note images for your fingering chart? Try the new Note Image Generator

Failed to load. Try again

{{message}}

Array ( [0] => function forEachIn(a,g){for(var b in a)a.hasOwnProperty(b)&&g(b,a[b])}function isEmpty(a){for(var g in a)if(a.hasOwnProperty(g))return!1;return JSON.stringify(a)===JSON.stringify({})}function getCookie(a){return(a=document.cookie.match("(^|;) ?"+a+"=([^;]*)(;|$)"))?a[2]:null}function setCookie(a,g,b){var c=new Date;c.setTime(c.getTime()+864E5*b);document.cookie=a+"="+g+";path=/;expires="+c.toGMTString()}function deleteCookie(a){setCookie(a,"",-1)} [1] => var MD5=function(a){result=M(V(Y(X(a),8*a.length)));return result.toLowerCase()};function M(a){for(var g,b="",c=0;c>>4&15)+"0123456789ABCDEF".charAt(15&g);return b}function X(a){for(var g=Array(a.length>>2),b=0;b>5]|=(255&a.charCodeAt(b/8))<>5]>>>b%32&255);return g} [2] => function Y(a,g){a[g>>5]|=128<>>9<<4)]=g;for(var b=1732584193,c=-271733879,d=-1732584194,e=271733878,f=0;f c,d,a[f+5],12,1200080426),b,c,a[f+6],17,-1473231341),e,b,a[f+7],22,-45705983),d=md5_ff(d,e=md5_ff(e,b=md5_ff(b,c,d,e,a[f+8],7,1770035416),c,d,a[f+9],12,-1958414417),b,c,a[f+10],17,-42063),e,b,a[f+11],22,-1990404162),d=md5_ff(d,e=md5_ff(e,b=md5_ff(b,c,d,e,a[f+12],7,1804603682),c,d,a[f+13],12,-40341101),b,c,a[f+14],17,-1502002290),e,b,a[f+15],22,1236535329),d=md5_gg(d,e=md5_gg(e,b=md5_gg(b,c,d,e,a[f+1],5,-165796510),c,d,a[f+6],9,-1069501632),b,c,a[f+11],14,643717713),e,b,a[f+0],20,-373897302),d=md5_gg(d, [4] => e=md5_gg(e,b=md5_gg(b,c,d,e,a[f+5],5,-701558691),c,d,a[f+10],9,38016083),b,c,a[f+15],14,-660478335),e,b,a[f+4],20,-405537848),d=md5_gg(d,e=md5_gg(e,b=md5_gg(b,c,d,e,a[f+9],5,568446438),c,d,a[f+14],9,-1019803690),b,c,a[f+3],14,-187363961),e,b,a[f+8],20,1163531501),d=md5_gg(d,e=md5_gg(e,b=md5_gg(b,c,d,e,a[f+13],5,-1444681467),c,d,a[f+2],9,-51403784),b,c,a[f+7],14,1735328473),e,b,a[f+12],20,-1926607734),d=md5_hh(d,e=md5_hh(e,b=md5_hh(b,c,d,e,a[f+5],4,-378558),c,d,a[f+8],11,-2022574463),b,c,a[f+11],16, [5] => 1839030562),e,b,a[f+14],23,-35309556),d=md5_hh(d,e=md5_hh(e,b=md5_hh(b,c,d,e,a[f+1],4,-1530992060),c,d,a[f+4],11,1272893353),b,c,a[f+7],16,-155497632),e,b,a[f+10],23,-1094730640),d=md5_hh(d,e=md5_hh(e,b=md5_hh(b,c,d,e,a[f+13],4,681279174),c,d,a[f+0],11,-358537222),b,c,a[f+3],16,-722521979),e,b,a[f+6],23,76029189),d=md5_hh(d,e=md5_hh(e,b=md5_hh(b,c,d,e,a[f+9],4,-640364487),c,d,a[f+12],11,-421815835),b,c,a[f+15],16,530742520),e,b,a[f+2],23,-995338651),d=md5_ii(d,e=md5_ii(e,b=md5_ii(b,c,d,e,a[f+0],6, [6] => -198630844),c,d,a[f+7],10,1126891415),b,c,a[f+14],15,-1416354905),e,b,a[f+5],21,-57434055),d=md5_ii(d,e=md5_ii(e,b=md5_ii(b,c,d,e,a[f+12],6,1700485571),c,d,a[f+3],10,-1894986606),b,c,a[f+10],15,-1051523),e,b,a[f+1],21,-2054922799),d=md5_ii(d,e=md5_ii(e,b=md5_ii(b,c,d,e,a[f+8],6,1873313359),c,d,a[f+15],10,-30611744),b,c,a[f+6],15,-1560198380),e,b,a[f+13],21,1309151649),d=md5_ii(d,e=md5_ii(e,b=md5_ii(b,c,d,e,a[f+4],6,-145523070),c,d,a[f+11],10,-1120210379),b,c,a[f+2],15,718787259),e,b,a[f+9],21,-343485551), [7] => b=safe_add(b,h),c=safe_add(c,k),d=safe_add(d,l),e=safe_add(e,m);return[b,c,d,e]}function md5_cmn(a,g,b,c,d,e){return safe_add(bit_rol(safe_add(safe_add(g,a),safe_add(c,e)),d),b)}function md5_ff(a,g,b,c,d,e,f){return md5_cmn(g&b|~g&c,a,g,d,e,f)}function md5_gg(a,g,b,c,d,e,f){return md5_cmn(g&c|b&~c,a,g,d,e,f)}function md5_hh(a,g,b,c,d,e,f){return md5_cmn(g^b^c,a,g,d,e,f)}function md5_ii(a,g,b,c,d,e,f){return md5_cmn(b^(g|~c),a,g,d,e,f)} [8] => function safe_add(a,g){var b=(65535&a)+(65535&g);return(a>>16)+(g>>16)+(b>>16)<<16|65535&b}function bit_rol(a,g){return a<>>32-g}; [9] => forEachIn(fdbConfig.instruments,function(l,h){(function(g){g=g.filename;Vue.component("diagram-"+g,function(m,h){axios.get("diagram-component.php?instrument="+g).then(function(k){var g=k.data.svg,h=k.data.keys,n=k.data.presets,p=k.data.partials,q=k.data.svgmeta;m({store:store,data:function(){return{border:10,diagramAsleep:!1,wakeCountdown:2500,wakeTimer:null}},computed:Object.assign({},Vuex.mapGetters(["keyAppearance"]),Vuex.mapState("fill imageBackgroundColor imageCropping instrument instrumentState keyState mirror preset presets rememberFingering rotate scale showCropping showTransparentBackground storeKeyState strokeWidth svgMeta".split(" ")), [10] => {borderCoordinates:function(){var b=this.border*this.scale,a=this.imageCoordinates,c={};c.width=Number(a.width)+2*Number(b);c.height=Number(a.height)+2*Number(b);c.x=a.x-b;c.y=a.y-b;return c},borderCoordinatesTransformed:function(){var b={};forEachIn(this.borderCoordinates,function(a,f){b[a]=f});if(this.rotate){var a=b.height;b.height=b.width;b.width=a}return b},boundingBoxAll:function(){return this.getBoundingBox(this.keysAll)},boundingBoxAsNeeded:function(){return this.getBoundingBox(this.keysAsNeeded)}, [11] => boundingBoxVisible:function(){return this.getBoundingBox(this.keysVisible)},displayHeight:function(){var b=this.svgMeta.height;this.rotate&&(b=this.svgMeta.width);return b*this.scale},displayWidth:function(){var b=this.svgMeta.width;this.rotate&&(b=this.svgMeta.height);return b*this.scale},displayViewBox:function(){var b=0,a=0,c=this.svgMeta.width,f=this.svgMeta.height;if(this.rotate){var d=c,c=f,f=d;90===this.rotate?b=-c:270===this.rotate&&(a=-f)}this.mirror&&(b=-c);this.mirror&&90===this.rotate&& [12] => (b=0);return[b,a,c,f].join(" ")},downloadViewBox:function(){var b=this.borderCoordinatesTransformed,a={};forEachIn(b,function(b,f){a[b]=f});this.mirror&&this.rotate?270===this.rotate?(a.x=-b.y-b.width,a.y=-b.x-b.height):90===this.rotate&&(a.x=b.y,a.y=b.x):this.mirror?a.x=-b.x-b.width:this.rotate&&(270===this.rotate?(a.x=b.y,a.y=-b.x-b.height):90===this.rotate&&(a.x=-b.y-b.width,a.y=b.x));return[a.x,a.y,a.width,a.height].join(" ")},imageCoordinates:function(){var b={};switch(this.imageCropping){case "visible":b= [13] => this.boundingBoxVisible;break;case "asneeded":b=this.boundingBoxAsNeeded;break;default:b=this.boundingBoxAll}return b},keyClass:function(){var b={},a=this;forEachIn(this.keyState,function(c,f){var d=[];a.keyState[c].state.needed&&d.push("needed");a.keyState[c].state.pressed&&d.push("pressed");a.keyState[c].state.behavior&&d.push(a.keyState[c].state.behavior);a.keyState[c].state.hovered&&d.push("hovered");b[c]=d});return b},keysAll:function(){var b=[];forEachIn(this.keyState,function(a,c){b.push(a)}); [14] => return b},keysAsNeeded:function(){var b=[],a=this;forEachIn(this.keyState,function(c,f){var d=!0;forEachIn(a.getAncestors(c),function(b,c){"never"===a.keyState[c].state.behavior&&(d=!1)});"never"===a.keyState[c].state.behavior&&(d=!1);0 (d=!1);d&&b.push(c)});return b},transform:function(){var b="",a=b="";this.rotate&&(b="rotate("+this.rotate+")");this.mirror&&(a="scale(-1 1)");return b=[a,b].join(" ").trim()}}),watch:{preset:function(b,a){this.applyPreset(b);this.rememberFingering&&(!a&&this.instrumentState.keyState.hasOwnProperty(this.instrument))&&this.setKeysNoAppearance(this.instrumentState.keyState[this.instrument]);this.setStoreKeyState(!0)}},beforeCreate:function(){this.$store.commit("setKeyState",h);this.$store.commit("setPresets", [16] => n);this.$store.commit("setPartials",p);this.$store.commit("setMeta",q)},mounted:function(){this.setStoreKeyState(!1)},methods:Object.assign({},Vuex.mapActions(["setKeys","setKeysNoAppearance","setParentsNeeded"]),Vuex.mapMutations(["setKey","setKeyState","setMessage","setStoreKeyState"]),{applyPreset:function(b){if(this.presets.hasOwnProperty(b)){b=this.presets[b].keys;var a={};forEachIn(this.keyState,function(b,c){a[b]={state:{behavior:""}}});this.setKeys(a);var c={};forEachIn(b,function(a,b){c[a]= [17] => {state:{behavior:b}}});c.dontrecolor=!0;this.setKeys(c)}},diagramWake:function(){var b=this;clearTimeout(this.wakeTimer);this.diagramAsleep=!1;this.wakeTimer=setTimeout(function(){b.diagramAsleep=!0},this.wakeCountdown)},drawBox:function(b){var a=document.createElementNS("http://www.w3.org/2000/svg","rect");a.setAttributeNS(null,"x",b.x);a.setAttributeNS(null,"y",b.y);a.setAttributeNS(null,"height",b.height);a.setAttributeNS(null,"width",b.width);a.setAttributeNS(null,"class","bounding-box");document.getElementById("diagram").appendChild(a)}, [18] => drawViewBox:function(){this.drawBox(this.borderCoordinates)},getAncestors:function(b){var a=[],c=this;forEachIn(this.keyState[b].parents,function(b,d){a.push(d);forEachIn(c.getAncestors(d),function(b,c){a.push(c)})});return a},getBoundingBox:function(b){var a={x:99999999999,y:99999999999,width:0,height:0},c=document.createElement("style");c.appendChild(document.createTextNode(""));document.head.appendChild(c);c.sheet.insertRule("#diagram path, #diagram g, #diagram rect { display: inline; }");forEachIn(b, [19] => function(b,c){var e=document.getElementById(c);if(e&&0a.width&&(a.width=e.x+e.width),e.y+e.height>a.height&&(a.height=e.y+e.height)});c.remove();a.width-=a.x;a.height-=a.y;a.x-=2;a.y-=2;a.width+=4;a.height+=4;0>a.x&&(a.x=0);0>a.y&&(a.y=0);return a},getDescendantsOld:function(b){var a=[],c=this;forEachIn(this.keyState[b].children,function(b,d){a.push(d);forEachIn(c.getDescendants(d), [20] => function(b,c){a.push(c)})});return a},hoverKey:function(b,a){this.setMessage(a)},pathClick:function(b){b=b.target.id;var a=this.keyState[b],c={appearance:{},state:{}};a.state.pressed&&this.fill!==a.appearance.fill?c.appearance.fill=this.fill:(c.state.pressed=!a.state.pressed,"asneeded"===a.state.behavior&&(c.state.needed=!a.state.needed));this.setKeys({key:b,update:c});this.setParentsNeeded(b)},removeViewBox:function(){document.querySelector(".bounding-box").remove()},setParentsNeededOld:function(b){function a(a, [21] => b){f.keyState[b].state.pressed&&(c.state.needed=!0)}var c={state:{}},f=this;forEachIn(this.keyState[b].parents,function(b,e){"asneeded"===f.keyState[e].state.behavior&&(c.state.needed=!1,forEachIn(f.getDescendants(e),a));f.setKeys({key:e,update:c})})}}),template:'
'+g+"
"})})});Vue.component("keywork-details-"+g,function(h,l){axios.get("keywork-details/"+g+".php").then(function(g){h({template:"
"+g.data+ [22] => "
"})})})})(h)});fdbConfig.diagram_components_initialized=!0; )