/*! abcjs_plugin v6.4.3 Copyright © 2009-2024 Paul Rosen and Gregory Dyke (https://abcjs.net) */ /*! For license information please see abcjs_plugin.LICENSE */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.abcjs=t():e.ABCJS=t()}(this,(function(){return e={7001:function(e,t,r){"use strict";var a=r(1592).TuneBook,i=r(8905),n=r(5253),s=new function(){var e=!1;try{e=abcjs_is_user_script}catch(e){}this.show_midi=!e,this.hide_abc=!1,this.render_before=!1,this.midi_options={},this.render_options={},this.render_classname="abcrendered",this.text_classname="abctext",this.auto_render_threshold=20,this.show_text="show score for: ",this.debug=!1};s.start=function(){var e=window.document.body;this.errors="";var t=this.getABCContainingElements(e);if(0!==t.length){if(this.debug)for(var r=0;r=0&&h0,v=0;v=0&&(u=C.startChar,d=void 0===C.chord?h:null),C.chord&&(h=C),"bar"===C.el_type){if(p){var S={abc:n.abc.substring(u,C.endChar)};(h=d&&d.chord&&d.chord.length>0?d.chord[0].name:null)&&(S.lastChord=h),C.startEnding&&(S.startEnding=C.startEnding),C.endEnding&&(S.endEnding=C.endEnding),f.push(S),u=null,p=!1}}else"note"===C.el_type&&(p=!0)}}r.push({header:l,measures:f,hasPickup:g})}return r}}(),e.exports=o},9447:function(e,t,r){var a=r(4914).relativeMajor,i={acc:"sharp",note:"f"},n={acc:"sharp",note:"c"},s={acc:"sharp",note:"g"},o={acc:"sharp",note:"d"},c={acc:"sharp",note:"A"},l={acc:"sharp",note:"e"},h={acc:"flat",note:"B"},d={acc:"flat",note:"e"},u={acc:"flat",note:"A"},f={acc:"flat",note:"d"},p={acc:"flat",note:"G"},m={acc:"flat",note:"c"},g={"C#":[i,n,s,o,c,l,{acc:"sharp",note:"B"}],"F#":[i,n,s,o,c,l],B:[i,n,s,o,c],E:[i,n,s,o],A:[i,n,s],D:[i,n],G:[i],C:[],F:[h],Bb:[h,d],Eb:[h,d,u],Cm:[h,d,u],Ab:[h,d,u,f],Db:[h,d,u,f,p],Gb:[h,d,u,f,p,m],Cb:[h,d,u,f,p,m,{acc:"flat",note:"F"}],"A#":[h,d],"B#":[],"D#":[h,d,u],"E#":[h],"G#":[h,d,u,f],none:[]};e.exports=function(e){var t=g[a(e)];return t?JSON.parse(JSON.stringify(t)):null}},4914:function(e){var t={C:{modes:["CMaj","Amin","Am","GMix","DDor","EPhr","FLyd","BLoc"],stepsFromC:0},Db:{modes:["DbMaj","Bbmin","Bbm","AbMix","EbDor","FPhr","GbLyd","CLoc"],stepsFromC:1},D:{modes:["DMaj","Bmin","Bm","AMix","EDor","F#Phr","GLyd","C#Loc"],stepsFromC:2},Eb:{modes:["EbMaj","Cmin","Cm","BbMix","FDor","GPhr","AbLyd","DLoc"],stepsFromC:3},E:{modes:["EMaj","C#min","C#m","BMix","F#Dor","G#Phr","ALyd","D#Loc"],stepsFromC:4},F:{modes:["FMaj","Dmin","Dm","CMix","GDor","APhr","BbLyd","ELoc"],stepsFromC:5},Gb:{modes:["GbMaj","Ebmin","Ebm","DbMix","AbDor","BbPhr","CbLyd","FLoc"],stepsFromC:6},G:{modes:["GMaj","Emin","Em","DMix","ADor","BPhr","CLyd","F#Loc"],stepsFromC:7},Ab:{modes:["AbMaj","Fmin","Fm","EbMix","BbDor","CPhr","DbLyd","GLoc"],stepsFromC:8},A:{modes:["AMaj","F#min","F#m","EMix","BDor","C#Phr","DLyd","G#Loc"],stepsFromC:9},Bb:{modes:["BbMaj","Gmin","Gm","FMix","CDor","DPhr","EbLyd","ALoc"],stepsFromC:10},B:{modes:["BMaj","G#min","G#m","F#Mix","C#Dor","D#Phr","ELyd","A#Loc"],stepsFromC:11},"C#":{modes:["C#Maj","A#min","A#m","G#Mix","D#Dor","E#Phr","F#Lyd","B#Loc"],stepsFromC:1},"F#":{modes:["F#Maj","D#min","D#m","C#Mix","G#Dor","A#Phr","BLyd","E#Loc"],stepsFromC:6},Cb:{modes:["CbMaj","Abmin","Abm","GbMix","DbDor","EbPhr","FbLyd","BbLoc"],stepsFromC:11}},r=null;e.exports={relativeMajor:function(e){r||function(){r={};for(var e=Object.keys(t),a=0;a=t&&(r-=t),"bar"===s[c].el_type)return r}return r}(this.lines,e);return t<1e-8||e-t<1e-8?0:t},this.getBarLength=function(){var e=this.getMeterFraction();return e.num/e.den},this.getTotalTime=function(){return this.totalTime},this.getTotalBeats=function(){return this.totalBeats},this.millisecondsPerMeasure=function(e){var t;if(e)t=e;else{var r=this.metaText?this.metaText.tempo:null;t=this.getBpm(r)}return t<=0&&(t=1),this.getBeatsPerMeasure()/t*6e4},this.getBeatsPerMeasure=function(){var e=this.getBeatLength();return this.getBarLength()/e},this.getMeter=function(){for(var e=0;ee)return c}}return null},this.addElementToEvents=function(e,t,r,i,n,s,o,c,l,h){if(t.hint)return{isTiedState:void 0,duration:0};var d=t.durationClass?t.durationClass:t.duration;if(t.abcelem.rest&&"spacer"===t.abcelem.rest.type&&(d=0),d>0){for(var u=[],f=0;f0)for(var s=n.staffs[0],o=s.absoluteY,c=o-s.top*i.STEP,l=n.staffs[n.staffs.length-1],h=(o=l.absoluteY)-l.bottom*i.STEP-c,d=n.voices,u=0;u0&&o["event"+p]&&(w="event"+p),p=Math.round(1e3*f),"bar"===T.type){var S=T.abcelem.type,E="bar_right_repeat"===S||"bar_dbl_repeat"===S,M="1"===T.abcelem.startEnding,N="bar_left_repeat"===S||"bar_dbl_repeat"===S||"bar_right_repeat"===S;if(E){x>0&&(o[w].endX=T.x),-1===g&&(g=x);var _=0;y=-1;for(var A=m;A=0;n--){var s=e[n];"bar"===s.type?(s.top=a,s.nextTop=t,t=a,s.bottom=i,s.nextBottom=r,r=i):"event"===s.type&&(a=s.top,i=s.top+s.height)}}(s=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t.sort((function(e,t){var r=e.milliseconds-t.milliseconds;return 0!==r?r:"bar"===e.type?-1:1}))}(o)),function(e,r){if(!(r.length<1)){for(var a=0;ai.left&&(i.endX=Math.min(i.endX,s)):i.endX=s}}var o=r[r.length-1];o.endX=e[o.line].staffGroup.w}}(this.lines,s),s.push({type:"end",milliseconds:d}),this.addUsefulCallbackInfo(s,b*i),s},this.addUsefulCallbackInfo=function(e,t){for(var r=this.millisecondsPerMeasure(t),a=0;a0?e.duration[0]:r)/r}if(!t){t=180;var a=this.getMeterFraction();a&&3!==a.num&&a.num%3==0&&(t=120)}return t},this.setTiming=function(e,t){if(t=t||0,!this.engraver||!this.engraver.staffgroups)return console.log("setTiming cannot be called before the tune is drawn."),this.noteTimings=[],this.noteTimings;var r=this.metaText?this.metaText.tempo:null,a=this.getBpm(r),i=1;e?r&&(i=e/a):e=a;var n=this.getBeatLength(),s=e/60,o=this.getBarLength()/n*t/s;o&&(o-=this.getPickupLength()/n/s);var c=n*s;return this.noteTimings=this.setupEvents(o,c,e,i),this.noteTimings.length>0?(this.totalTime=this.noteTimings[this.noteTimings.length-1].milliseconds/1e3,this.totalBeats=this.totalTime*s):(this.totalTime=void 0,this.totalBeats=void 0),this.noteTimings},this.setUpAudio=function(e){e||(e={});var t=n(this,e);return s(t,e,this.formatting.percmap,this.formatting.midi)},this.deline=function(e){return o(this.lines,e)},this.findSelectableElement=function(e){return this.engraver&&this.engraver.selectables?this.engraver.findSelectableElement(e):null},this.getSelectableArray=function(){return this.engraver&&this.engraver.selectables?this.engraver.selectables:[]}}},351:function(e){function t(e,t){return"abselem"===e?"abselem":t}function r(e,t){e.el_type="meter",e.startChar=-1,e.endChar=-1;for(var r=0;r=0&&e.lastIndexOf(t)===r},last:function(e){return 0===e.length?null:e[e.length-1]}};e.exports=t},8905:function(e,t,r){var a=r(5008),i=r(8360),n=r(9928),s=r(6476),o=r(1881),c=r(1756),l=r(6780),h=r(575);e.exports=function(){"use strict";var e,t=new l,r=new h(t),d="",u="";function f(e,t,r){e.positioning||(e.positioning={}),e.positioning[t]=r}function p(e,t,r){e.fonts||(e.fonts={}),e.fonts[t]=r}this.getTune=function(){var e={formatting:t.formatting,lines:t.lines,media:t.media,metaText:t.metaText,metaTextInfo:t.metaTextInfo,version:t.version,addElementToEvents:t.addElementToEvents,addUsefulCallbackInfo:t.addUsefulCallbackInfo,getTotalTime:t.getTotalTime,getTotalBeats:t.getTotalBeats,getBarLength:t.getBarLength,getBeatLength:t.getBeatLength,getBeatsPerMeasure:t.getBeatsPerMeasure,getBpm:t.getBpm,getMeter:t.getMeter,getMeterFraction:t.getMeterFraction,getPickupLength:t.getPickupLength,getKeySignature:t.getKeySignature,getElementFromChar:t.getElementFromChar,makeVoicesArray:t.makeVoicesArray,millisecondsPerMeasure:t.millisecondsPerMeasure,setupEvents:t.setupEvents,setTiming:t.setTiming,setUpAudio:t.setUpAudio,deline:t.deline,findSelectableElement:t.findSelectableElement,getSelectableArray:t.getSelectableArray};return t.lineBreaks&&(e.lineBreaks=t.lineBreaks),t.visualTranspose&&(e.visualTranspose=t.visualTranspose),e};var m,g,v={reset:function(){for(var e in this)this.hasOwnProperty(e)&&"function"!=typeof this[e]&&delete this[e];this.iChar=0,this.key={accidentals:[],root:"none",acc:"",mode:""},this.meter=null,this.origMeter=null,this.hasMainTitle=!1,this.default_length=.125,this.clef={type:"treble",verticalPos:0},this.octave=0,this.next_note_duration=0,this.start_new_line=!0,this.is_in_header=!0,this.partForNextLine={},this.tempoForNextLine=[],this.havent_set_length=!0,this.voices={},this.staves=[],this.macros={},this.currBarNumber=1,this.barCounter={},this.ignoredDecorations=[],this.score_is_present=!1,this.inEnding=!1,this.inTie=[],this.inTieChord={},this.vocalPosition="auto",this.dynamicPosition="auto",this.chordPosition="auto",this.ornamentPosition="auto",this.volumePosition="auto",this.openSlurs=[],this.freegchord=!1,this.endingHoldOver={}},differentFont:function(e,t){return this[e].decoration!==t[e].decoration||this[e].face!==t[e].face||this[e].size!==t[e].size||this[e].style!==t[e].style||this[e].weight!==t[e].weight},addFormattingOptions:function(e,t,r){"note"===r?("auto"!==this.vocalPosition&&f(e,"vocalPosition",this.vocalPosition),"auto"!==this.dynamicPosition&&f(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&f(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&f(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&f(e,"volumePosition",this.volumePosition),this.differentFont("annotationfont",t)&&p(e,"annotationfont",this.annotationfont),this.differentFont("gchordfont",t)&&p(e,"gchordfont",this.gchordfont),this.differentFont("vocalfont",t)&&p(e,"vocalfont",this.vocalfont),this.differentFont("tripletfont",t)&&p(e,"tripletfont",this.tripletfont)):"bar"===r&&("auto"!==this.dynamicPosition&&f(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&f(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&f(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&f(e,"volumePosition",this.volumePosition),this.differentFont("measurefont",t)&&p(e,"measurefont",this.measurefont),this.differentFont("repeatfont",t)&&p(e,"repeatfont",this.repeatfont))},duplicateStartEndingHoldOvers:function(){this.endingHoldOver={inTie:[],inTieChord:{}};for(var e=0;e/g,">")},y=function(t,r,a){r||(r=" ");var i=r[a];" "!==i&&i||(i="SPACE");var n,s=b(r.substring(a-64,a))+''+i+""+b(r.substring(a+1).substring(0,64));!function(e){v.warnings||(v.warnings=[]),v.warnings.push(e)}("Music Line:"+e.lineIndex+":"+(a+1)+": "+t+": "+s),n={message:t,line:r,startChar:v.iChar+a,column:a},v.warningObjects||(v.warningObjects=[]),v.warningObjects.push(n)};this.getWarnings=function(){return v.warnings},this.getWarningObjects=function(){return v.warningObjects};var x=function(t,r){if(r.indexOf("")>=0)d+=r;else if(r=d+r,d="",t){"-"!==(r=a.strip(r))[r.length-1]&&(r+=" ");for(var i=[],n=0,s=!1,o=function(t){var o=a.strip(r.substring(n,t));if(o=o.replace(/\\([-_*|~])/g,"$1"),n=t+1,o.length>0){s&&(o=o.replace(/~/g," "));var c=r[t];return"_"!==c&&"-"!==c&&(c=" "),i.push({syllable:e.translateString(o),divider:c}),s=!1,!0}return!1},c=!1,l=0;l0&&(a.last(i).divider="-",i.push({skip:!0,to:"next"}));break;case"_":c||(o(l),i.push({skip:!0,to:"slur"}));break;case"*":c||(o(l),i.push({skip:!0,to:"next"}));break;case"|":c||(o(l),i.push({skip:!0,to:"bar"}));break;case"~":c||(s=!0)}c="\\"===r[l]}t.forEach((function(e){if(0!==i.length)if(i[0].skip){switch(i[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&i.shift();break;case"bar":"bar"===e.el_type&&i.shift()}"bar"!==e.el_type&&(void 0===e.lyric?e.lyric=[{syllable:"",divider:" "}]:e.lyric.push({syllable:"",divider:" "}))}else if("note"===e.el_type&&void 0===e.rest){var t=i.shift();t.syllable&&(t.syllable=t.syllable.replace(/ +/g," ")),void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else y("Can't add words before the first line of music",t,0)},k=function(t,r){if(r.indexOf("")>=0)u+=r;else if(r=u+r,u="",t){"-"!==(r=a.strip(r))[r.length-1]&&(r+=" ");for(var i=[],n=0,s=!1,o=function(t){var o=a.strip(r.substring(n,t));if(n=t+1,o.length>0){s&&(o=o.replace(/~/g," "));var c=r[t];return"_"!==c&&"-"!==c&&(c=" "),i.push({syllable:e.translateString(o),divider:c}),s=!1,!0}return!1},c=0;c0&&(a.last(i).divider="-",i.push({skip:!0,to:"next"}));break;case"_":o(c),i.push({skip:!0,to:"slur"});break;case"*":o(c),i.push({skip:!0,to:"next"});break;case"|":o(c),i.push({skip:!0,to:"bar"});break;case"~":s=!0}t.forEach((function(e){if(0!==i.length)if(i[0].skip)switch(i[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&i.shift();break;case"bar":"bar"===e.el_type&&i.shift()}else if("note"===e.el_type&&void 0===e.rest){var t=i.shift();void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else y("Can't add symbols before the first line of music",t,0)},w=function(e){if(a.startsWith(e,"%%")){var t=i.addDirective(e.substring(2));t&&y(t,e,2)}else{var n=e.indexOf("%");if(n>=0&&(e=e.substring(0,n)),0!==(e=e.replace(/\s+$/,"")).length)if(d)x(r.getCurrentVoice(),e.substring(2));else if(u)k(r.getCurrentVoice(),e.substring(2));else if(e.length<2||":"!==e[1]||g.lineContinuation)g.parseMusic(e);else{var s=m.parseHeader(e);s.regular&&g.parseMusic(e),s.newline&&g.startNewLine(),s.words&&x(r.getCurrentVoice(),e.substring(2)),s.symbols&&k(r.getCurrentVoice(),e.substring(2))}}};function T(e,t){e.push({el_type:"hint"});for(var r=0;r1){for(var b=1;b0&&"\n"!==p[b][0];)p[b]=p[b].substr(1),p[b-1]+=" ";l=p.join(" ")}var T=(l=l.replace(/\\([ \t]*)(%.*)*\n/g,(function(e,t,r){return t+""+(r?Array(r.length+1).join(" "):"")+"\n"}))).split("\n");0===a.last(T).length&&T.pop(),e=new o(T,v),m=new n(e,y,v,t,r),g=new s(e,y,v,t,r,m),h.print&&(t.media="print"),v.reset(),v.iChar=f,h.visualTranspose?(v.globalTranspose=parseInt(h.visualTranspose),0===v.globalTranspose?v.globalTranspose=void 0:r.setVisualTranspose(h.visualTranspose)):v.globalTranspose=void 0,h.lineBreaks&&(v.lineBreaks=h.lineBreaks),m.reset(e,y,v,t);try{h.format&&i.globalFormatting(h.format);for(var S=e.nextLine();S;){if(h.header_only&&!1===v.is_in_header)throw"normal_abort";if(h.stop_on_warning&&v.warnings)throw"normal_abort";var E=v.is_in_header;w(S),E&&!v.is_in_header&&(r.setRunningFont("annotationfont",v.annotationfont),r.setRunningFont("gchordfont",v.gchordfont),r.setRunningFont("tripletfont",v.tripletfont),r.setRunningFont("vocalfont",v.vocalfont)),S=e.nextLine()}d&&x(r.getCurrentVoice(),""),u&&k(r.getCurrentVoice(),""),v.openSlurs=r.cleanUp(v.barsperstaff,v.staffnonote,v.openSlurs)}catch(e){if("normal_abort"!==e)throw e}var M=792,N=612;switch(v.papersize){case"legal":M=1008,N=612;break;case"A4":M=842.4,N=597.6}if(v.landscape){var _=M;M=N,N=_}t.formatting.pagewidth||(t.formatting.pagewidth=N),t.formatting.pageheight||(t.formatting.pageheight=M),h.hint_measures&&function(){for(var e=0;e1&&!a.startsWith(o[0].abc,"X:")&&o.shift().abc.split("\n").forEach((function(e){a.startsWith(e,"%%")&&(t+=e+"\n")}));var c=t;return o.forEach((function(e){var r=e.abc.indexOf("\n\n");r>0&&(e.abc=e.abc.substring(0,r)),e.pure=e.abc,e.abc=t+e.abc,e.title="";var i=e.pure.split("T:");i.length>1&&(i=i[1].split("\n"),e.title=a.strip(i[0]));var n=e.pure.substring(2,e.pure.indexOf("\n"));e.id=a.strip(n)})),{header:c,tunes:o}}},8360:function(e,t,r){var a=r(5008),i={};!function(){"use strict";var e,t,r,n,s;i.initialize=function(a,i,o,c,l){e=a,t=i,n=c,s=l,(r=o).annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},r.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},r.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},r.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},r.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},n.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},n.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},n.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},n.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},n.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},n.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},n.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},n.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},n.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},n.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},n.formatting.annotationfont=r.annotationfont,n.formatting.gchordfont=r.gchordfont,n.formatting.historyfont=r.historyfont,n.formatting.infofont=r.infofont,n.formatting.measurefont=r.measurefont,n.formatting.partsfont=r.partsfont,n.formatting.repeatfont=r.repeatfont,n.formatting.textfont=r.textfont,n.formatting.tripletfont=r.tripletfont,n.formatting.vocalfont=r.vocalfont,n.formatting.wordsfont=r.wordsfont};var o={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},c=function(e,r,a,i,n){function s(){var s=parseInt(e[0].token);return e.shift(),r?0===e.length?{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s}:1===e.length&&"box"===e[0].token&&o[n]?{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s,box:!0}:(t("Extra parameters in font definition.",a,i),{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s}):(t("Can't set just the size of the font since there is no default value.",a,i),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:s})}if("*"===e[0].token){if(e.shift(),"number"===e[0].type)return s();t("Expected font size number after *.",a,i)}if("number"===e[0].type)return s();for(var c,l=[],h="normal",d="normal",u="none",f=!1,p="face",m=!1;e.length;){var g=e.shift(),v=g.token.toLowerCase();switch(p){case"face":m||"utf"!==v&&"number"!==g.type&&"bold"!==v&&"italic"!==v&&"underline"!==v&&"box"!==v?l.length>0&&"-"===g.token?(m=!0,l[l.length-1]=l[l.length-1]+g.token):m?(m=!1,l[l.length-1]=l[l.length-1]+g.token):l.push(g.token):"number"===g.type?(c?t("Font size specified twice in font definition.",a,i):c=g.token,p="modifier"):"bold"===v?h="bold":"italic"===v?d="italic":"underline"===v?u="underline":"box"===v?(o[n]?f=!0:t('This font style doesn\'t support "box"',a,i),p="finished"):"utf"===v?(g=e.shift(),p="size"):t("Unknown parameter "+g.token+" in font definition.",a,i);break;case"size":"number"===g.type?c?t("Font size specified twice in font definition.",a,i):c=g.token:t("Expected font size in font definition.",a,i),p="modifier";break;case"modifier":"bold"===v?h="bold":"italic"===v?d="italic":"underline"===v?u="underline":"box"===v?(o[n]?f=!0:t('This font style doesn\'t support "box"',a,i),p="finished"):t("Unknown parameter "+g.token+" in font definition.",a,i);break;case"finished":t('Extra characters found after "box" in font definition.',a,i)}}void 0===c?r?c=r.size:(t("Must specify the size of the font since there is no default value.",a,i),c=12):c=parseFloat(c),""===(l=l.join(" "))&&(r?l=r.face:(t("Must specify the name of the font since there is no default value.",a,i),l="sans-serif"));var b=function(e){switch(e){case"Arial-Italic":return{face:"Arial",weight:"normal",style:"italic",decoration:"none"};case"Arial-Bold":return{face:"Arial",weight:"bold",style:"normal",decoration:"none"};case"Bookman-Demi":return{face:"Bookman,serif",weight:"bold",style:"normal",decoration:"none"};case"Bookman-DemiItalic":return{face:"Bookman,serif",weight:"bold",style:"italic",decoration:"none"};case"Bookman-Light":return{face:"Bookman,serif",weight:"normal",style:"normal",decoration:"none"};case"Bookman-LightItalic":return{face:"Bookman,serif",weight:"normal",style:"italic",decoration:"none"};case"Courier":return{face:'"Courier New"',weight:"normal",style:"normal",decoration:"none"};case"Courier-Oblique":return{face:'"Courier New"',weight:"normal",style:"italic",decoration:"none"};case"Courier-Bold":return{face:'"Courier New"',weight:"bold",style:"normal",decoration:"none"};case"Courier-BoldOblique":return{face:'"Courier New"',weight:"bold",style:"italic",decoration:"none"};case"AvantGarde-Book":return{face:"AvantGarde,Arial",weight:"normal",style:"normal",decoration:"none"};case"AvantGarde-BookOblique":return{face:"AvantGarde,Arial",weight:"normal",style:"italic",decoration:"none"};case"AvantGarde-Demi":case"Avant-Garde-Demi":return{face:"AvantGarde,Arial",weight:"bold",style:"normal",decoration:"none"};case"AvantGarde-DemiOblique":return{face:"AvantGarde,Arial",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Oblique":return{face:"Helvetica",weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Bold":return{face:"Helvetica",weight:"bold",style:"normal",decoration:"none"};case"Helvetica-BoldOblique":return{face:"Helvetica",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Narrow":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"normal",decoration:"none"};case"Helvetica-Narrow-Oblique":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Narrow-Bold":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"normal",decoration:"none"};case"Helvetica-Narrow-BoldOblique":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"italic",decoration:"none"};case"Palatino-Roman":return{face:"Palatino",weight:"normal",style:"normal",decoration:"none"};case"Palatino-Italic":return{face:"Palatino",weight:"normal",style:"italic",decoration:"none"};case"Palatino-Bold":return{face:"Palatino",weight:"bold",style:"normal",decoration:"none"};case"Palatino-BoldItalic":return{face:"Palatino",weight:"bold",style:"italic",decoration:"none"};case"NewCenturySchlbk-Roman":return{face:'"New Century",serif',weight:"normal",style:"normal",decoration:"none"};case"NewCenturySchlbk-Italic":return{face:'"New Century",serif',weight:"normal",style:"italic",decoration:"none"};case"NewCenturySchlbk-Bold":return{face:'"New Century",serif',weight:"bold",style:"normal",decoration:"none"};case"NewCenturySchlbk-BoldItalic":return{face:'"New Century",serif',weight:"bold",style:"italic",decoration:"none"};case"Times":case"Times-Roman":case"Times-Narrow":case"Times-Courier":case"Times-New-Roman":return{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none"};case"Times-Italic":case"Times-Italics":return{face:'"Times New Roman"',weight:"normal",style:"italic",decoration:"none"};case"Times-Bold":return{face:'"Times New Roman"',weight:"bold",style:"normal",decoration:"none"};case"Times-BoldItalic":return{face:'"Times New Roman"',weight:"bold",style:"italic",decoration:"none"};case"ZapfChancery-MediumItalic":return{face:'"Zapf Chancery",cursive,serif',weight:"normal",style:"normal",decoration:"none"};default:return null}}(l),y={};return b?(y.face=b.face,y.weight=b.weight,y.style=b.style,y.decoration=b.decoration,y.size=c,f&&(y.box=!0),y):(y.face=l,y.weight=h,y.style=d,y.decoration=u,y.size=c,f&&(y.box=!0),y)},l=function(e,t,a){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(r[e]=c(t,r[e],a,0,e),r.is_in_header&&(n.formatting[e]=r[e]),null)},h=function(e,t){var r="";t.forEach((function(e){r+=e.token}));var a=parseFloat(r);if(isNaN(a)||0===a)return'Directive "'+e+'" requires a number as a parameter.';n.formatting.scale=a},d=["acoustic-bass-drum","bass-drum-1","side-stick","acoustic-snare","hand-clap","electric-snare","low-floor-tom","closed-hi-hat","high-floor-tom","pedal-hi-hat","low-tom","open-hi-hat","low-mid-tom","hi-mid-tom","crash-cymbal-1","high-tom","ride-cymbal-1","chinese-cymbal","ride-bell","tambourine","splash-cymbal","cowbell","crash-cymbal-2","vibraslap","ride-cymbal-2","hi-bongo","low-bongo","mute-hi-conga","open-hi-conga","low-conga","high-timbale","low-timbale","high-agogo","low-agogo","cabasa","maracas","short-whistle","long-whistle","short-guiro","long-guiro","claves","hi-wood-block","low-wood-block","mute-cuica","open-cuica","mute-triangle","open-triangle"],u=function(e,t,a,i,n){if(1!==a.length||"number"!==a[0].type)return'Directive "'+t+'" requires a number as a parameter.';var s=a[0].intt;return void 0!==i&&sn?'Directive "'+t+'" requires a number less than or equal to '+n+" as a parameter.":(r[e]=s,null)},f=function(e,t,a){if(1===a.length&&("true"===a[0].token||"false"===a[0].token))return r[e]="true"===a[0].token,null;var i=u(e,t,a,0,1);return null!==i?i:(r[e]=1===r[e],null)},p=function(e,t,a,i){if(1!==a.length)return'Directive "'+t+'" requires one of [ '+i.join(", ")+" ] as a parameter.";for(var n=a[0].token,s=!1,o=0;!s&&o1&&r.setfont){var a=[];""!==t[0]&&a.push({text:t[0]});for(var i=1;i=0||e[0].floatt<=1)return{value:e[0].floatt}}else{if("false"===e[0].token)return{value:0};if("true"===e[0].token)return{value:1}}return{error:"Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received "+e[0].token+")"}}i.addDirective=function(o){var N=e.tokenize(o,0,o.length);if(0===N.length||"alpha"!==N[0].type)return null;var _=o.substring(o.indexOf(N[0].token)+N[0].token.length);_=e.stripComment(_);var A,B=N.shift().token.toLowerCase(),P="";switch(B){case"bagpipes":n.formatting.bagpipes=!0;break;case"flatbeams":n.formatting.flatbeams=!0;break;case"jazzchords":n.formatting.jazzchords=!0;break;case"accentAbove":n.formatting.accentAbove=!0;break;case"germanAlphabet":n.formatting.germanAlphabet=!0;break;case"landscape":r.landscape=!0;break;case"papersize":r.papersize=_;break;case"graceslurs":if(1!==N.length)return"Directive graceslurs requires one parameter: 0 or 1";if("0"===N[0].token||"false"===N[0].token)n.formatting.graceSlurs=!1;else{if("1"!==N[0].token&&"true"!==N[0].token)return"Directive graceslurs requires one parameter: 0 or 1 (received "+N[0].token+")";n.formatting.graceSlurs=!0}break;case"lineThickness":var L=M(N);if(void 0!==L.value&&(n.formatting.lineThickness=L.value),L.error)return L.error;break;case"stretchlast":var z=M(N);if(void 0!==z.value&&(n.formatting.stretchlast=z.value),z.error)return z.error;break;case"titlecaps":r.titlecaps=!0;break;case"titleleft":n.formatting.titleleft=!0;break;case"measurebox":n.formatting.measurebox=!0;break;case"vocal":return p("vocalPosition",B,N,E);case"dynamic":return p("dynamicPosition",B,N,E);case"gchord":return p("chordPosition",B,N,E);case"ornament":return p("ornamentPosition",B,N,E);case"volume":return p("volumePosition",B,N,E);case"botmargin":case"botspace":case"composerspace":case"indent":case"leftmargin":case"linesep":case"musicspace":case"partsspace":case"pageheight":case"pagewidth":case"rightmargin":case"stafftopmargin":case"staffsep":case"staffwidth":case"subtitlespace":case"sysstaffsep":case"systemsep":case"textspace":case"titlespace":case"topmargin":case"topspace":case"vocalspace":case"wordsspace":return function(t,r){var a=e.getMeasurement(r);return 0===a.used||0!==r.length?'Directive "'+t+'" requires a measurement as a parameter.':(n.formatting[t]=a.value,null)}(B,N);case"voicescale":if(1!==N.length||"number"!==N[0].type)return"voicescale requires one float as a parameter";var O=N.shift();return r.currentVoice&&(r.currentVoice.scale=O.floatt,s.changeVoiceScale(r.currentVoice.scale)),null;case"voicecolor":if(1!==N.length)return"voicecolor requires one string as a parameter";var H=N.shift();return r.currentVoice&&(r.currentVoice.color=H.token,s.changeVoiceColor(r.currentVoice.color)),null;case"vskip":var D=Math.round(function(t,r){var a=e.getMeasurement(r);return 0===a.used||0!==r.length?{error:'Directive "'+t+'" requires a measurement as a parameter.'}:a.value}(B,N));return D.error?D.error:(s.addSpacing(D),null);case"scale":h(B,N);break;case"sep":if(0===N.length)s.addSeparator(14,14,85,{startChar:r.iChar,endChar:r.iChar+5});else{var I=e.getMeasurement(N);if(0===I.used)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var F=I.value;if(0===(I=e.getMeasurement(N)).used)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var V=I.value;if(0===(I=e.getMeasurement(N)).used||0!==N.length)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var Y=I.value;s.addSeparator(F,V,Y,{startChar:r.iChar,endChar:r.iChar+_.length})}break;case"barsperstaff":if(null!==(P=u("barsperstaff",B,N)))return P;break;case"staffnonote":if(1!==N.length)return"Directive staffnonote requires one parameter: 0 or 1";if("0"===N[0].token)r.staffnonote=!0;else{if("1"!==N[0].token)return"Directive staffnonote requires one parameter: 0 or 1 (received "+N[0].token+")";r.staffnonote=!1}break;case"printtempo":if(null!==(P=f("printTempo",B,N)))return P;break;case"partsbox":if(null!==(P=f("partsBox",B,N)))return P;r.partsfont.box=r.partsBox;break;case"freegchord":if(null!==(P=f("freegchord",B,N)))return P;break;case"measurenb":case"barnumbers":if(null!==(P=u("barNumbers",B,N)))return P;break;case"setbarnb":if(1!==N.length||"number"!==N[0].type)return"Directive setbarnb requires a number as a parameter.";r.currBarNumber=s.setBarNumberImmediate(N[0].intt);break;case"begintext":var j="";for(A=e.nextLine();A&&0!==A.indexOf("%%endtext");)a.startsWith(A,"%%")?j+=A.substring(2)+"\n":j+=A+"\n",A=e.nextLine();s.addText(j,{startChar:r.iChar,endChar:r.iChar+j.length+7});break;case"continueall":r.continueall=!0;break;case"beginps":for(A=e.nextLine();A&&0!==A.indexOf("%%endps");)e.nextLine();t("Postscript ignored",o,0);break;case"deco":_.length>0&&r.ignoredDecorations.push(_.substring(0,_.indexOf(" "))),t("Decoration redefinition ignored",o,0);break;case"text":var G=e.translateString(_);s.addText(i.parseFontChangeLine(G),{startChar:r.iChar,endChar:r.iChar+_.length+7});break;case"center":var W=e.translateString(_);s.addCentered(i.parseFontChangeLine(W));break;case"font":break;case"setfont":var q=e.tokenize(_,0,_.length);if(q.length>=4&&"-"===q[0].token&&"number"===q[1].type){var X=parseInt(q[1].token);X>=1&&X<=9&&(r.setfont||(r.setfont=[]),q.shift(),q.shift(),r.setfont[X]=c(q,r.setfont[X],o,0,"setfont"))}break;case"gchordfont":case"partsfont":case"tripletfont":case"vocalfont":case"textfont":case"annotationfont":case"historyfont":case"infofont":case"measurefont":case"repeatfont":case"wordsfont":return l(B,N,o);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return function(e,t,r){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(n.formatting[e]=c(t,n.formatting[e],r,0,e),null)}(B,N,o);case"barlabelfont":case"barnumberfont":case"barnumfont":return l("measurefont",N,o);case"staves":case"score":r.score_is_present=!0;for(var R,U=function(e,t,i,n,s){(t||0===r.staves.length)&&r.staves.push({index:r.staves.length,numVoices:0});var o=a.last(r.staves);void 0!==i&&void 0===o.bracket&&(o.bracket=i),void 0!==n&&void 0===o.brace&&(o.brace=n),s&&(o.connectBarLines="end"),void 0===r.voices[e]&&(r.voices[e]={staffNum:o.index,index:o.numVoices},o.numVoices++)},K=!1,$=!1,Q=!1,J=!1,Z=!1,ee=!1,te=!1,re=function(){if(te=!0,R){var e="start";R.staffNum>0&&("start"!==r.staves[R.staffNum-1].connectBarLines&&"continue"!==r.staves[R.staffNum-1].connectBarLines||(e="continue")),r.staves[R.staffNum].connectBarLines=e}};N.length;){var ae=N.shift();switch(ae.token){case"(":K?t("Can't nest parenthesis in %%score",o,ae.start):(K=!0,J=!0);break;case")":!K||J?t("Unexpected close parenthesis in %%score",o,ae.start):K=!1;break;case"[":$?t("Can't nest brackets in %%score",o,ae.start):($=!0,Z=!0);break;case"]":!$||Z?t("Unexpected close bracket in %%score",o,ae.start):($=!1,r.staves[R.staffNum].bracket="end");break;case"{":Q?t("Can't nest braces in %%score",o,ae.start):(Q=!0,ee=!0);break;case"}":!Q||ee?t("Unexpected close brace in %%score",o,ae.start):(Q=!1,r.staves[R.staffNum].brace="end");break;case"|":re();break;default:for(var ie="";("alpha"===ae.type||"number"===ae.type)&&(ie+=ae.token,ae.continueId);)ae=N.shift();U(ie,!K||J,Z?"start":$?"continue":void 0,ee?"start":Q?"continue":void 0,te),J=!1,Z=!1,ee=!1,te=!1,R=r.voices[ie],"staves"===B&&re()}}break;case"newpage":var ne=e.getInt(_);s.addNewPage(0===ne.digits?-1:ne.value);break;case"abc":var se=_.split(" ");switch(se[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var oe=se.shift();s.addMetaText(B+oe,se.join(" "),{startChar:r.iChar,endChar:r.iChar+_.length+5});break;default:return"Unknown directive: "+B+se[0]}break;case"header":case"footer":var ce=e.getMeat(_,0,_.length);'"'===(ce=_.substring(ce.start,ce.end))[0]&&'"'===ce[ce.length-1]&&(ce=ce.substring(1,ce.length-1));var le=ce.split("\t"),he={};he=1===le.length?{left:"",center:le[0],right:""}:2===le.length?{left:le[0],center:le[1],right:""}:{left:le[0],center:le[1],right:le[2]},le.length>3&&t("Too many tabs in "+B+": "+le.length+" found.",_,0),s.addMetaTextObj(B,he,{startChar:r.iChar,endChar:r.iChar+o.length});break;case"midi":var de=e.tokenize(_,0,_.length,!0);de.length>0&&"="===de[0].token&&de.shift(),0===de.length?t("Expected midi command",_,0):function(e,r,a){var i=e.shift().token,n=[];if(m.indexOf(i)>=0)0!==e.length&&t("Unexpected parameter in MIDI "+i,a,0);else if(g.indexOf(i)>=0)1!==e.length?t("Expected one parameter in MIDI "+i,a,0):n.push(e[0].token);else if(v.indexOf(i)>=0)1!==e.length?t("Expected one parameter in MIDI "+i,a,0):"number"!==e[0].type?t("Expected one integer parameter in MIDI "+i,a,0):n.push(e[0].intt);else if(b.indexOf(i)>=0)1!==e.length&&2!==e.length?t("Expected one or two parameters in MIDI "+i,a,0):"number"!==e[0].type||2===e.length&&"number"!==e[1].type?t("Expected integer parameter in MIDI "+i,a,0):(n.push(e[0].intt),2===e.length&&n.push(e[1].intt));else if(y.indexOf(i)>=0)2!==e.length?t("Expected two parameters in MIDI "+i,a,0):"number"!==e[0].type||"number"!==e[1].type?t("Expected two integer parameters in MIDI "+i,a,0):(n.push(e[0].intt),n.push(e[1].intt));else if(w.indexOf(i)>=0)2!==e.length?t("Expected two parameters in MIDI "+i,a,0):"alpha"!==e[0].type||"number"!==e[1].type?t("Expected one string and one integer parameters in MIDI "+i,a,0):(n.push(e[0].token),n.push(e[1].intt));else if("drummap"===i)2===e.length&&"alpha"===e[0].type&&"number"===e[1].type?(r.formatting||(r.formatting={}),r.formatting.midi||(r.formatting.midi={}),r.formatting.midi.drummap||(r.formatting.midi.drummap={}),r.formatting.midi.drummap[e[0].token]=e[1].intt,n=r.formatting.midi.drummap):3===e.length&&"punct"===e[0].type&&"alpha"===e[1].type&&"number"===e[2].type?(r.formatting||(r.formatting={}),r.formatting.midi||(r.formatting.midi={}),r.formatting.midi.drummap||(r.formatting.midi.drummap={}),r.formatting.midi.drummap[e[0].token+e[1].token]=e[2].intt,n=r.formatting.midi.drummap):t("Expected one note name and one integer parameter in MIDI "+i,a,0);else if(T.indexOf(i)>=0)3!==e.length||"number"!==e[0].type||"/"!==e[1].token||"number"!==e[2].type?t("Expected fraction parameter in MIDI "+i,a,0):(n.push(e[0].intt),n.push(e[2].intt));else if(x.indexOf(i)>=0)4!==e.length?t("Expected four parameters in MIDI "+i,a,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type?t("Expected four integer parameters in MIDI "+i,a,0):(n.push(e[0].intt),n.push(e[1].intt),n.push(e[2].intt),n.push(e[3].intt));else if(k.indexOf(i)>=0)5!==e.length?t("Expected five parameters in MIDI "+i,a,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type||"number"!==e[4].type?t("Expected five integer parameters in MIDI "+i,a,0):(n.push(e[0].intt),n.push(e[1].intt),n.push(e[2].intt),n.push(e[3].intt),n.push(e[4].intt));else if(b.indexOf(i)>=0)1!==e.length||4!==e.length?t("Expected one or two parameters in MIDI "+i,a,0):"number"!==e[0].type?t("Expected integer parameter in MIDI "+i,a,0):4===e.length?("octave"!==e[1].token&&t("Expected octave parameter in MIDI "+i,a,0),"="!==e[2].token&&t("Expected octave parameter in MIDI "+i,a,0),"number"!==e[3].type&&t("Expected integer parameter for octave in MIDI "+i,a,0)):(n.push(e[0].intt),4===e.length&&n.push(e[3].intt));else if(C.indexOf(i)>=0)if(e.length<2)t("Expected string parameter and at least one integer parameter in MIDI "+i,a,0);else if("alpha"!==e[0].type)t("Expected string parameter and at least one integer parameter in MIDI "+i,a,0);else{var o=e.shift();for(n.push(o.token);e.length>0;)"number"!==(o=e.shift()).type&&t("Expected integer parameter in MIDI "+i,a,0),n.push(o.intt)}else if(S.indexOf(i)>=0)if(1!==e.length&&2!==e.length)t("Expected one or two parameters in MIDI "+i,a,0);else if("number"!==e[0].type)t("Expected integer parameter in MIDI "+i,a,0);else if(2===e.length&&"alpha"!==e[1].type)t("Expected alpha parameter in MIDI "+i,a,0);else if(n.push(e[0].intt),2===e.length){var c=e[1].token;-1!=c.indexOf("octave=")?(c=c.replace("octave=",""),c=parseInt(c),isNaN(c)?t("Expected octave value in MIDI"+i):(c<-1&&(t("Expected octave= in MIDI "+i+" to be >= -1 (recv:"+c+")"),c=-1),c>3&&(t("Expected octave= in MIDI "+i+" to be <= 3 (recv:"+c+")"),c=3),n.push(c))):t("Expected octave= in MIDI"+i)}s.hasBeginMusic()?s.appendElement("midi",-1,-1,{cmd:i,params:n}):(void 0===r.formatting.midi&&(r.formatting.midi={}),r.formatting.midi[i]=n)}(de,n,_);break;case"percmap":var ue=function(e){var t=e.split(/\s+/);if(2!==t.length&&3!==t.length)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var r=t[0],a=parseInt(t[1],10);if((isNaN(a)||a<35||a>81)&&t[1]&&(a=d.indexOf(t[1].toLowerCase())+35),isNaN(a)||a<35||a>81)return{error:'Expected drum name, received "'+t[1]+'"'};var i={sound:a};return 3===t.length&&(i.noteHead=t[2]),{key:r,value:i}}(_);ue.error?t(ue.error,o,8):(n.formatting.percmap||(n.formatting.percmap={}),n.formatting.percmap[ue.key]=ue.value);break;case"map":case"playtempo":case"auquality":case"continuous":case"nobarcheck":n.formatting[B]=_;break;default:return"Unknown directive: "+B}return null},i.globalFormatting=function(a){for(var i in a)if(a.hasOwnProperty(i)){var s,o=""+a[i],c=e.tokenize(o,0,o.length);switch(i){case"titlefont":case"gchordfont":case"composerfont":case"footerfont":case"headerfont":case"historyfont":case"infofont":case"measurefont":case"partsfont":case"repeatfont":case"subtitlefont":case"tempofont":case"textfont":case"voicefont":case"tripletfont":case"vocalfont":case"wordsfont":case"annotationfont":case"tablabelfont":case"tabnumberfont":case"tabgracefont":l(i,c,o);break;case"scale":h(i,c);break;case"partsbox":null!==(s=f("partsBox",i,c))&&t(s),r.partsfont.box=r.partsBox;break;case"freegchord":null!==(s=f("freegchord",i,c))&&t(s);break;case"fontboxpadding":1===c.length&&"number"===c[0].type||t('Directive "'+i+'" requires a number as a parameter.'),n.formatting.fontboxpadding=c[0].floatt;break;case"stafftopmargin":1===c.length&&"number"===c[0].type||t('Directive "'+i+'" requires a number as a parameter.'),n.formatting.stafftopmargin=c[0].floatt;break;case"stretchlast":var d=M(c);if(void 0!==d.value&&(n.formatting.stretchlast=d.value),d.error)return d.error;break;default:t("Formatting directive unrecognized: ",i,0)}}}}(),e.exports=i},9928:function(e,t,r){var a=r(5008),i=r(8360),n=r(9708);e.exports=function(e,t,r,s,o){this.reset=function(e,t,r,a){n.initialize(e,t,r,a,o),i.initialize(e,t,r,a,o)},this.reset(e,t,r,s),this.setTitle=function(e,t){r.hasMainTitle?o.addSubtitle(e,{startChar:r.iChar,endChar:r.iChar+t+2}):(o.addMetaText("title",e,{startChar:r.iChar,endChar:r.iChar+t+2}),r.hasMainTitle=!0)},this.setMeter=function(a){if("C"===(a=e.stripComment(a)))return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"common_time"};if("C|"===a)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"cut_time"};if("o"===a)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_perfectum"};if("c"===a)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_imperfectum"};if("o."===a)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_perfectum_prolatio"};if("c."===a)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_imperfectum_prolatio"};if(0===a.length||"none"===a.toLowerCase())return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),null;var i=e.tokenize(a,0,a.length);try{var n=function(){var e=function(){var e={value:0,num:""},t=i.shift();for("("===t.token&&(t=i.shift());;){if("number"!==t.type)throw"Expected top number of meter";if(e.value+=parseInt(t.token),e.num+=t.token,0===i.length||"/"===i[0].token)return e;if(")"===(t=i.shift()).token){if(0===i.length||"/"===i[0].token)return e;throw"Unexpected paren in meter"}if("."!==t.token&&"+"!==t.token)throw"Expected top number of meter";if(e.num+=t.token,0===i.length)throw"Expected top number of meter";t=i.shift()}return e}();if(0===i.length)return e;var t=i.shift();if("/"!==t.token)throw"Expected slash in meter";if("number"!==(t=i.shift()).type)throw"Expected bottom number of meter";return e.den=t.token,e.value=e.value/parseInt(e.den),e};if(0===i.length)throw"Expected meter definition in M: line";for(var s={type:"specified",value:[]},o=0;;){var c=n();o+=c.value;var l={num:c.num};if(void 0!==c.den&&(l.den=c.den),s.value.push(l),0===i.length)break}return!0===r.havent_set_length&&(r.default_length=o<.75?.0625:.125,r.havent_set_length=!1),s}catch(e){t(e,a,0)}return null},this.calcTempo=function(e){var t=1/4;r.meter&&"specified"===r.meter.type?t=1/parseInt(r.meter.value[0].den):r.origMeter&&"specified"===r.origMeter.type&&(t=1/parseInt(r.origMeter.value[0].den));for(var a=0;a0&&(r.default_length=n/s,r.havent_set_length=!1)}else 1===i.length&&"1"===i[0]&&(r.default_length=1,r.havent_set_length=!1)};var c={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(a,i,n,s){try{var o=e.tokenize(a,i,n);if(0===o.length)throw"Missing parameter in Q: field";var l={startChar:s+i-2,endChar:s+n},h=!0,d=o.shift();if("quote"===d.type&&(l.preString=d.token,d=o.shift(),0===o.length))return c[l.preString.toLowerCase()]&&(l.bpm=c[l.preString.toLowerCase()],l.suppressBpm=!0),{type:"immediate",tempo:l};if("alpha"===d.type&&"C"===d.token){if(0===o.length)throw"Missing tempo after C in Q: field";if("punct"===(d=o.shift()).type&&"="===d.token){if(0===o.length)throw"Missing tempo after = in Q: field";if("number"!==(d=o.shift()).type)throw"Expected number after = in Q: field";l.duration=[1],l.bpm=parseInt(d.token)}else{if("number"!==d.type)throw"Expected number or equal after C in Q: field";if(l.duration=[parseInt(d.token)],0===o.length)throw"Missing = after duration in Q: field";if("punct"!==(d=o.shift()).type||"="!==d.token)throw"Expected = after duration in Q: field";if(0===o.length)throw"Missing tempo after = in Q: field";if("number"!==(d=o.shift()).type)throw"Expected number after = in Q: field";l.bpm=parseInt(d.token)}}else{if("number"!==d.type)throw"Unknown value in Q: field";var u=parseInt(d.token);if(0===o.length||"quote"===o[0].type)l.duration=[1],l.bpm=u;else{if(h=!1,"punct"!==(d=o.shift()).type&&"/"!==d.token)throw"Expected fraction in Q: field";if("number"!==(d=o.shift()).type)throw"Expected fraction in Q: field";var f=parseInt(d.token);for(l.duration=[u/f];o.length>0&&"="!==o[0].token&&"quote"!==o[0].type;){if("number"!==(d=o.shift()).type)throw"Expected fraction in Q: field";if(u=parseInt(d.token),"punct"!==(d=o.shift()).type&&"/"!==d.token)throw"Expected fraction in Q: field";if("number"!==(d=o.shift()).type)throw"Expected fraction in Q: field";f=parseInt(d.token),l.duration.push(u/f)}if("punct"!==(d=o.shift()).type&&"="!==d.token)throw"Expected = in Q: field";if("number"!==(d=o.shift()).type)throw"Expected tempo in Q: field";l.bpm=parseInt(d.token)}}if(0!==o.length&&("quote"===(d=o.shift()).type&&(l.postString=d.token,d=o.shift()),0!==o.length))throw"Unexpected string at end of Q: field";return!1===r.printTempo&&(l.suppress=!0),{type:h?"delaySet":"immediate",tempo:l}}catch(e){return t(e,a,i),{type:"none"}}},this.letter_to_inline_header=function(a,c,l){var h=!1,d=e.eatWhiteSpace(a,c);if(c+=d,a.length>=c+5&&"["===a[c]&&":"===a[c+2]){var u=a.indexOf("]",c),f=r.iChar+c,p=r.iChar+u+1;switch(a.substring(c,c+3)){case"[I:":var m=i.addDirective(a.substring(c+3,u));return m&&t(m,a,c),[u-c+1+d];case"[M:":var g=this.setMeter(a.substring(c+3,u));return o.hasBeginMusic()&&g?o.appendStartingElement("meter",f,p,g):r.meter=g,[u-c+1+d];case"[K:":var v=n.parseKey(a.substring(c+3,u),!0);return v.foundClef&&o.hasBeginMusic()&&o.appendStartingElement("clef",f,p,r.clef),v.foundKey&&o.hasBeginMusic()&&o.appendStartingElement("key",f,p,n.fixKey(r.clef,r.key)),[u-c+1+d];case"[P:":var b=i.parseFontChangeLine(a.substring(c+3,u));return l||s.lines.length<=s.lineNum?r.partForNextLine={title:b,startChar:f,endChar:p}:o.appendElement("part",f,p,{title:b}),[u-c+1+d];case"[L:":return this.setDefaultLength(a,c+3,u),[u-c+1+d];case"[Q:":if(u>0){var y=this.setTempo(a,c+3,u,r.iChar);return"delaySet"===y.type?o.hasBeginMusic()?o.appendElement("tempo",f,p,this.calcTempo(y.tempo)):r.tempoForNextLine=["tempo",f,p,this.calcTempo(y.tempo)]:"immediate"===y.type&&(!l&&o.hasBeginMusic()?o.appendElement("tempo",f,p,y.tempo):r.tempoForNextLine=["tempo",f,p,y.tempo]),[u-c+1+d,a[c+1],a.substring(c+3,u)]}break;case"[V:":if(u>0)return h=n.parseVoice(a,c+3,u),[u-c+1+d,a[c+1],a.substring(c+3,u),h];break;case"[r:":return[u-c+1+d]}}return[0]},this.letter_to_body_header=function(e,s){var c=!1;if(e.length>=s+3)switch(e.substring(s,s+2)){case"I:":var l=i.addDirective(e.substring(s+2));return l&&t(l,e,s),[e.length];case"M:":var h=this.setMeter(e.substring(s+2));return o.hasBeginMusic()&&h&&o.appendStartingElement("meter",r.iChar+s,r.iChar+e.length,h),[e.length];case"K:":var d=n.parseKey(e.substring(s+2),o.hasBeginMusic());return d.foundClef&&o.hasBeginMusic()&&o.appendStartingElement("clef",r.iChar+s,r.iChar+e.length,r.clef),d.foundKey&&o.hasBeginMusic()&&o.appendStartingElement("key",r.iChar+s,r.iChar+e.length,n.fixKey(r.clef,r.key)),[e.length];case"P:":return o.hasBeginMusic()&&o.appendElement("part",r.iChar+s,r.iChar+e.length,{title:e.substring(s+2)}),[e.length];case"L:":return this.setDefaultLength(e,s+2,e.length),[e.length];case"Q:":var u=e.indexOf("",s+2);-1===u&&(u=e.length);var f=this.setTempo(e,s+2,u,r.iChar);return"delaySet"===f.type?o.appendElement("tempo",r.iChar+s,r.iChar+e.length,this.calcTempo(f.tempo)):"immediate"===f.type&&o.appendElement("tempo",r.iChar+s,r.iChar+e.length,f.tempo),[u,e[s],a.strip(e.substring(s+2))];case"V:":return c=n.parseVoice(e,s+2,e.length),[e.length,e[s],a.strip(e.substring(s+2)),c]}return[0]};var l={A:"author",B:"book",C:"composer",D:"discography",F:"url",G:"group",I:"instruction",N:"notes",O:"origin",R:"rhythm",S:"source",W:"unalignedWords",Z:"transcription"};this.parseHeader=function(a){var c=l[a[0]],h=a.length-2,d=e.translateString(e.stripComment(a.substring(2)));if("unalignedWords"===c||"notes"===c)o.addMetaTextArray(c,i.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+a.length});else if(void 0!==c)o.addMetaText(c,i.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+a.length});else{var u=r.iChar,f=u+a.length;switch(a[0]){case"H":for(o.addMetaTextArray("history",i.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+a.length}),a=e.peekLine();a&&":"!==a[1];)e.nextLine(),o.addMetaTextArray("history",i.parseFontChangeLine(e.translateString(e.stripComment(a))),{startChar:r.iChar,endChar:r.iChar+a.length}),a=e.peekLine();break;case"K":this.resolveTempo();var p=n.parseKey(a.substring(2),!1);!r.is_in_header&&o.hasBeginMusic()&&(p.foundClef&&o.appendStartingElement("clef",u,f,r.clef),p.foundKey&&o.appendStartingElement("key",u,f,n.fixKey(r.clef,r.key))),r.is_in_header=!1;break;case"L":this.setDefaultLength(a,2,a.length);break;case"M":r.origMeter=r.meter=this.setMeter(a.substring(2));break;case"P":r.is_in_header?o.addMetaText("partOrder",i.parseFontChangeLine(d),{startChar:r.iChar,endChar:r.iChar+a.length}):r.partForNextLine={title:d,startChar:u,endChar:f};break;case"Q":var m=this.setTempo(a,2,a.length,r.iChar);"delaySet"===m.type?r.tempo=m.tempo:"immediate"===m.type&&(s.metaText.tempo?r.tempoForNextLine=["tempo",u,f,m.tempo]:s.metaText.tempo=m.tempo);break;case"T":r.titlecaps&&(d=d.toUpperCase()),this.setTitle(i.parseFontChangeLine(e.theReverser(d)),h);break;case"U":this.addUserDefinition(a,2,a.length);break;case"V":if(n.parseVoice(a,2,a.length),!r.is_in_header)return{newline:!0};break;case"s":return{symbols:!0};case"w":return{words:!0};case"X":break;case"E":case"m":t("Ignored header",a,0);break;default:return{regular:!0}}}return{}}}},9708:function(e,t,r){var a=r(8360),i=r(2821),n={};!function(){var e,t,r,s;n.initialize=function(a,i,n,o,c){e=a,t=i,r=n,s=c},n.standardKey=function(e,t,a,n){return i.keySignature(r,e,t,a,n)};var o={treble:{clef:"treble",pitch:4,mid:0},"treble+8":{clef:"treble+8",pitch:4,mid:0},"treble-8":{clef:"treble-8",pitch:4,mid:0},"treble^8":{clef:"treble+8",pitch:4,mid:0},treble_8:{clef:"treble-8",pitch:4,mid:0},treble1:{clef:"treble",pitch:2,mid:2},treble2:{clef:"treble",pitch:4,mid:0},treble3:{clef:"treble",pitch:6,mid:-2},treble4:{clef:"treble",pitch:8,mid:-4},treble5:{clef:"treble",pitch:10,mid:-6},perc:{clef:"perc",pitch:6,mid:0},none:{clef:"none",mid:0},bass:{clef:"bass",pitch:8,mid:-12},"bass+8":{clef:"bass+8",pitch:8,mid:-12},"bass-8":{clef:"bass-8",pitch:8,mid:-12},"bass^8":{clef:"bass+8",pitch:8,mid:-12},bass_8:{clef:"bass-8",pitch:8,mid:-12},"bass+16":{clef:"bass",pitch:8,mid:-12},"bass-16":{clef:"bass",pitch:8,mid:-12},"bass^16":{clef:"bass",pitch:8,mid:-12},bass_16:{clef:"bass",pitch:8,mid:-12},bass1:{clef:"bass",pitch:2,mid:-6},bass2:{clef:"bass",pitch:4,mid:-8},bass3:{clef:"bass",pitch:6,mid:-10},bass4:{clef:"bass",pitch:8,mid:-12},bass5:{clef:"bass",pitch:10,mid:-14},tenor:{clef:"alto",pitch:8,mid:-8},tenor1:{clef:"alto",pitch:2,mid:-2},tenor2:{clef:"alto",pitch:4,mid:-4},tenor3:{clef:"alto",pitch:6,mid:-6},tenor4:{clef:"alto",pitch:8,mid:-8},tenor5:{clef:"alto",pitch:10,mid:-10},alto:{clef:"alto",pitch:6,mid:-6},alto1:{clef:"alto",pitch:2,mid:-2},alto2:{clef:"alto",pitch:4,mid:-4},alto3:{clef:"alto",pitch:6,mid:-6},alto4:{clef:"alto",pitch:8,mid:-8},alto5:{clef:"alto",pitch:10,mid:-10},"alto+8":{clef:"alto+8",pitch:6,mid:-6},"alto-8":{clef:"alto-8",pitch:6,mid:-6},"alto^8":{clef:"alto+8",pitch:6,mid:-6},alto_8:{clef:"alto-8",pitch:6,mid:-6}},c=function(e,t){var r=o[e];return(r?r.mid:0)+t};n.fixClef=function(e){var t=o[e.type];t&&(e.clefPos=t.pitch,e.type=t.clef)},n.deepCopyKey=function(e){var t={accidentals:[],root:e.root,acc:e.acc,mode:e.mode};return e.accidentals.forEach((function(e){t.accidentals.push(Object.assign({},e))})),t};var l={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};n.addPosToKey=function(e,t){var r=e.verticalPos;t.accidentals.forEach((function(e){var t=l[e.note];t-=r,e.verticalPos=t})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){var t=l[e.note];t-=r,e.verticalPos=t})),r<-10?(t.accidentals.forEach((function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)}))):r<-4?(t.accidentals.forEach((function(e){e.verticalPos-=7,-8!==r||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos-=7,-8!==r||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)}))):r>=7&&(t.accidentals.forEach((function(e){e.verticalPos+=7})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos+=7})))},n.fixKey=function(e,t){var r=Object.assign({},t);return n.addPosToKey(e,r),r};var h=function(e){var t=0,r=e[t++];"^"!==r&&"_"!==r||(r=e[t++]);var a=l[r];for(void 0===a&&(a=6);t0){l.foundKey=!0;var d="",u="";o[0].token.length>1?o[0].token=o[0].token.substring(1):o.shift();var f=h.token;if(o.length>0){var p=e.getSharpFlat(o[0].token);if(p.len>0&&(o[0].token.length>1?o[0].token=o[0].token.substring(1):o.shift(),f+=p.token,d=p.token),o.length>0){var m=e.getMode(o[0].token);m.len>0&&(o.shift(),f+=m.token,u=m.token)}if(void 0===n.standardKey(f,h.token,d,0))return t("Unsupported key signature: "+f,i,0),l}var g,v=n.deepCopyKey(r.key),b=!s&&r.globalTranspose?-r.globalTranspose:0;if(s&&(g=r.globalTransposeOrigKeySig),r.key=n.deepCopyKey(n.standardKey(f,h.token,d,b)),s&&(r.globalTransposeOrigKeySig=g),r.key.mode=u,v){for(var y,x=0;x0;)switch(o[0].token){case"m":case"middle":if(o.shift(),0===o.length)return t("Expected = after middle",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after middle",i,k.start);break}if(0===o.length)return t("Expected parameter after middle=",i,0),l;var M=e.getPitchFromTokens(o);M.warn&&t(M.warn,i,0),M.position&&(r.clef.verticalPos=M.position-6);break;case"transpose":if(o.shift(),0===o.length)return t("Expected = after transpose",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after transpose",i,k.start);break}if(0===o.length)return t("Expected parameter after transpose=",i,0),l;if("number"!==o[0].type){t("Expected number after transpose",i,o[0].start);break}r.clef.transpose=o[0].intt,o.shift();break;case"stafflines":if(o.shift(),0===o.length)return t("Expected = after stafflines",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after stafflines",i,k.start);break}if(0===o.length)return t("Expected parameter after stafflines=",i,0),l;if("number"!==o[0].type){t("Expected number after stafflines",i,o[0].start);break}r.clef.stafflines=o[0].intt,o.shift();break;case"staffscale":if(o.shift(),0===o.length)return t("Expected = after staffscale",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after staffscale",i,k.start);break}if(0===o.length)return t("Expected parameter after staffscale=",i,0),l;if("number"!==o[0].type){t("Expected number after staffscale",i,o[0].start);break}r.clef.staffscale=o[0].floatt,o.shift();break;case"octave":if(o.shift(),0===o.length)return t("Expected = after octave",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after octave",i,k.start);break}if(0===o.length)return t("Expected parameter after octave=",i,0),l;if("number"!==o[0].type){t("Expected number after octave",i,o[0].start);break}r.octave=o[0].intt,o.shift();break;case"style":if(o.shift(),0===o.length)return t("Expected = after style",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after style",i,k.start);break}if(0===o.length)return t("Expected parameter after style=",i,0),l;switch(o[0].token){case"normal":case"harmonic":case"rhythm":case"x":case"triangle":r.style=o[0].token,o.shift();break;default:t("error parsing style element: "+o[0].token,i,o[0].start)}break;case"clef":if(o.shift(),0===o.length)return t("Expected = after clef",i,0),l;if("="!==(k=o.shift()).token){t("Expected = after clef",i,k.start);break}if(0===o.length)return t("Expected parameter after clef=",i,0),l;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var N=o.shift();switch(N.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":case"c":N.token="alto";break;case"F":case"f":N.token="bass";break;case"G":case"g":N.token="treble";break;default:t("Expected clef name. Found "+N.token,i,N.start)}o.length>0&&"number"===o[0].type&&(N.token+=o[0].token,o.shift()),o.length>1&&("-"===o[0].token||"+"===o[0].token||"^"===o[0].token||"_"===o[0].token)&&"8"===o[1].token&&(N.token+=o[0].token+o[1].token,o.shift(),o.shift()),r.clef={type:N.token,verticalPos:c(N.token,0)},r.currentVoice&&void 0!==r.currentVoice.transpose&&(r.clef.transpose=r.currentVoice.transpose),l.foundClef=!0;break;default:t("Unknown parameter: "+o[0].token,i,o[0].start),o.shift()}return l},n.parseVoice=function(a,i,n){var o=e.getMeat(a,i,n),l=o.start,d=o.end,u=e.getToken(a,l,d);if(0!==u.length){var f=!1;void 0===r.voices[u]&&(r.voices[u]={},f=!0,r.score_is_present&&t("Can't have an unknown V: id when the %score directive is present",a,l)),l+=u.length,l+=e.eatWhiteSpace(a,l);for(var p={startStaff:f},m=function(r){var i=e.getVoiceToken(a,l,d);void 0!==i.warn?t("Expected value for "+r+" in voice: "+i.warn,a,l):void 0!==i.err?t("Expected value for "+r+" in voice: "+i.err,a,l):0===i.token.length&&'"'!==a[l]?t("Expected value for "+r+" in voice",a,l):p[r]=i.token,l+=i.len},g=function(i,n,s){var o=e.getVoiceToken(a,l,d);void 0!==o.warn?t("Expected value for "+n+" in voice: "+o.warn,a,l):void 0!==o.err?t("Expected value for "+n+" in voice: "+o.err,a,l):0===o.token.length&&'"'!==a[l]?t("Expected value for "+n+" in voice",a,l):("number"===s&&(o.token=parseFloat(o.token)),r.voices[i][n]=o.token),l+=o.len},v=function(r,i){var n=e.getVoiceToken(a,l,d);if(void 0!==n.warn)t("Expected value for "+r+" in voice: "+n.warn,a,l);else if(void 0!==n.err)t("Expected value for "+r+" in voice: "+n.err,a,l);else{if(0!==n.token.length||'"'===a[l])return"number"===i&&(n.token=parseFloat(n.token)),n.token;t("Expected value for "+r+" in voice",a,l)}l+=n.len},b=function(i,n){var s=e.getVoiceToken(a,l,d);if(void 0!==s.warn)t("Expected one of (_B, _E, _b, _e) for "+n+" in voice: "+s.warn,a,l);else if(0===s.token.length&&'"'!==a[l])t("Expected one of (_B, _E, _b, _e) for "+n+" in voice",a,l);else{var o={_B:2,_E:9,_b:-10,_e:-3}[s.token];o?r.voices[i][n]=o:t("Expected one of (_B, _E, _b, _e) for "+n+" in voice",a,l)}l+=s.len};l0&&(t+=d[0],"V"===d[1]&&this.startNewLine());for(var u=0;t0)t+=p[0],"V"===p[1]&&(l=!0);else{var m;for((!o.hasBeginMusic()||l&&!this.lineContinuation)&&(this.startNewLine(),l=!1);;)if((m=a.eatWhiteSpace(e,t))>0&&(t+=m),t>0&&""===e[t-1]&&(m=c.letter_to_body_header(e,t))[0]>0&&("V"===m[1]&&this.startNewLine(),t=m[0],n.start_new_line=!1),(m=P(e,t))[0]>0&&(t+=m[0]),(m=M(e,t))[0]>0){S.chord||(S.chord=[]);var g=a.translateString(m[1]);g=g.replace(/;/g,"\n");for(var y=!1,x=0;x0&&(S.force_end_beam_last=!0),t+=k}else if((m=-1===v.indexOf(e[t])?B(e,t):[0])[0]>0)null===m[1]?t+10&&(0===m[1].indexOf("style=")?S.style=m[1].substr(6):(void 0===S.decoration&&(S.decoration=[]),"beambr1"===m[1]?S.beambr=1:"beambr2"===m[1]?S.beambr=2:S.decoration.push(m[1]))),t+=m[0];else{if(!((m=N(e,t))[0]>0))break;S.gracenotes=m[1],t+=m[0]}if((m=L(e,t))[0]>0){u=0,void 0!==S.gracenotes&&(S.rest={type:"spacer"},S.duration=.125,n.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+t,r+t+m[0],S),n.measureNotEmpty=!0,S={});var w={type:m[1]};0===w.type.length?i("Unknown bar type",e,t):(n.inEnding&&"bar_thin"!==w.type&&(w.endEnding=!0,n.inEnding=!1),m[2]&&(w.startEnding=m[2],n.inEnding&&(w.endEnding=!0),n.inEnding=!0,"bar_right_repeat"===m[1]?n.restoreStartEndingHoldOvers():n.duplicateStartEndingHoldOvers()),void 0!==S.decoration&&(w.decoration=S.decoration),void 0!==S.chord&&(w.chord=S.chord),w.startEnding&&void 0===n.barFirstEndingNum?n.barFirstEndingNum=n.currBarNumber:w.startEnding&&w.endEnding&&n.barFirstEndingNum?n.currBarNumber=n.barFirstEndingNum:w.endEnding&&(n.barFirstEndingNum=void 0),"bar_invisible"!==w.type&&n.measureNotEmpty&&(void 0===n.currentVoice||0===n.currentVoice.staffNum&&0===n.currentVoice.index)&&(n.currBarNumber++,n.barNumbers&&n.currBarNumber%n.barNumbers==0&&(w.barNumber=n.currBarNumber)),n.addFormattingOptions(S,s.formatting,"bar"),o.appendElement("bar",r+f,r+t+m[0],w),n.measureNotEmpty=!1,S={}),t+=m[0]}else if("&"===e[t])(m=_(e,t))[0]>0&&(o.appendElement("overlay",r,r+1,{}),t+=1,u++);else{if((m=z(e,t)).consumed>0&&(void 0!==m.startSlur&&(S.startSlur=m.startSlur),m.dottedSlur&&(S.dottedSlur=!0),void 0!==m.triplet&&(h>0?i("Can't nest triplets",e,t):(S.startTriplet=m.triplet,S.tripletMultiplier=m.tripletQ/m.triplet,S.tripletR=m.num_notes,h=void 0===m.num_notes?m.triplet:m.num_notes)),t+=m.consumed),"["===e[t]){t++;for(var T=null,I=!1,F=!1;!F;){var V=B(e,t);V[0]>0&&(t+=V[0]);var Y=H(e,t,{},!1);if(null!==Y&&void 0!==Y.pitch)V[0]>0&&0!==V[1].indexOf("style=")&&(void 0===S.decoration&&(S.decoration=[]),S.decoration.push(V[1])),Y.end_beam&&(S.end_beam=!0,delete Y.end_beam),void 0===S.pitches?(S.duration=Y.duration,S.pitches=[Y]):S.pitches.push(Y),delete Y.duration,V[0]>0&&0===V[1].indexOf("style=")&&(S.pitches[S.pitches.length-1].style=V[1].substr(6)),n.inTieChord[S.pitches.length]&&(Y.endTie=!0,n.inTieChord[S.pitches.length]=void 0),Y.startTie&&(n.inTieChord[S.pitches.length]=!0),t=Y.endChar,delete Y.endChar;else if(" "===e[t])i("Spaces are not allowed in chords",e,t),t++;else{if(t0&&(!S.rest||"spacer"!==S.rest.type)&&0==--h&&(S.endTriplet=!0);for(var j=!1;t":case"<":var G=D(e,t);t+=G[0]-1,n.next_note_duration=G[2],T?T*=G[1]:T=G[1];break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"/":var W=a.getFraction(e,t);T=W.value;var q=e[t=W.index];" "===q&&(I=!0),"-"===q||")"===q||" "===q||"<"===q||">"===q?t--:j=!0;break;case"0":T=0;break;default:j=!0}j||t++}}else i("Expected ']' to end the chords",e,t);void 0!==S.pitches&&(null!==T&&(S.duration=S.duration*T,I&&O(S)),n.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+f,r+t,S),n.measureNotEmpty=!0,S={}),F=!0}}}else{var X={},R=H(e,t,X,!0);void 0!==X.endTie&&E(n,u,!0),null!==R&&(void 0!==R.pitch?(S.pitches=[{}],void 0!==R.accidental&&(S.pitches[0].accidental=R.accidental),S.pitches[0].pitch=R.pitch,S.pitches[0].name=R.name,(R.midipitch||0===R.midipitch)&&(S.pitches[0].midipitch=R.midipitch),void 0!==R.endSlur&&(S.pitches[0].endSlur=R.endSlur),void 0!==R.endTie&&(S.pitches[0].endTie=R.endTie),void 0!==R.startSlur&&(S.pitches[0].startSlur=R.startSlur),void 0!==S.startSlur&&(S.pitches[0].startSlur=S.startSlur),void 0!==S.dottedSlur&&(S.pitches[0].dottedSlur=!0),void 0!==R.startTie&&(S.pitches[0].startTie=R.startTie),void 0!==S.startTie&&(S.pitches[0].startTie=S.startTie)):(S.rest=R.rest,void 0!==R.endSlur&&(S.endSlur=R.endSlur),void 0!==R.endTie&&(S.rest.endTie=R.endTie),void 0!==R.startSlur&&(S.startSlur=R.startSlur),void 0!==R.startTie&&(S.rest.startTie=R.startTie),void 0!==S.startTie&&(S.rest.startTie=S.startTie)),void 0!==R.chord&&(S.chord=R.chord),void 0!==R.duration&&(S.duration=R.duration),void 0!==R.decoration&&(S.decoration=R.decoration),void 0!==R.graceNotes&&(S.graceNotes=R.graceNotes),delete S.startSlur,delete S.dottedSlur,C(n,u,S)&&(void 0!==S.pitches?S.pitches[0].endTie=!0:"spacer"!==S.rest.type&&(S.rest.endTie=!0),E(n,u,!1)),(R.startTie||S.startTie)&&E(n,u,!0),t=R.endChar,h>0&&(!R.rest||"spacer"!==R.rest.type)&&0==--h&&(S.endTriplet=!0),R.end_beam&&O(S),S.rest&&"rest"===S.rest.type&&1===S.duration&&A(n)<=1&&(S.rest.type="whole",S.duration=A(n)),S.duration<1&&-1===b.indexOf(S.duration)&&0!==S.duration&&(S.rest&&"spacer"===S.rest.type||i("Duration not representable: "+e.substring(f,t),e,t)),n.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+f,r+t,S)||(this.startNewLine(),o.appendElement("note",r+f,r+t,S)),n.measureNotEmpty=!0,S={})}t===f&&(" "!==e[t]&&"`"!==e[t]&&i("Unknown character ignored",e,t),t++)}}}this.lineContinuation=e.indexOf("")>=0||d[0]>0,this.lineContinuation||(S={})}};var E=function(e,t,r){var a=e.currentVoice?100*e.currentVoice.staffNum+e.currentVoice.index:0;void 0===e.inTie[t]&&(e.inTie[t]=[]),e.inTie[t][a]=r},M=function(e,t){if('"'===e[t]){var r=a.getBrackettedSubstring(e,t,5);if(r[2]||i("Missing the closing quote while parsing the chord symbol",e,t),r[0]>0&&r[1].length>0&&"^"===r[1][0])r[1]=r[1].substring(1),r[2]="above";else if(r[0]>0&&r[1].length>0&&"_"===r[1][0])r[1]=r[1].substring(1),r[2]="below";else if(r[0]>0&&r[1].length>0&&"<"===r[1][0])r[1]=r[1].substring(1),r[2]="left";else if(r[0]>0&&r[1].length>0&&">"===r[1][0])r[1]=r[1].substring(1),r[2]="right";else if(r[0]>0&&r[1].length>0&&"@"===r[1][0]){r[1]=r[1].substring(1);var s=a.getFloat(r[1]);if(0===s.digits)return i("Missing first position in absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;if(r[1]=r[1].substring(s.digits),","!==r[1][0])return i("Missing comma absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;r[1]=r[1].substring(1);var o=a.getFloat(r[1]);if(0===o.digits)return i("Missing second position in absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;r[1]=r[1].substring(o.digits);var c=a.skipWhiteSpace(r[1]);r[1]=r[1].substring(c),r[2]=null,r[3]={x:s.value,y:o.value}}else!0!==n.freegchord&&(r[1]=r[1].replace(/([ABCDEFG0-9])b/g,"$1♭"),r[1]=r[1].replace(/([ABCDEFG0-9])#/g,"$1♯"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o([^A-Za-z])/g,"$1$2°$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o$/g,"$1$2°"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)0([^A-Za-z])/g,"$1$2ø$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)\^([^A-Za-z])/g,"$1$2∆$3")),r[2]="default",r[1]=h.chordName(n,r[1]);return r}return[0,""]},N=function(e,t){if("{"===e[t]){var r=a.getBrackettedSubstring(e,t,1,"}");r[2]||i("Missing the closing '}' while parsing grace note",e,t),")"===e[t+r[0]]&&(r[0]++,r[1]+=")");for(var s=[],o=0,c=!1;o0&&(s[s.length-1].endBeam=!0):i("Unknown character '"+r[1][o]+"' while parsing grace note",e,t),o++)}if(s.length)return[r[0],s]}return[0]};function _(e,t){if("&"===e[t]){for(var r=t;e[t]&&":"!==e[t]&&"|"!==e[t];)t++;return[t-r,e.substring(r+1,t)]}return[0]}function A(e){var t=e.origMeter;return t&&"specified"===t.type&&t.value&&0!==t.value.length?parseInt(t.value[0].num,10)/parseInt(t.value[0].den,10):1}var B=function(e,t){var r=n.macros[e[t]];if(void 0!==r)return"!"!==r[0]&&"+"!==r[0]||(r=r.substring(1)),"!"!==r[r.length-1]&&"+"!==r[r.length-1]||(r=r.substring(0,r.length-1)),u.includes(r)?[1,r]:f.includes(r)?("hidden"===n.volumePosition&&(r=""),[1,r]):p.includes(r)?("hidden"===n.dynamicPosition&&(r=""),[1,r]):(n.ignoredDecorations.includes(r)||i("Unknown macro: "+r,e,t),[1,""]);switch(e[t]){case".":if("("===e[t+1]||"-"===e[t+1])break;return[1,"staccato"];case"u":return[1,"upbow"];case"v":return[1,"downbow"];case"~":return[1,"irishroll"];case"!":case"+":var s=a.getBrackettedSubstring(e,t,5);if(s[1].length>1&&("^"===s[1][0]||"_"===s[1][0])&&(s[1]=s[1].substring(1)),u.includes(s[1]))return s;if(f.includes(s[1]))return"hidden"===n.volumePosition&&(s[1]=""),s;if(p.includes(s[1]))return"hidden"===n.dynamicPosition&&(s[1]=""),s;var o=m.findIndex((function(e){return s[1]===e[0]}));return o>=0?(s[1]=m[o][1],s):(o=g.findIndex((function(e){return s[1]===e[0]})))>=0?(s[1]=g[o][1],"hidden"===n.dynamicPosition&&(s[1]=""),s):"!"!==e[t]||1!==s[0]&&"!"===e[t+s[0]-1]?(i("Unknown decoration: "+s[1],e,t),s[1]="",s):[1,null];case"H":return[1,"fermata"];case"J":return[1,"slide"];case"L":return[1,"accent"];case"M":return[1,"mordent"];case"O":return[1,"coda"];case"P":return[1,"pralltriller"];case"R":return[1,"roll"];case"S":return[1,"segno"];case"T":return[1,"trill"]}return[0,0]},P=function(e,t){for(var r=t;a.isWhiteSpace(e[t]);)t++;return[t-r]},L=function(e,t){var r=a.getBarLine(e,t);if(0===r.len)return[0,""];if(r.warn)return i(r.warn,e,t),[r.len,""];for(var n=0;n="2"&&e[t+1]<="9"?(void 0!==r.triplet?i("Can't nest triplets",e,t):(r.triplet=e[t+1]-"0",r.tripletQ=w[r.triplet],r.num_notes=r.triplet,t+2="1"&&e[t+4]<="9"?(r.num_notes=e[t+4]-"0",t+=3):i("expected number after the two colons after the triplet to mark the duration",e,t):t+3="1"&&e[t+3]<="9"?(r.tripletQ=e[t+3]-"0",t+4="1"&&e[t+5]<="9"&&(r.num_notes=e[t+5]-"0",t+=4):t+=2):i("expected number after the triplet to mark the duration",e,t))),t++):void 0===r.startSlur?r.startSlur=1:r.startSlur++),t++;return r.consumed=t-n,r};T.prototype.startNewLine=function(){var e={startChar:-1,endChar:-1};n.partForNextLine.title&&(e.part=n.partForNextLine),e.clef=n.currentVoice&&void 0!==n.staves[n.currentVoice.staffNum].clef?Object.assign({},n.staves[n.currentVoice.staffNum].clef):Object.assign({},n.clef);var t=n.currentVoice?n.currentVoice.scoreTranspose:0;if(e.key=l.standardKey(n.key.root+n.key.acc+n.key.mode,n.key.root,n.key.acc,t),e.key.mode=n.key.mode,n.key.impliedNaturals&&(e.key.impliedNaturals=n.key.impliedNaturals),n.key.explicitAccidentals)for(var r=0;r=0?(r.duration=s.getBarLength(),r.rest.text=1,d="Zduration"):(i&&0!==n.next_note_duration?(r.duration=n.default_length*n.next_note_duration,n.next_note_duration=0,u=!0):r.duration=n.default_length,d="duration");break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":case"/":if("octave"===d||"duration"===d){var p=a.getFraction(e,t);for(r.duration=r.duration*p.value,r.endChar=p.index;p.index"!==e[t])return r;t--,d="broken_rhythm";break;case">":case"<":if(!l(d))return null;if(!i)return r.endChar=t,r;var g=D(e,t);t+=g[0]-1,n.next_note_duration=g[2],r.duration=g[1]*r.duration,d="end_slur";break;default:return l(d)?(r.endChar=t,r):null}if(++t===e.length)return l(d)?(r.endChar=t,r):null}return null},D=function(e,t){switch(e[t]){case">":return t"===e[t+1]&&">"===e[t+2]?[3,1.875,.125]:t"===e[t+1]?[2,1.75,.25]:[1,1.5,.5];case"<":return t","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]],e.exports.accentDynamicPseudonyms=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]],e.exports.nonDecorations="ABCDEFGabcdefgxyzZ[]|^_{",e.exports.durations=[.5,.75,.875,.9375,.96875,.984375,.25,.375,.4375,.46875,.484375,.4921875,.125,.1875,.21875,.234375,.2421875,.24609375,.0625,.09375,.109375,.1171875,.12109375,.123046875,.03125,.046875,.0546875,.05859375,.060546875,.0615234375,.015625,.0234375,.02734375,.029296875,.0302734375,.03076171875],e.exports.pitches={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},e.exports.rests={x:"invisible",X:"invisible-multimeasure",y:"spacer",z:"rest",Z:"multimeasure"},e.exports.accMap={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^",quarterflat:"_/",quartersharp:"^/"},e.exports.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2}},1881:function(e,t,r){var a=r(5008),i=function(e,t){this.lineIndex=0,this.lines=e,this.multilineVars=t,this.skipWhiteSpace=function(e){for(var t=0;t=e.length};this.eatWhiteSpace=function(e,t){for(var r=t;r="a"&&e[t]<="z"||e[t]>="A"&&e[t]<="Z");)t++;return t},a=this.skipWhiteSpace(e);if(r(e,a))return{len:0};var i=e.substring(a,a+3).toLowerCase();switch((i.length>1&&" "===i[1]||"^"===i[1]||"_"===i[1]||"="===i[1])&&(i=i[0]),i){case"mix":return{len:t(e,a),token:"Mix"};case"dor":return{len:t(e,a),token:"Dor"};case"phr":return{len:t(e,a),token:"Phr"};case"lyd":return{len:t(e,a),token:"Lyd"};case"loc":return{len:t(e,a),token:"Loc"};case"aeo":case"min":case"m":return{len:t(e,a),token:"m"};case"maj":case"ion":return{len:t(e,a),token:""}}return{len:0}},this.getClef=function(e,t){var i=e,n=this.skipWhiteSpace(e);if(r(e,n))return{len:0};var s=!1,o=e.substring(n);if(a.startsWith(o,"clef=")&&(s=!0,o=o.substring(5),n+=5),0===o.length&&s)return{len:n+5,warn:"No clef specified: "+i};var c=this.skipWhiteSpace(o);if(r(o,c))return{len:0};c>0&&(n+=c,o=o.substring(c));var l=null;if(a.startsWith(o,"treble"))l="treble";else if(a.startsWith(o,"bass3"))l="bass3";else if(a.startsWith(o,"bass"))l="bass";else if(a.startsWith(o,"tenor"))l="tenor";else if(a.startsWith(o,"alto2"))l="alto2";else if(a.startsWith(o,"alto1"))l="alto1";else if(a.startsWith(o,"alto"))l="alto";else if(!t&&s&&a.startsWith(o,"none"))l="none";else if(a.startsWith(o,"perc"))l="perc";else if(!t&&s&&a.startsWith(o,"C"))l="tenor";else if(!t&&s&&a.startsWith(o,"F"))l="bass";else{if(t||!s||!a.startsWith(o,"G"))return{len:n+5,warn:"Unknown clef specified: "+i};l="treble"}return o=o.substring(l.length),(c=this.isMatch(o,"+8"))>0?l+="+8":(c=this.isMatch(o,"-8"))>0&&(l+="-8"),{len:n+l.length,token:l,explicit:s}},this.getBarLine=function(e,t){switch(e[t]){case"]":switch(e[++t]){case"|":return{len:2,token:"bar_thick_thin"};case"[":return e[++t]>="1"&&e[t]<="9"||'"'===e[t]?{len:2,token:"bar_invisible"}:{len:1,warn:"Unknown bar symbol"};default:return{len:1,token:"bar_invisible"}}break;case":":switch(e[++t]){case":":return{len:2,token:"bar_dbl_repeat"};case"|":switch(e[++t]){case"]":return"|"===e[++t]&&":"===e[++t]?{len:5,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};case"|":return":"===e[++t]?{len:4,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:2,token:"bar_right_repeat"}}break;default:return{len:1,warn:"Unknown bar symbol"}}break;case"[":if("|"!==e[++t])return e[t]>="1"&&e[t]<="9"||'"'===e[t]?{len:1,token:"bar_invisible"}:{len:0};switch(e[++t]){case":":return{len:3,token:"bar_left_repeat"};case"]":return{len:3,token:"bar_invisible"};default:return{len:2,token:"bar_thick_thin"}}break;case"|":switch(e[++t]){case"]":return{len:2,token:"bar_thin_thick"};case"|":return":"===e[++t]?{len:3,token:"bar_left_repeat"}:{len:2,token:"bar_thin_thin"};case":":for(var r=0;":"===e[t+r];)r++;return{len:1+r,token:"bar_left_repeat"};default:return{len:1,token:"bar_thin"}}}return{len:0}},this.getTokenOf=function(e,t){for(var r=0;r0;){var r;if("^"===e[0].token){if(r="sharp",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token){case"^":r="dblsharp",e.shift();break;case"/":r="quartersharp",e.shift()}}else if("="===e[0].token)r="natural",e.shift();else{if("_"!==e[0].token)return{accs:t};if(r="flat",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token){case"_":r="dblflat",e.shift();break;case"/":r="quarterflat",e.shift()}}if(0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token[0]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":void 0===t&&(t=[]),t.push({acc:r,note:e[0].token[0]}),1===e[0].token.length?e.shift():e[0].token=e[0].token.substring(1);break;default:return{accs:t,warn:"Expected note name after "+r+" Found: "+e[0].token}}}return{accs:t}},this.getKeyAccidental=function(e){var t={"^":"sharp","^^":"dblsharp","=":"natural",_:"flat",__:"dblflat","_/":"quarterflat","^/":"quartersharp"},a=this.skipWhiteSpace(e);if(r(e,a))return{len:0};var i=null;switch(e[a]){case"^":case"_":case"=":i=e[a];break;default:return{len:0}}if(a++,r(e,a))return{len:1,warn:"Expected note name after accidental"};switch(e[a]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:a+1,token:{acc:t[i],note:e[a]}};case"^":case"_":case"/":if(i+=e[a],a++,r(e,a))return{len:2,warn:"Expected note name after accidental"};switch(e[a]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:a+1,token:{acc:t[i],note:e[a]}};default:return{len:2,warn:"Expected note name after accidental"}}break;default:return{len:1,warn:"Expected note name after accidental"}}},this.isWhiteSpace=function(e){return" "===e||"\t"===e||""===e},this.getMeat=function(e,t,r){var a=e.indexOf("%",t);for(a>=0&&a="A"&&e<="Z"||e>="a"&&e<="z"},n=function(e){return e>="0"&&e<="9"};this.tokenize=function(e,t,r,a){var s=this.getMeat(e,t,r);t=s.start,r=s.end;for(var o,c=[];t=r?{len:1,err:"Missing close quote"}:{len:i-t+1,token:this.translateString(e.substring(a+1,i))}}for(var n=a;n=0?a.strip(e.substring(0,t)):a.strip(e)},this.getInt=function(e){var t=parseInt(e);if(isNaN(t))return{digits:0};var r=""+t;return{value:t,digits:e.indexOf(r)+r.length}},this.getFloat=function(e){var t=parseFloat(e);if(isNaN(t))return{digits:0};var r=""+t;return{value:t,digits:e.indexOf(r)+r.length}},this.getMeasurement=function(e){if(0===e.length)return{used:0};var t=1,r="";if("-"===e[0].token)e.shift(),r="-",t++;else if("number"!==e[0].type)return{used:0};if(r+=e.shift().token,0===e.length)return{used:1,value:parseInt(r)};var a=e.shift();if("."===a.token){if(t++,0===e.length)return{used:t,value:parseInt(r)};if("number"===e[0].type&&(r=r+"."+(a=e.shift()).token,t++,0===e.length))return{used:t,value:parseFloat(r)};a=e.shift()}switch(a.token){case"pt":case"px":return{used:t+1,value:parseFloat(r)};case"cm":return{used:t+1,value:parseFloat(r)/2.54*72};case"in":return{used:t+1,value:72*parseFloat(r)};default:return e.unshift(a),{used:t,value:parseFloat(r)}}};var d=function(e){return e=(e=e.replace(/\\n/g,"\n")).replace(/\\"/g,'"')};this.getBrackettedSubstring=function(e,t,r,a){for(var i=a||e[t],n=t+1,s=!1;ne.length-1&&(n=e.length-1),[n-t+1,d(e.substring(t+1,n)),!1])}};i.prototype.peekLine=function(){return this.lines[this.lineIndex]},i.prototype.nextLine=function(){if(this.lineIndex>0&&(this.multilineVars.iChar+=this.lines[this.lineIndex-1].length+1),this.lineIndex11&&(f%=12);var p="m"===t[0]?l[f]:c[f],m=p+t,g=n(m);g.length>0&&"flat"===g[0].acc&&(e.localTransposePreferFlats=!0);var v=m.charCodeAt(0)-h.charCodeAt(0);return e.localTranspose>0?v<0?v+=7:0===v&&("#"!==h[1]&&"b"!==m[1]||(v+=7)):e.localTranspose<0&&(v>0?v-=7:0===v&&("b"!==h[1]&&"#"!==m[1]||(v-=7))),e.localTranspose>0?e.localTransposeVerticalMovement=v+7*Math.floor(e.localTranspose/12):e.localTransposeVerticalMovement=v+7*Math.ceil(e.localTranspose/12),u?{accidentals:g,root:p[0],acc:p.length>1?p[1]:""}:{accidentals:[],root:r,acc:a}},s.chordName=function(e,t){return i(t,e.localTranspose,e.localTransposePreferFlats,e.freegchord)};var h=["c","d","e","f","g","a","b"],d={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},u={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"},f={"-2":"__","-1":"_",0:"=",1:"^",2:"^^"};s.note=function(e,t){if(e.localTranspose&&"perc"!==e.clef.type){var r=t.pitch;if(e.localTransposeVerticalMovement&&(t.pitch=t.pitch+e.localTransposeVerticalMovement,t.name)){var i=t.accidental?t.name.substring(1):t.name,n=t.accidental?t.name[0]:"",s=a.pitchIndex(i);t.name=n+a.noteName(s+e.localTransposeVerticalMovement)}if(t.accidental){var o=function(e,t,r,a,i){for(var n=h[(e+49)%7],s=0,o=0;o2&&(t++,p-="b"===l||"e"===l?1:2),[t,p]}(r,t.pitch,t.accidental,e.globalTransposeOrigKeySig,e.targetKey);t.pitch=o[0],t.accidental=u[o[1]],t.name&&(t.name=f[o[1]]+t.name.replace(/[_^=]/g,""))}}},e.exports=s},867:function(e){var t={},r=["C,,,","D,,,","E,,,","F,,,","G,,,","A,,,","B,,,","C,,","D,,","E,,","F,,","G,,","A,,","B,,","C,","D,","E,","F,","G,","A,","B,","C","D","E","F","G","A","B","c","d","e","f","g","a","b","c'","d'","e'","f'","g'","a'","b'","c''","d''","e''","f''","g''","a''","b''","c'''","d'''","e'''","f'''","g'''","a'''","b'''"];t.pitchIndex=function(e){return r.indexOf(e)},t.noteName=function(e){return r[e]},e.exports=t},4208:function(e){var t=["C","C♯","D","D♯","E","F","F♯","G","G♯","A","A♯","B"],r=["C","D♭","D","E♭","E","F","G♭","G","A♭","A","B♭","B"],a=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],i=["C","Db","D","Eb","E","F","Gb","G","Ab","A","Bb","B"];e.exports=function(e,n,s,o){if(!n||n%12==0)return e;for(;n<0;)n+=12;n>11&&(n%=12);var c=e.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!c)return e;var l,h=c[1],d=c[2],u=c[3],f=c[4];return(l=t.indexOf(h))<0&&(l=r.indexOf(h)),l<0&&(l=a.indexOf(h)),l<0&&(l=i.indexOf(h)),l<0||(l+=n,l%=12,e=s?o?i[l]:r[l]:o?a[l]:t[l],d&&(e+=d),u&&((l=t.indexOf(u))<0&&(l=r.indexOf(u)),l<0&&(l=a.indexOf(u)),l<0&&(l=i.indexOf(u)),e+="/",l>=0?(l+=n,l%=12,e+=s?o?i[l]:r[l]:o?a[l]:t[l]):e+=u),f&&(e+=f)),e}},575:function(e,t,r){var a=r(9708);function n(e){if(!e)return!1;if("string"==typeof e)return!1;for(var t=0;t0&&o[l].voice.push({el_type:"note",duration:d,rest:{type:"invisible"},startChar:g.startChar,endChar:g.endChar}),o[l].voice.push(g)),d=0):"note"===g.el_type?u?o[l].voice.push(g):(d+=g.duration,r[a]+=g.duration):"scale"!==g.el_type&&"stem"!==g.el_type&&"overlay"!==g.el_type&&"style"!==g.el_type&&"transpose"!==g.el_type&&"color"!==g.el_type||o[l].voice.push(g);else{t=!0,u=!0,p=m,o[l].hasOverlay=!0,0===f&&(f=r[a]);for(var v=0;v=e.lines[v].staff[0].voices.length&&e.lines[v].staff[0].voices.push([{el_type:"note",duration:r[v],rest:{type:"invisible"},startChar:g.startChar,endChar:g.endChar}])}}o[l].hasOverlay&&0===o[l].snip.length&&o[l].snip.push({start:p,len:h.length-p})}for(l=0;l=0;y--){var x=b.snip[y];s.voices[l].splice(x.start,x.len),s.voices[l].splice(x.start+1,0,{el_type:"stem",direction:"auto"});var k=c(s.voices[l],x.start);s.voices[l].splice(k,0,{el_type:"stem",direction:"up"})}for(y=0;y0&&"bar"!==e[r].el_type;r--);return r}function l(e,t,r,a){var i;a[t]||(a[t]=[]),a[t][r]||(a[t][r]=[]);for(var n=function(e,n,s){if(void 0===a[t][r][s]){for(i=0;i=t&&ot;){if(e[t].staff)return e[t];t++}return null}function u(e){e.potentialStartBeam&&e.potentialEndBeam&&(e.potentialStartBeam.startBeam=!0,e.potentialEndBeam.endBeam=!0),delete e.potentialStartBeam,delete e.potentialEndBeam}function f(e){for(var t=0;t0){if(void 0!==a.voices[0]){for(var i=!1,n=0;n0&&x[x.length-1].barNumber){var w=d(e.lines,b);w&&(w.staff[0].barNumber=x[x.length-1].barNumber),delete x[x.length-1].barNumber}}}return delete e.staffNum,delete e.voiceNum,delete e.lineNum,delete e.potentialStartBeam,delete e.potentialEndBeam,delete e.vskipPending,i},this.addTieToLastNote=function(t){var r=function(e){if(!e.lines[e.lineNum])return null;if(!e.lines[e.lineNum].staff)return null;if(!e.lines[e.lineNum].staff[e.staffNum])return null;var t=e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum];if(!t)return null;for(var r=t.length-1;r>=0;r--){var a=t[r];if("note"===a.el_type)return a}return null}(e);return!!(r&&r.pitches&&r.pitches.length>0)&&(r.pitches[0].startTie={},t&&(r.pitches[0].startTie.style="dotted"),!0)},this.appendElement=function(a,n,s,o){var c;return o.el_type=a,null!==n&&(o.startChar=n),null!==s&&(o.endChar=s),"note"===a?((c=o).duration?c.duration:0)>=.25||o.force_end_beam_last&&void 0!==e.potentialStartBeam?g(e):o.end_beam&&void 0!==e.potentialStartBeam?void 0===o.rest?function(e,t){t.potentialStartBeam.startBeam=!0,e.endBeam=!0,delete t.potentialStartBeam,delete t.potentialEndBeam}(o,e):g(e):void 0===o.rest&&(void 0===e.potentialStartBeam?o.end_beam||(e.potentialStartBeam=o,delete e.potentialEndBeam):e.potentialEndBeam=o):g(e),delete o.end_beam,delete o.force_end_beam_last,o.rest&&"invisible"===o.rest.type&&delete o.decoration,!(e.lines.length<=e.lineNum||e.lines[e.lineNum].staff.length<=e.staffNum||(function(e,t,r,a,i){var n=t.lines[t.lineNum].staff[t.staffNum];if(void 0!==r.pitches){var s=n.workingClef.verticalPos;r.pitches.forEach((function(e){e.verticalPos=e.pitch-s}))}if(void 0!==r.gracenotes){var o=n.workingClef.verticalPos;r.gracenotes.forEach((function(e){e.verticalPos=e.pitch-o}))}n.voices.length<=t.voiceNum&&(a[i]||(a[i]={}),y(e,t,a[i])),n.voices[t.voiceNum].push(r)}(t,e,o,r,i),0))},this.appendStartingElement=function(t,r,a,i){var n;u(e),"key"===t&&(n=i.impliedNaturals,delete i.impliedNaturals,delete i.explicitAccidentals);var s=Object.assign({},i);if(e.lines[e.lineNum]){var o=e.lines[e.lineNum].staff;if(o){o.length<=e.staffNum&&(o[e.staffNum]={},o[e.staffNum].clef=Object.assign({},o[0].clef),o[e.staffNum].key=Object.assign({},o[0].key),o[0].meter&&(o[e.staffNum].meter=Object.assign({},o[0].meter)),o[e.staffNum].workingClef=Object.assign({},o[0].workingClef),o[e.staffNum].voices=[[]]),"clef"===t&&(o[e.staffNum].workingClef=s);for(var c=o[e.staffNum].voices[e.voiceNum],l=0;l0){var r=t[t.length-1];if("bar"!==r.el_type)return e-1;void 0!==r.barNumber&&(r.barNumber=e)}return e},this.hasBeginMusic=function(){for(var t=0;t=0;r--)if(void 0!==e.lines[r].staff)return!1;return!0},this.getCurrentVoice=function(){var t=e.lines[e.lineNum];if(!t)return null;var r=t.staff[e.staffNum];return r&&void 0!==r.voices[e.voiceNum]?r.voices[e.voiceNum]:null},this.setCurrentVoice=function(t,r,a){e.staffNum=t,e.voiceNum=r,i=a;for(var n=0;n0?(r.push(n-1),a.push(Math.round(i-s)),i=s):ns&&us?(l.push(u-1),c++,o=Math.max(o,s),s=Math.abs(a-t[c]),n.push(i-f),i=f):s=p}n.push(i)}function i(e,t,r,i){for(var n=Math.ceil(e.total/t),s=Math.floor(e.total/n),o=[],c=0;ct&&(s=!0),o%r==r-1&&(o!==e.length-1&&a.push(o),i.push(Math.round(n)),n=0);return{failed:s,totals:i,lineBreaks:a}}e.exports={wrapLines:function(e,t,r){if(t&&0!==e.lines.length){var a=e.deline({lineBreaks:!1}),i=function(e,t){for(var r=[],a=0,i=0,n=0,s=0;s0&&(a[c.line].staff[c.staff].barNumber=s);for(var h=Object.keys(l),d=0;d=0;p--)if("key"===f[p].el_type){i[c.staff]={root:f[p].root,acc:f[p].acc,mode:f[p].mode,accidentals:f[p].accidentals.filter((function(e){return"natural"!==e.acc}))};break}for(p=f.length-1;p>=0;p--)if("stem"===f[p].el_type){n[10*c.staff+c.voice]={direction:f[p].direction};break}if(void 0!==r&&0===c.staff&&0===c.voice)for(p=0;p0&&p.measureWidths.length<25&&(k=i(p,g,0,b),b.attempts.push({type:"Optimize",failed:k.failed,reason:k.reason,lineBreaks:k.lineBreaks,totals:k.totals}),k.failed||(y=k.lineBreaks))}d.push(y),u.push(b)}var w=function(e,t,r){var a={lineBreaks:e,staffwidth:t};for(var i in r)r.hasOwnProperty(i)&&"wrap"!==i&&"staffwidth"!==i&&(a[i]=r[i]);return{revisedParams:a}}(d,a.staffwidth,a);return w.explanation=u,w.reParse=!0,w}}},9716:function(e,t,r){var a,i=r(7207),n=r(5058);!function(){"use strict";var e,t,r,s,o,c,l,h,d,u,f,p,m,g,v,b,y,x,k=1,w={num:4,den:4},T=128,C=!0,S=105,E=95,M=85,N=.25,_=0,A={},B=0;function P(e){for(var t=d.length-1;t>=0;t--)if("program"===d[t].cmd)return void(d[t].channel=e)}function L(e){return e/1e6}function z(e){return Math.round(e*k*1e6)/1e6}function O(e){switch(parseInt(e.den,10)){case 2:return.5;case 4:return.25;case 8:return e.num%3==0?.375:.125;case 16:return.125}return.25}function H(e,t){var r=t.start,a=t.duration,i=z(1/32);switch(e){case"trill":for(var n=1;a>0;)d.push({cmd:"note",pitch:t.pitch+n,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),n=1===n?0:1,a-=i,r+=i;break;case"mordent":d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),a-=i,r+=i,d.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),a-=i,r+=i,d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:a,gap:0,instrument:h});break;case"lowermordent":d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),a-=i,r+=i,d.push({cmd:"note",pitch:t.pitch-1,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),a-=i,r+=i,d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:a,gap:0,instrument:h});break;case"turn":i=t.duration/5,d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),d.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:r+i,duration:i,gap:0,instrument:h,style:"decoration"}),d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r+2*i,duration:i,gap:0,instrument:h,style:"decoration"}),d.push({cmd:"note",pitch:t.pitch+1,volume:t.volume,start:r+3*i,duration:i,gap:0,instrument:h,style:"decoration"}),d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r+4*i,duration:i,gap:0,instrument:h});break;case"roll":for(;a>0;)d.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:i,gap:0,instrument:h,style:"decoration"}),a-=2*i,r+=2*i}}function D(e,t){var r,a=function(e,t){if(t)return 0;var r;if(null!=g)r=g,g=void 0;else if(C)if(B>e)r=M;else{var a=(e-m)/O(w);r=0===a?S:parseInt(a,10)===a?E:M}else r=E;return v&&(r+=v,v=void 0),r<0&&(r=0),r>127&&(r=127),t?0:r}(L(e.time),t);if(p.processChord(e),e.gracenotes&&e.pitches&&e.pitches.length>0&&e.pitches[0]&&(r=function(e,t){for(var r,a=0,i=[],s=0;s0?I.endType="tenuto":u&&(I.endType=u),I.endType){case"tenuto":I.gap=-.001;break;case"staccato":var V=.4*I.duration;I.gap=o/60*V;break;default:I.gap=0}d.push(I)}}}d.length}var j=function(e){return e.pitches&&e.pitches.length>0&&e.pitches[0]?e.pitches[0].duration:e.elem?e.elem.duration:e.duration}(e);f=Math.max(f,L(e.time)+z(j))}a=function(a,n,T,z){n||(n={}),z||(z={}),e=[],t=[0,0,0,0,0,0,0],s=[],o=n.qpm,c=void 0,k=1,l=void 0,h=void 0,d=void 0,u=void 0,f=0,x=T,w={num:4,den:4},C=!0,S=105,E=95,M=85,N=.25,g=void 0,v=void 0,_=0,b=[],A={},y=1,a.length>0&&a[0].length>0&&(B=a[0][0].pickupLength),void 0===n.bassprog||z.bassprog||(z.bassprog=[n.bassprog]),void 0===n.bassvol||z.bassvol||(z.bassvol=[n.bassvol]),void 0===n.chordprog||z.chordprog||(z.chordprog=[n.chordprog]),void 0===n.chordvol||z.chordvol||(z.chordvol=[n.chordvol]),void 0===n.gchord||z.gchord||(z.gchord=[n.gchord]),p=new i(a.length,n.chordsOff,z,w),function(e,t){for(var r=0;r=0)&&(F=!0);for(var Y=0;Y0&&"program"===d[d.length-1].cmd)d[d.length-1].instrument=j.program;else{var X;for(X=d.length-1;X>=0&&"program"!==d[X].cmd;X--);(X<0||d[X].instrument!==j.program)&&d.push({cmd:"program",channel:0,instrument:j.program})}break;case"channel":P(j.channel);break;case"drum":A=G(j.params),W();break;case"gchordOn":p.gChordOn(j);break;case"beat":S=j.beats[0],E=j.beats[1],M=j.beats[2];break;case"vol":g=j.volume;break;case"volinc":v=j.volume;break;case"beataccents":C=j.value;break;case"gchord":case"bassprog":case"chordprog":case"bassvol":case"chordvol":case"gchordbars":p.paramChange(j);break;default:console.log("MIDI creation. Unknown el_type: "+j.el_type+"\n")}}void 0===d[0].instrument&&(d[0].instrument=l||0),u&&d.unshift(u),s.push(d),p.finish(),b.length}return n.detuneOctave&&function(e,t){for(var r={},a=0;a1){var c=(o=o.sort((function(e,t){return e.pitch-t.pitch})))[o.length-1],l=c.pitch%12,h=!1;for(i=0;!h&&i0&&s.push(b),{tempo:o,instrument:l,tracks:s,totalDuration:f}};var I=[0,2,4,5,7,9,11];function F(a){if(void 0!==a.midipitch)return a.midipitch;var i=a.pitch;if(a.accidental)switch(a.accidental){case"sharp":e[i]=1;break;case"flat":e[i]=-1;break;case"natural":e[i]=0;break;case"dblsharp":e[i]=2;break;case"dblflat":e[i]=-2;break;case"quartersharp":e[i]=.25;break;case"quarterflat":e[i]=-.25}var n=12*function(e){return Math.floor(e/7)}(i)+I[j(i)]+60;return void 0!==e[i]?n+=e[i]:n+=t[j(i)],n+=r}function V(e){var t=[0,0,0,0,0,0,0];if(!e.accidentals)return t;for(var r=0;r=0?(e.pitch=Math.round(e.pitch),e.cents=-50):t.indexOf(".25")>=0&&(e.pitch=Math.round(e.pitch),e.cents=50),e}function j(e){return(e%=7)<0&&(e+=7),e}function G(e){if(0===e.pattern.length||!1===e.on)return{on:!1};for(var t=e.pattern[0],r=[],a="",i=0,n=0;n=0)return a;return a}function n(e,t,r){for(var a=Math.min(e.length,t+3),i=t;i=0)return e[i].decoration[n];return null}function s(e){for(var t=0;t=0&&"bar"!==r[a].el_type;)r[a].noChordVoice=!0,a--}function o(e,t){if(e&&!(e.length<=t)&&e[t].title)return e[t].title.join(" ")}function c(e,t){var r=1/4;e.duration&&(r=e.duration[0]);var a=60;return e.bpm&&(a=e.bpm),r*a/t}function l(t){var r;switch(t.type){case"common_time":r={el_type:"meter",num:4,den:4};break;case"cut_time":r={el_type:"meter",num:2,den:2};break;case"specified":r={el_type:"meter",num:t.value[0].num,den:t.value[0].den};break;default:r={el_type:"meter"}}return e=r.num/r.den,r}function h(e){for(var t=[],r=0;r=0;r--)if(e[r].el_type===t.el_type)return void(JSON.stringify(e[r])!==JSON.stringify(t)&&e.push(t));e.push(t)}a=function(a,h){var p,m=(h=h||{}).program||0,g=h.midiTranspose||0;a.visualTranspose&&(g-=a.visualTranspose);var v=h.channel||0,b=!1,y=h.drum||"",x=h.drumBars||1,k=h.drumIntro||0,w=""!==y,T=!!h.drumOff,C=[];m=parseInt(m,10),g=parseInt(g,10),10===(v=parseInt(v,10))&&(m=t),y=y.split(" "),x=parseInt(x,10),k=parseInt(k,10);var S=a.formatting.bagpipes;S&&(m=71);var E=[];if(a.formatting.midi){var M=a.formatting.midi;M.program&&M.program.length>0&&(m=M.program[0],M.program.length>1&&(m=M.program[1],v=M.program[0]),b=!0),M.transpose&&(g=M.transpose[0]),M.channel&&(v=M.channel[0],b=!0),M.drum&&(y=M.drum),M.drumbars&&(x=M.drumbars[0]),M.drumon&&(w=!0),10===v&&(m=t),M.beat&&E.push({el_type:"beat",beats:M.beat}),M.nobeataccents&&E.push({el_type:"beataccents",value:!1})}p=h.qpm?parseInt(h.qpm,10):a.metaText.tempo?c(a.metaText.tempo,a.getBeatLength()):h.defaultQpm?h.defaultQpm:180;var N=[];S&&N.push({el_type:"bagpipes"}),N.push({el_type:"instrument",program:m}),v&&N.push({el_type:"channel",channel:v}),g&&N.push({el_type:"transpose",transpose:g}),N.push({el_type:"tempo",qpm:p});for(var _=0;_=0?t="pppp":e.decoration.indexOf("ppp")>=0?t="ppp":e.decoration.indexOf("pp")>=0?t="pp":e.decoration.indexOf("p")>=0?t="p":e.decoration.indexOf("mp")>=0?t="mp":e.decoration.indexOf("mf")>=0?t="mf":e.decoration.indexOf("f")>=0?t="f":e.decoration.indexOf("ff")>=0?t="ff":e.decoration.indexOf("fff")>=0?t="fff":e.decoration.indexOf("ffff")>=0&&(t="ffff"),t&&(A=a[t].slice(0),B[W].push({el_type:"beat",beats:A.slice(0)}),P[R]=!1,L[R]=!1),e.decoration.indexOf("crescendo(")>=0){var i=r(U,te,"crescendo)"),s=Math.min(127,A[0]+50),o=n(U,te+i+1,Object.keys(a));o&&(s=a[o][0]),P[R]=i>0&&Math.floor((s-A[0])/i),L[R]=!1}else if(e.decoration.indexOf("crescendo)")>=0)P[R]=!1;else if(e.decoration.indexOf("diminuendo(")>=0){var c=r(U,te,"diminuendo)"),l=Math.max(15,A[0]-50),h=n(U,te+c+1,Object.keys(a));h&&(l=a[h][0]),P[R]=!1,L[R]=c>0&&Math.floor((l-A[0])/c)}else e.decoration.indexOf("diminuendo)")>=0&&(L[R]=!1)},G=Y.staff,W=0,q=0;q=0?B[W].push({el_type:"transpose",transpose:-12}):X.clef.type.indexOf("+8")>=0&&B[W].push({el_type:"transpose",transpose:12})),a.formatting.midi&&a.formatting.midi.drumoff&&(B[W].push({el_type:"bar"}),B[W].push({el_type:"drum",params:{pattern:"",on:!1}}));var Q=0,J=0,Z=0,ee=0;A=[105,95,85,1];for(var te=0;te=0?B[W].push({el_type:"transpose",transpose:-12}):re.type.indexOf("+8")>=0&&B[W].push({el_type:"transpose",transpose:12}));break;case"tempo":p=c(re,a.getBeatLength()),B[W].push({el_type:"tempo",qpm:p,timing:z[W]}),O[""+z[W]]={el_type:"tempo",qpm:p,timing:z[W]};break;case"bar":Q>0&&B[W].push({el_type:"bar"}),j(re),Q=0;var se="bar_right_repeat"===re.type||"bar_dbl_repeat"===re.type,oe="1"===re.startEnding,ce="bar_left_repeat"===re.type||"bar_dbl_repeat"===re.type||"bar_right_repeat"===re.type;if(se){var le=H[W];le||(le=0);var he=D[W];he||(he=B[W].length);for(var de=le;de=0&&n!==t[""+o.timing].qpm&&(n=t[""+o.timing].qpm,"tempo"===o.el_type?(o.qpm=t[""+o.timing].qpm,s++):(e[a].splice(s,0,{el_type:"tempo",qpm:t[""+o.timing].qpm,timing:o.timing}),s+=2))}}(B,O),k)for(var pe=a.getPickupLength(),me=0;mege;)ge++;if(B[me].length>ge){for(ne=0;ne0&&B[0].length>0&&(B[0][0].pickupLength=a.getPickupLength()),B}}(),e.exports=a},7207:function(e){var t=function(e,t,r,a){this.chordTrack=[],this.chordTrackFinished=!1,this.chordChannel=e,this.currentChords=[],this.lastChord,this.chordLastBar,this.chordsOff=!!t,this.gChordTacet=this.chordsOff,this.hasRhythmHead=!1,this.transpose=0,this.lastBarTime=0,this.meter=a,this.tempoChangeFactor=1,this.bassInstrument=r.bassprog&&r.bassprog.length>=1?r.bassprog[0]:0,this.chordInstrument=r.chordprog&&r.chordprog.length>=1?r.chordprog[0]:0,this.bassOctaveShift=r.bassprog&&2===r.bassprog.length?r.bassprog[1]:0,this.chordOctaveShift=r.chordprog&&2===r.chordprog.length?r.chordprog[1]:0,this.boomVolume=r.bassvol&&1===r.bassvol.length?r.bassvol[0]:64,this.chickVolume=r.chordvol&&1===r.chordvol.length?r.chordvol[0]:48,r.gchord&&r.gchord.length>0?this.overridePattern=i(r.gchord[0]):this.overridePattern=void 0};function r(e,t,r,i){var n=[];if(!e)return n;t.indexOf("boom")>=0?n.push(r?e.boom:e.boom2):i&&n.push(e.boom);var s=e.chick.length;if(t.indexOf("chick")>=0)for(var o=0;o0&&!this.chordTrackFinished&&(this.resolveChords(this.lastBarTime,n(e.time)),this.currentChords=[]),this.chordLastBar=this.lastChord},t.prototype.gChordOn=function(e){this.chordsOff||(this.gChordTacet=e.tacet)},t.prototype.paramChange=function(e){switch(e.el_type){case"gchord":e.param&&e.param.length>0?this.overridePattern=i(e.param):this.overridePattern=void 0;break;case"bassprog":this.bassInstrument=e.value,null!=e.octaveShift&&null!=e.octaveShift?this.bassOctaveShift=e.octaveShift:this.bassOctaveShift=0;break;case"chordprog":this.chordInstrument=e.value,null!=e.octaveShift&&null!=e.octaveShift?this.chordOctaveShift=e.octaveShift:this.chordOctaveShift=0;break;case"bassvol":this.boomVolume=e.param;break;case"chordvol":this.chickVolume=e.param;break;default:console.log("unhandled midi param",e)}},t.prototype.finish=function(){this.chordTrackEmpty()||(this.chordTrackFinished=!0)},t.prototype.addTrack=function(e){this.chordTrackEmpty()||e.push(this.chordTrack)},t.prototype.findChord=function(e){if(this.gChordTacet)return"break";if(this.chordTrackFinished||!e.chord||0===e.chord.length)return null;for(var t=0;t=0)return"break"}return null},t.prototype.interpretChord=function(e){if(0!==e.length){if("break"===e)return{chick:[]};var t=e.substring(0,1);if("("===t){if(0===(e=e.substring(1,e.length-2)).length)return;t=e.substring(0,1)}var r=this.basses[t];if(r){for(var a=this.transpose;a<-8;)a+=12;for(;a>8;)a-=12;(r+=a)<33?r+=12:r>44&&(r-=12);var i,n=r,s=(r+=12*this.bassOctaveShift)-5;1===e.length&&(i=this.chordNotes(r,""));var o=e.substring(1),c=o.substring(0,1);"b"===c||"♭"===c?(n--,r--,s--,o=o.substring(1)):"#"!==c&&"♯"!==c||(n++,r++,s++,o=o.substring(1));var l=o.split("/");if((i=this.chordNotes(n,l[0])).length>=3&&(s=s+(i[2]-i[0])-7),2===l.length&&this.basses[l[1].substring(0,1)]){var h={"#":1,"♯":1,b:-1,"♭":-1}[l[1].substring(1)]||0;r=this.basses[l[1].substring(0,1)]+h+a,s=r+=12*this.bassOctaveShift}return{boom:r,boom2:s,chick:i}}}},t.prototype.chordNotes=function(e,t){var r=this.chordIntervals[t];r||(r="ma"===t.slice(0,2).toLowerCase()||"M"===t[0]?this.chordIntervals.M:"m"===t[0]||"-"===t[0]?this.chordIntervals.m:this.chordIntervals.M),e+=12,e+=12*this.chordOctaveShift;for(var a=[],i=0;i0&&c[d-1]&&c[d]&&c[d-1].boom!==c[d].boom&&(u=!0);var p=l[d],m=p.indexOf("boom")>=0,g=!m&&0!==d&&l[0].indexOf("boom")>=0&&(!c[d-1]||c[d-1].boom!==c[d].boom),v=r(c[d],p,u,g);m&&(u=!1);for(var b=0;b4)for(i=i.toLowerCase(),t-=5;t>0;)i+="'",t--;else for(;t<4;)i+=",",t++;return i}}},5058:function(e){var t={f0:"_C",n0:"=C",s0:"^C",x0:"C",f1:"_D",n1:"=D",s1:"^D",x1:"D",f2:"_E",n2:"=E",s2:"^E",x2:"E",f3:"_F",n3:"=F",s3:"^F",x3:"F",f4:"_G",n4:"=G",s4:"^G",x4:"G",f5:"_A",n5:"=A",s5:"^A",x5:"A",f6:"_B",n6:"=B",s6:"^B",x6:"B",f7:"_c",n7:"=c",s7:"^c",x7:"c",f8:"_d",n8:"=d",s8:"^d",x8:"d",f9:"_e",n9:"=e",s9:"^e",x9:"e",f10:"_f",n10:"=f",s10:"^f",x10:"f",f11:"_g",n11:"=g",s11:"^g",x11:"g",f12:"_a",n12:"=a",s12:"^a",x12:"a",f13:"_b",n13:"=b",s13:"^b",x13:"b",f14:"_c'",n14:"=c'",s14:"^c'",x14:"c'",f15:"_d'",n15:"=d'",s15:"^d'",x15:"d'",f16:"_e'",n16:"=e'",s16:"^e'",x16:"e'"};e.exports=function(e){var r=(e.accidental?e.accidental[0]:"x")+e.verticalPos;return t[r]}},2426:function(e,t,r){var a=r(6074),i={violin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},fiddle:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},mandolin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},guitar:{name:"StringTab",defaultTuning:["E,","A,","D","G","B","e"],isTabBig:!0,tabSymbolOffset:0},fiveString:{name:"StringTab",defaultTuning:["C,","G,","D","A","e"],isTabBig:!1,tabSymbolOffset:-.95}},n={inited:!1,plugins:{},register:function(e){var t=e.name,r=e.tablature;this.plugins[t]=r},setError:function(e,t){e.warnings?e.warning.push(t):e.warnings=[t]},preparePlugins:function(e,t,r){this.inited||(this.register(new a),this.inited=!0);var n=null;if(r.tablature){var s=r.tablature;n=[];for(var o=0;o0)for(var i=r.length,n=0;n1&&r&&r.length>0)for(i=r.length,n=0;n=0;a--)if(t.pitch+t.pitchAltered>=e.stringPitches[a]){var i=t.pitch+t.pitchAltered-e.stringPitches[a];return"^"===t.quarter?i-=.5:"v"===t.quarter&&(i+=.5),{num:Math.round(i),str:e.stringPitches.length-1-a,note:t}}return{num:"?",str:e.stringPitches.length-1,note:t}}function l(e,t){var r={num:"?",str:0,note:t};e.push(r),e.error=t.emit()+": unexpected note for instrument"}function h(e){var t=e.tuning,r=e.capo,s=e.params.highestNote;this.linePitch=e.linePitch,this.highestNote="a'",s&&(this.highestNote=s),this.measureAccidentals={},this.capo=0,r&&(this.capo=parseInt(r,10)),this.transpose=e.transpose?e.transpose:0,this.tuning=t,this.stringPitches=[];for(var o=0;o0&&(this.capoTuning=function(e){var t=null,r=e.tuning;if(e.capo>0){t=[];for(var a=0;a0&&(r=e.capoTuning);for(var a=r.length-1,i=0;i1?(o=s(this,e)).error&&(n=o.error):e[0].endTie||((r=new i(e[0].name,this.clefTranspose)).checkKeyAccidentals(this.accidentals,this.measureAccidentals),(a=c(this,r))?o.push(a):(l(o,r),n=o.error))),n)return o;var h=null;if(t){h=[];for(var d=0;d0&&(r+=" capo:"+e.capo),t=t.replace("%T",r)),t}return""},h.prototype.suppress=function(e){return!!e.params.suppress},e.exports=h},8918:function(e){function t(e,t){this.numLines=e,this.lineSpace=t,this.verticalSize=this.numLines*this.lineSpace,this.bar={pitch:3,pitch2:t*e,height:5}}t.prototype.bypass=function(e){var t=e.staffGroup.voices;return!!(t.length>0&&t[0].isPercussion)},t.prototype.setRelative=function(e,t,r){switch(e.type){case"bar":t.pitch=this.bar.pitch,t.pitch2=this.bar.pitch2,t.height=this.height;break;case"symbol":var a=this.bar.pitch2/2;if("dots.dot"==e.name)return r?(t.pitch=a,!1):(t.pitch=a+this.lineSpace,!0)}return r},e.exports=t},6776:function(e,t,r){var a=r(2842),i=a.noteToMidi,n=a.midiToNote;function s(e,t){var r=i(e);t&&(r+=t);var a,s=n(r),o=!1,c=!1,l=null,h=null,d=!1,u=0;e.startsWith("_")?(o=!0,u=-1,"/"==e[1]?(o=!1,h="v",u=0):"_"==e[1]&&(d=!0,u-=1)):e.startsWith("^")?(c=!0,u=1,"/"==e[1]?(c=!1,h="^",u=0):"^"==e[1]&&(d=!0,u+=1)):e.startsWith("=")&&(l=!0,u=0),((a=o||c||null!=h)||l)&&(s=null!=h||d?e.slice(2):e.slice(1));var f=(s.match(/,/g)||[]).length,p=(s.match(/'/g)||[]).length;this.pitch=r,this.pitchAltered=0,this.name=s,this.acc=u,this.isSharp=c,this.isKeySharp=!1,this.isDouble=d,this.isAltered=a,this.isFlat=o,this.isKeyFlat=!1,this.natural=l,this.quarter=h,this.isLower=this.name==this.name.toLowerCase(),this.name=this.name[0].toUpperCase(),this.hasComma=f,this.isQuoted=p}s.prototype.sameNoteAs=function(e){return e.pitch===this.pitch},s.prototype.isLowerThan=function(e){return e.pitch>this.pitch},s.prototype.checkKeyAccidentals=function(e,t){if(!this.isAltered&&!this.natural)if(t[this.name.toUpperCase()])switch(t[this.name.toUpperCase()]){case"__":return this.acc=-2,void(this.pitchAltered=-2);case"_":return this.acc=-1,void(this.pitchAltered=-1);case"=":return this.acc=0,void(this.pitchAltered=0);case"^":return this.acc=1,void(this.pitchAltered=1);case"^^":return this.acc=2,void(this.pitchAltered=2)}else if(e)for(var r=this.name,a=0;a=0){if(r===t)return e.extra[a].x+e.extra[a].w/2;r++}return-1}function f(e){if(e.abcelem){var t=e.abcelem;if(t.rest)return t.gracenotes}return null}function p(e,t,r){var a=e.semantics.notesToNumber(t,r);if(a.error)return e.setError(a.error),a;if(a.graces&&a.notes){var i=a.notes.length-1;a.notes[i].graces=a.graces}return a}function m(e,t,r,a,i){for(var n=0;n=0&&(e.semantics.clefTranspose=-12),k.abcelem.type.indexOf("+8")>=0&&(e.semantics.clefTranspose=12)),k.type){case"staff-extra key-signature":this.accidentals=k.abcelem.accidentals,e.semantics.accidentals=this.accidentals;break;case"bar":e.semantics.measureAccidentals={};var C=!1;x===g.children.length-1&&(C=!0);var S=o(k,e);if(S.abcelem.barNumber){delete S.abcelem.barNumber;for(var E=0;E0&&(y.abselem=N,r.push(y),v.children.push(N))}}},e.exports=h},4785:function(e,t,r){var a=r(3197),i=r(4240),n=r(4331);function s(e,t,r){var a=e.semantics,i=t.controller.getTextSize,n=a.tabInfos(e),s=!0;if(a.suppress(e)&&(s=!1),s){var o=i.calc(n,"tablabelfont","text instrumentname");return r.tabNameInfos={textSize:{height:o.height,width:o.width},name:n},o.height}return 0}function o(e,t){return!(!t[e].isTabStaff||e!==t.length-1&&t[e+1].isTabStaff)}function c(e,t){for(var r=t;r>=0;r--)if(!e[r].isTabStaff)return r;return-1}function l(e,t){return"clef"===e[t].children[0].abcelem.el_type?null:0==t?"none":e[t-1].children[0]}e.exports=function(e,t,r,h){var d=new i,u={clef:{type:"TAB"}},f=e.linePitch*e.nbLines,p=r.staff;if(p){var m=p[0];if(m&&m.clef&&0==m.clef.stafflines)return void e.setError("No tablatures when stafflines=0");p.splice(p.length,0,u)}var g=r.staffGroup,v=g.voices,b=function(e){for(var t=0,r=0;rt&&(t=a.specialY.lyricHeightBelow)}return t}(v[0]),y=h,x=g.staffs[y],k=f+3-x.bottom-b;x.isTabStaff&&(k=x.top);var w={bottom:-1,isTabStaff:!0,specialY:{tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0},lines:e.nbLines,linePitch:e.linePitch,dy:.15,top:k},T=function(e,t){for(var r=0,a=0,i=0;;){if(!t[r])return-1;if(t[r].isTabStaff||(i=t[r].voices.length),t[r].isTabStaff){if(a++,o(r,t)&&a=e){if(r+1==t.length)return r+1;if(!t[r+1].isTabStaff)return r+1}if(++r>t.length)return-1}}(h,g.staffs);if(-1!==T){w.parentIndex=T-1,g.staffs.splice(T,0,w),g.height+=f+3;var C=function(e,t){for(var r=t;r>=0;r--)if(!e[r].isTabStaff)return e[r];return null}(g.staffs,T),S=1;(function(e,t){return 1===function(e){for(var t=0,r=0;r1})(g.staffs,C)&&(S=C.voices.length),u.voices=[];for(var E=0;E0&&(M.duplicate=!0);var N=s(e,t,M)/n.STEP;N=Math.max(N,1),g.staffs[h].top+=1,g.height+=N,M.staff=w;var _=v.length;v.splice(v.length,0,M);var A=l(v,E+h);u.voices[E]=[],d.build(e,v,u.voices[E],E,h,A,_)}!function(e){for(var t=0;t0&&(n[0].invisible=!0);break;case"meter":n[0]=l(i,this.tuneNumber),this.startlimitelem=n[0],r.duplicate&&n.length>0&&(n[0].invisible=!0);break;case"clef":if(n[0]=s(i,this.tuneNumber),!n[0])return null;r.duplicate&&n.length>0&&(n[0].invisible=!0);break;case"key":var h=o(i,this.tuneNumber);h&&(n[0]=h,this.startlimitelem=n[0]),r.duplicate&&n.length>0&&(n[0].invisible=!0);break;case"stem":this.stemdir="auto"===i.direction?void 0:i.direction;break;case"part":var d=new a(i,0,0,"part",this.tuneNumber),u=this.getTextSize.calc(i.title,"partsfont","part");d.addFixedX(new f(i.title,0,0,void 0,{type:"part",height:u.height/p.STEP})),n[0]=d;break;case"tempo":var m=new a(i,0,0,"tempo",this.tuneNumber);m.addFixedX(new g(i,this.tuneNumber,c)),n[0]=m;break;case"style":"normal"===i.head?delete this.style:this.style=i.head;break;case"hint":C=!0,this.saveState();break;case"midi":break;case"scale":this.voiceScale=i.size;break;case"color":this.voiceColor=i.color,r.color=this.voiceColor;break;default:var v=new a(i,0,0,"unsupported",this.tuneNumber);v.addFixed(new f("element type "+i.el_type,0,0,void 0,{type:"debug"})),n[0]=v}return n},E.prototype.createBeam=function(e,t,r){var a=[],n=new i(this.stemHeight*this.voiceScale,this.stemdir,this.flatBeams,r[0]);C&&n.setHint();for(var s=0;se.pitches[r+1].pitch){t=!1;var a=e.pitches[r];e.pitches[r]=e.pitches[r+1],e.pitches[r+1]=a}}while(!t)},A=function(e,t,r,a,i,n,s,o,c){for(var l=r;l>11;l--)l%2!=0||a||e.addFixed(new f(null,o,(i+4)*c,l,{type:"ledger"}));for(l=t;l<1;l++)l%2!=0||a||e.addFixed(new f(null,o,(i+4)*c,l,{type:"ledger"}));for(l=0;l1&&(p=new i(n,"grace",s),C&&p.setHint(),p.mainNote=r);var m=[];for(d=e.gracenotes.length-1;d>=0;d--)o+=10,m[d]=o,e.gracenotes[d].accidental&&(o+=7);for(d=0;d=6?"down":"up";for(a&&(E=a),(i=t.style?t.style:i)&&"normal"!==i||(i="note"),(m=n?S[i].nostem:S[i][-s])||console.log("noteSymbol:",i,s,n),g="down"===E?t.pitches.length-2:1;"down"===E?g>=0:g11||N.verticalPos<1)&&x.push(N.verticalPos-N.verticalPos%2),"down"===E?b=u.getSymbolWidth(m)+2:v=u.getSymbolWidth(m)+2)}var A=t.pitches.length;for(g=0;g0&&(h.bottom=h.bottom-1),e.addHead(h)),b+=H.accidentalshiftx,y=Math.max(y,H.dotshiftx)}if(O){var D=Math.round(70*this.voiceScale)/10,I="down"===E?t.minpitch-D:t.minpitch+1/3;I>6&&!a&&(I=6);var F="down"===E?t.maxpitch-1/3:t.maxpitch+D;F<6&&!a&&(F=6);var V="down"===E||0===e.heads.length?0:e.heads[0].w,Y="down"===E?1:-1;h&&"noteheads.slash.quarter"===h.c&&("down"===E?F-=1:I+=1),h&&"noteheads.triangle.quarter"===h.c&&("down"===E?F-=.7:I-=1.2),e.addRight(new f(null,V,0,I,{type:"stem",pitch2:F,linewidth:Y,bottom:I-1})),d=Math.min(I,F)}return{noteHead:h,roomTaken:b,roomTakenRight:y,min:d,additionalLedgers:x,dir:E,symbolWidth:C}},E.prototype.addLyric=function(e,t){var r="";t.lyric.forEach((function(e){var t=" "===e.divider?"":e.divider;r+=e.syllable+t+"\n"}));var a=this.getTextSize.calc(r,"vocalfont","lyric"),i=t.positioning?t.positioning.vocalPosition:"below";e.addCentered(new f(r,0,a.width,void 0,{type:"lyric",position:i,height:a.height/p.STEP,dim:this.getTextSize.attr("vocalfont","lyric")}))},E.prototype.createNote=function(e,t,r,i){var n,s=null,o=0,l=0,h=0,d=[],p=T(e),m=!1;0===p&&(m=!0,p=.25,t=!0);for(var g=Math.floor(Math.log(p)/Math.log(2)),v=0,y=Math.pow(2,g),k=y/2;y1,this.stemdir,r,g,this.voiceScale);s=N.noteHead,o=N.roomTaken,l=N.roomTakenRight}else{var _=this.addNoteToAbcElement(M,e,v,this.stemdir,this.style,m,g,t,i);void 0!==_.min&&(this.minY=Math.min(_.min,this.minY)),s=_.noteHead,o=_.roomTaken,l=_.roomTakenRight,d=_.additionalLedgers,n=_.dir,h=_.symbolWidth}if(void 0!==e.lyric&&this.addLyric(M,e),void 0!==e.gracenotes&&(o+=this.addGraceNotes(e,i,M,s,this.stemHeight*this.voiceScale,this.isBagpipes,o)),e.decoration){var B=t&&"up"!==n?Math.min(-3,M.bottom-6):M.bottom;this.decoration.createDecoration(i,e.decoration,M.top,s?s.w:0,M,o,n,B,e.positioning,this.hasVocals,this.accentAbove)}if(e.barNumber&&M.addFixed(new f(e.barNumber,-10,0,0,{type:"barNumber"})),A(M,e.minpitch,e.maxpitch,e.rest,h,d,n,-2,1),void 0!==e.chord){var P=x(this.getTextSize,M,e,o,l,h,this.jazzchords,this.germanAlphabet);o=P.roomTaken,l=P.roomTakenRight}return e.startTriplet&&(this.triplet=new b(e.startTriplet,s,{flatBeams:this.flatBeams})),e.endTriplet&&this.triplet&&this.triplet.setCloseAnchor(s),!this.triplet||e.startTriplet||e.endTriplet||e.rest&&"spacer"===e.rest.type||this.triplet.middleNote(s),M},E.prototype.addSlursAndTies=function(e,t,r,a,i,n){if(t.endTie&&this.ties.length>0){for(var s=!1,o=0;o10&&"treble"===t.abcelem.type?13:11;t.addFixed(new f(e,a,r.width,i+r.height/p.STEP,{type:"barNumber",dim:this.getTextSize.attr("measurefont","bar-number")}))},E.prototype.createBarLine=function(e,t,r){var i=new a(t,0,10,"bar",this.tuneNumber),n=null,s=0;t.barNumber&&this.addMeasureNumber(t.barNumber,i);var o="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type,c="bar_left_repeat"!==t.type&&"bar_thick_thin"!==t.type&&"bar_invisible"!==t.type,l="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type||"bar_left_repeat"===t.type||"bar_thin_thick"===t.type||"bar_thick_thin"===t.type,h="bar_left_repeat"===t.type||"bar_thick_thin"===t.type||"bar_thin_thin"===t.type||"bar_dbl_repeat"===t.type,u="bar_left_repeat"===t.type||"bar_dbl_repeat"===t.type;if(o||u){for(var p in this.slurs)this.slurs.hasOwnProperty(p)&&this.slurs[p].setEndX(i);this.startlimitelem=i}if(o&&(i.addRight(new f("dots.dot",s,1,7)),i.addRight(new f("dots.dot",s,1,5)),s+=6),c&&(n=new f(null,s,1,2,{type:"bar",pitch2:10,linewidth:.6}),i.addRight(n)),"bar_invisible"===t.type&&(n=new f(null,s,1,2,{type:"none",pitch2:10,linewidth:.6}),i.addRight(n)),t.decoration&&this.decoration.createDecoration(e,t.decoration,12,l?3:1,i,0,"down",2,t.positioning,this.hasVocals,this.accentAbove),l&&(n=new f(null,s+=4,4,2,{type:"bar",pitch2:10,linewidth:4}),i.addRight(n),s+=5),this.partstartelem&&t.endEnding&&(this.partstartelem.anchor2=n,this.partstartelem=null),h&&(n=new f(null,s+=3,1,2,{type:"bar",pitch2:10,linewidth:.6}),i.addRight(n)),u&&(s+=3,i.addRight(new f("dots.dot",s,1,7)),i.addRight(new f("dots.dot",s,1,5))),t.startEnding&&r){var m=this.getTextSize.calc(t.startEnding,"repeatfont","").width;i.minspacing+=m+10,this.partstartelem=new d(t.startEnding,n,null),e.addOther(this.partstartelem)}return i.extraw-=5,void 0!==t.chord&&x(this.getTextSize,i,t,0,0,0,!1,this.germanAlphabet),i},e.exports=E},2652:function(e,t,r){var a=r(6658),i=r(4331),n=r(5810);function s(e,t,r,s,o,c,l,h,d,u,f,p,m,g,v){for(var b=e.split("\n"),y=b.length-1;y>=0;y--){var x,k=b[y],w=0;s||(k=n(k,g,v));var T=h.calc(k,o,c),C=T.width,S=T.height/i.STEP;switch(t){case"left":w=-(f+=C+7),x=u.averagepitch,d.addExtra(new a(k,w,C+4,x,{type:"text",height:S,dim:l,position:"left"}));break;case"right":w=p+=4,x=u.averagepitch,d.addRight(new a(k,w,C+4,x,{type:"text",height:S,dim:l,position:"right"}));break;case"below":d.addRight(new a(k,0,0,void 0,{type:"text",position:"below",height:S,dim:l,realWidth:C}));break;case"above":d.addRight(new a(k,0,0,void 0,{type:"text",position:"above",height:S,dim:l,realWidth:C}));break;default:if(r){var E=r.y+3*i.STEP;d.addRight(new a(k,w+r.x,0,u.minpitch+E/i.STEP,{position:"relative",type:"text",height:S,dim:l}))}else{var M="above";u.positioning&&u.positioning.chordPosition&&(M=u.positioning.chordPosition),"hidden"!==M&&d.addCentered(new a(k,m/2,C,void 0,{type:"chord",position:M,height:S,dim:l,realWidth:C}))}}}return{roomTaken:f,roomTakenRight:p}}e.exports=function(e,t,r,a,i,n,o,c){for(var l=0;l0?o.top+3:o.bottom-1,f=s>0?o.top+3:o.bottom-3,p=f-2;"bass-8"===e.type&&(u=3,d=0),o.addRight(new n("8",5+d,i.getSymbolWidth("8")*h,u,{scalex:h,scaley:h,top:f,bottom:p}))}}return o}},3923:function(e,t,r){var a=r(1409),i=r(6020),n=r(6658);e.exports=function(e,t){if(e.el_type="keySignature",!e.accidentals||0===e.accidentals.length)return null;var r=new a(e,0,10,"staff-extra key-signature",t);r.isKeySig=!0;var s=0;return e.accidentals.forEach((function(e){var t,a=0;switch(e.acc){case"sharp":t="accidentals.sharp",a=-3;break;case"natural":t="accidentals.nat";break;case"flat":t="accidentals.flat",a=-1.2;break;case"quartersharp":t="accidentals.halfsharp",a=-2.5;break;case"quarterflat":t="accidentals.halfflat",a=-1.2;break;default:t="accidentals.flat"}r.addRight(new n(t,s,i.getSymbolWidth(t),e.verticalPos,{thickness:i.symbolHeightInPitches(t),top:e.verticalPos+i.symbolHeightInPitches(t)+a,bottom:e.verticalPos+a})),s+=i.getSymbolWidth(t)+2}),this),r}},2143:function(e,t,r){var a=r(6020),i=r(6658);e.exports=function(e,t,r,n){n||(n={});var s,o=void 0!==n.dir?n.dir:null,c=void 0!==n.headx?n.headx:0,l=void 0!==n.extrax?n.extrax:0,h=void 0!==n.flag?n.flag:null,d=void 0!==n.dot?n.dot:0,u=void 0!==n.dotshiftx?n.dotshiftx:0,f=void 0!==n.scale?n.scale:1,p=void 0!==n.accidentalSlot?n.accidentalSlot:[],m=void 0!==n.shouldExtendStem&&n.shouldExtendStem,g=void 0===n.printAccidentals||n.printAccidentals,v=r.verticalPos,b=0,y=0,x=0;if(void 0===t)e.addFixed(new i("pitch is undefined",0,0,0,{type:"debug"}));else if(""===t)s=new i(null,0,0,v);else{var k=c;if(r.printer_shift){var w="same"===r.printer_shift?1:0;k="down"===o?-a.getSymbolWidth(t)*f+w:a.getSymbolWidth(t)*f-w}var T={scalex:f,scaley:f,thickness:a.symbolHeightInPitches(t)*f,name:r.name};if((s=new i(t,k,a.getSymbolWidth(t)*f,v,T)).stemDir=o,h){var C=v+("down"===o?-7:7)*f;m&&("down"===o&&C>6&&(C=6),"up"===o&&C<6&&(C=6));var S="down"===o?c:c+s.w-.6;e.addRight(new i(h,S,a.getSymbolWidth(h)*f,C,{scalex:f,scaley:f}))}for(y=s.w+u-2+5*d;d>0;d--){var E=1-Math.abs(v)%2;e.addRight(new i("dots.dot",s.w+u-2+5*d,a.getSymbolWidth("dots.dot"),v+E))}}if(s&&(s.highestVert=r.highestVert),g&&r.accidental){var M;switch(r.accidental){case"quartersharp":M="accidentals.halfsharp";break;case"dblsharp":M="accidentals.dblsharp";break;case"sharp":M="accidentals.sharp";break;case"quarterflat":M="accidentals.halfflat";break;case"flat":M="accidentals.flat";break;case"dblflat":M="accidentals.dblflat";break;case"natural":M="accidentals.nat"}for(var N=!1,_=l,A=0;A=6){p[A][0]=v,_=p[A][1],N=!0;break}!1===N&&(_-=a.getSymbolWidth(M)*f+2,p.push([v,_]),b=a.getSymbolWidth(M)*f+2);var B=a.symbolHeightInPitches(M);e.addExtra(new i(M,_,a.getSymbolWidth(M),v,{scalex:f,scaley:f,top:v+B/2,bottom:v-B/2})),x=a.getSymbolWidth(M)/2}return{notehead:s,accidentalshiftx:b,dotshiftx:y,extraLeft:x}}},2525:function(e,t,r){var a=r(1409),i=r(6020),n=r(6658);e.exports=function(e,t){e.el_type="timeSignature";var r=new a(e,0,10,"staff-extra time-signature",t);if("specified"===e.type)for(var s=0,o=0;o",a)),o&&e.addOther(new i(o.start,o.stop,"<",a)),c&&e.addOther(new n(c.start,c.stop))},l.prototype.createDecoration=function(e,t,r,i,n,l,d,u,f,p,m){f||(f={ornamentPosition:"above",volumePosition:p?"above":"below",dynamicPosition:p?"above":"below"}),function(e,t,r,i){for(var n=0;n9&&u++;var m=a/2;"center"!==s.getSymbolAlign(p)&&(m-=s.getSymbolWidth(p)/2),i.addFixedX(new o(p,m,s.getSymbolWidth(p),u))}if("slide"===t[f]&&i.heads[0]){var g=i.heads[0].pitch,v=new o("",-n-15,0,(g-=2)-1),b=new o("",-n-5,0,g+1);i.addFixedX(v),i.addFixedX(b),e.addOther(new c({anchor1:v,anchor2:b,fixedY:!0}))}}return void 0===u&&(u=r),{above:u,below:i.bottom}}(e,t,r,i,n,l,d,u,m);g.above=Math.max(g.above,this.minTop),g.below=Math.min(g.below,u),function(e,t,r,a,i,n,c,l){function h(e,t){"above"===e?a.above+=t:a.below-=t}function d(e){var t;return"above"===e?(t=a.above)c&&(t=c),t}function u(e,a,i){var n=d(a);r.addFixedX(new o(e,t/2,0,n+2,{type:"decoration",klass:"ornament",thickness:3,anchor:i})),h(a,5)}function f(e,a){var i=t/2;"center"!==s.getSymbolAlign(e)&&(i-=s.getSymbolWidth(e)/2);var n=s.symbolHeightInPitches(e)+1,c=d(a);c="above"===a?c+n/2:c-n/2,r.addFixedX(new o(e,i,s.getSymbolWidth(e),c,{klass:"ornament",thickness:s.symbolHeightInPitches(e),position:a})),h(a,n)}for(var p={"+":"scripts.stopped",open:"scripts.open",snap:"scripts.snap",wedge:"scripts.wedge",thumb:"scripts.thumb",shortphrase:"scripts.shortphrase",mediumphrase:"scripts.mediumphrase",longphrase:"scripts.longphrase",trill:"scripts.trill",roll:"scripts.roll",irishroll:"scripts.roll",marcato:"scripts.umarcato",dmarcato:"scripts.dmarcato",umarcato:"scripts.umarcato",turn:"scripts.turn",uppermordent:"scripts.prall",pralltriller:"scripts.prall",mordent:"scripts.mordent",lowermordent:"scripts.mordent",downbow:"scripts.downbow",upbow:"scripts.upbow",fermata:"scripts.ufermata",invertedfermata:"scripts.dfermata",breath:",",coda:"scripts.coda",segno:"scripts.segno"},m=0;mthis.w&&(this.w=e.dx+e.w),this.right[this.right.length]=e,this._addChild(e)},n.prototype.addFixed=function(e){this._addChild(e)},n.prototype.addFixedX=function(e){this._addChild(e)},n.prototype.addCentered=function(e){var t=e.w/2;-tthis.w&&(this.w=e.dx+t),this.right[this.right.length]=e,this._addChild(e)},n.prototype.setLimit=function(e,t){t[e]&&(this.specialY[e]?this.specialY[e]=Math.max(this.specialY[e],t[e]):this.specialY[e]=t[e])},n.prototype._addChild=function(e){e.parent=this,this.children[this.children.length]=e,this.pushTop(e.top),this.pushBottom(e.bottom),this.setLimit("tempoHeightAbove",e),this.setLimit("partHeightAbove",e),this.setLimit("volumeHeightAbove",e),this.setLimit("dynamicHeightAbove",e),this.setLimit("endingHeightAbove",e),this.setLimit("chordHeightAbove",e),this.setLimit("lyricHeightAbove",e),this.setLimit("lyricHeightBelow",e),this.setLimit("chordHeightBelow",e),this.setLimit("volumeHeightBelow",e),this.setLimit("dynamicHeightBelow",e)},n.prototype.pushTop=function(e){void 0!==e&&(void 0===this.top?this.top=e:this.top=Math.max(e,this.top))},n.prototype.pushBottom=function(e){void 0!==e&&(void 0===this.bottom?this.bottom=e:this.bottom=Math.min(e,this.bottom))},n.prototype.setX=function(e){this.x=e;for(var t=0;tthis.max)&&(this.max=e.abcelem.maxpitch))},t.prototype.addBeam=function(e){this.beams.push(e)},t.prototype.setStemDirection=function(){this.average=r(this.total,this.count),this.forceup?this.stemsUp=!0:this.forcedown?this.stemsUp=!1:this.stemsUp=this.average<6,delete this.count,this.total=0},t.prototype.calcDir=function(){this.average=r(this.total,this.elems.length),this.forceup?this.stemsUp=!0:this.forcedown?this.stemsUp=!1:this.stemsUp=this.average<6;for(var e=this.stemsUp?"up":"down",t=0;t0&&this.unalignedWords(e.unalignedWords,a,i,n,s),this.extraText(e,a,i,n,s),e.footer&&r&&this.footer(e.footer,t,a,s)}function s(e,t,r,a,n,s,o){r&&(t&&(r="string"==typeof r?t+r:[{text:t}].concat(r)),i(e,r,"historyfont",n=s?"abcjs-extra-text "+n:"","description",a,{absElemType:"extraText",anchor:"start"},o))}function o(e,t,r,n,s,o,c,l,h,d,u,f){if(r){l=u?"abcjs-extra-text "+l:"";var p=f.calc("A",s,l);if("string"==typeof r)t&&(r=t+"\n"+r),a(e,{marginLeft:n,text:r,font:s,absElemType:"extraText",name:h,"dominant-baseline":"middle",klass:l},f);else{e.push({startGroup:c,klass:l,name:h}),e.push({move:d.info}),t&&(a(e,{marginLeft:n,text:t,font:s,absElemType:"extraText",name:h,"dominant-baseline":"middle"},f),e.push({move:3*p.height/4}));for(var m=0;m0&&this.startVoice.staff.voices[0]===e)},e.exports=t},6891:function(e){e.exports=function(e,t,r,a){this.type="CrescendoElem",this.anchor1=e,this.anchor2=t,this.dir=r,"above"===a?this.dynamicHeightAbove=6:this.dynamicHeightBelow=6,this.pitch=void 0}},3185:function(e){e.exports=function(e,t,r){this.type="DynamicDecoration",this.anchor=e,this.dec=t,"below"===r?this.volumeHeightBelow=6:this.volumeHeightAbove=6,this.pitch=void 0}},8256:function(e){e.exports=function(e,t,r){this.type="EndingElem",this.text=e,this.anchor1=t,this.anchor2=r,this.endingHeightAbove=5,this.pitch=void 0}},3736:function(e){e.exports=function(e,t,r,a,i,n){var s,o=e.text;this.rows=[],t&&this.rows.push({move:t});var c=r.calc("textfont","defined-text");if(""===o)this.rows.push({move:2*c.attr["font-size"]});else if("string"==typeof o)this.rows.push({move:c.attr["font-size"]/2}),this.rows.push({left:a,text:o,font:"textfont",klass:"defined-text",anchor:"start",startChar:e.startChar,endChar:e.endChar,absElemType:"freeText",name:"free-text"}),s=n.calc(o,"textfont","defined-text"),this.rows.push({move:s.height});else if(o){for(var l=0,h=a,d="textfont",u=0;uthis.top&&(this.top=this.pitch2),this.bottom=a,void 0!==this.pitch2&&this.pitch20?this.top+=i.stemHeight:this.bottom+=i.stemHeight),i.dim&&(this.dim=i.dim),i.position&&(this.position=i.position),this.height=i.height?i.height:4,i.top&&(this.top=i.top),i.bottom&&(this.bottom=i.bottom),i.name?this.name=i.name:this.c?this.name=this.c:this.name=this.type,i.realWidth?this.realWidth=i.realWidth:this.realWidth=this.w,this.centerVertically=!1,this.type){case"debug":this.chordHeightAbove=this.height;break;case"lyric":i.position&&"below"===i.position?this.lyricHeightBelow=this.height:this.lyricHeightAbove=this.height;break;case"chord":i.position&&"below"===i.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height;break;case"text":void 0===this.pitch?i.position&&"below"===i.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height:this.centerVertically=!0;break;case"part":this.partHeightAbove=this.height}};t.prototype.getChordDim=function(){if("debug"===this.type)return null;if(!this.chordHeightAbove&&!this.chordHeightBelow)return null;var e="chord"===this.type?this.realWidth/2:0,t=this.x-e-0;return{left:t,right:t+this.realWidth+0}},t.prototype.invertLane=function(e){void 0===this.lane&&(this.lane=0),this.lane=e-this.lane-1},t.prototype.putChordInLane=function(e){this.lane=e,this.chordHeightAbove?this.chordHeightAbove=1.25*this.height*this.lane:this.chordHeightBelow=1.25*this.height*this.lane},t.prototype.getLane=function(){return void 0===this.lane?0:this.lane},t.prototype.setX=function(e){this.x=e+this.dx},e.exports=t},6994:function(e,t,r){var a=r(1716);e.exports=function(e,t,r,i,n,s,o,c){var l=c.calc("i",r,i);if(""===t)e.push({move:l.height});else{if("string"==typeof t)return void a(e,{marginLeft:s,text:t,font:r,klass:i,marginTop:o.marginTop,anchor:o.anchor,absElemType:o.absElemType,info:o.info,name:n},c);o.marginTop&&e.push({move:o.marginTop});var h=0,d={left:s,anchor:o.anchor,phrases:[]};i&&(d.klass=i),e.push(d);for(var u=0;u0)this.above=!1;else{var e;e=this.anchor1?this.anchor1.pitch:this.anchor2?this.anchor2.pitch:14,this.anchor1&&"down"===this.anchor1.stemDir&&this.anchor2&&"down"===this.anchor2.stemDir?this.above=!0:this.anchor1&&"up"===this.anchor1.stemDir&&this.anchor2&&"up"===this.anchor2.stemDir?this.above=!1:this.anchor1&&this.anchor2?this.above=e>=6:this.anchor1?this.above="down"===this.anchor1.stemDir:this.anchor2?this.above="down"===this.anchor2.stemDir:this.above=e>=6}},t.prototype.calcSlurDirection=function(){if(this.isGrace)this.above=!1;else if(0===this.voiceNumber)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var e=!1;this.anchor1&&"down"===this.anchor1.stemDir&&(e=!0),this.anchor2&&"down"===this.anchor2.stemDir&&(e=!0);for(var t=0;te&&(e=this.internalNotes[t].highestVert);e>this.startY&&e>this.endY&&(this.startY=this.endY=e-1)}},t.prototype.getYBounds=function(){var e,t;return this.isTie?(this.calcTieDirection(),this.calcX(10,1e3),this.calcTieY()):(this.calcSlurDirection(),this.calcX(10,1e3),this.calcSlurY()),this.above?e=(t=Math.min(this.startY,this.endY))+3:t=(e=Math.min(this.startY,this.endY))-3,[e,t]},e.exports=t},1134:function(e,t,r){var a=r(1716),i=r(6994);e.exports=function(e,t,r,n,s,o,c,l,h,d){if(this.rows=[],e.header&&o){var u=d.calc("X","headerfont","abcjs-header abcjs-meta-top").height;a(this.rows,{marginLeft:c,text:e.header.left,font:"headerfont",klass:"header meta-top",marginTop:-u,info:t.header,name:"header"},d),a(this.rows,{marginLeft:c+s/2,text:e.header.center,font:"headerfont",klass:"header meta-top",marginTop:-u,anchor:"middle",info:t.header,name:"header"},d),a(this.rows,{marginLeft:c+s,text:e.header.right,font:"headerfont",klass:"header meta-top",marginTop:-u,anchor:"end",info:t.header,name:"header"},d)}o&&this.rows.push({move:l.top});var f=r.titleleft?"start":"middle",p=r.titleleft?c:c+s/2;if(e.title){var m=h?"abcjs-title":"";i(this.rows,e.title,"titlefont",m,"title",p,{marginTop:l.title,anchor:f,absElemType:"title",info:t.title},d)}if(n.length)for(var g=0;g0){var v=!(!e.composer&&!e.origin);m=h?"abcjs-rhythm":"",a(this.rows,{marginLeft:c,text:e.rhythm,font:"infofont",klass:m,absElemType:"rhythm",noMove:v,info:t.rhythm,name:"rhythm"},d)}e.composer&&e.composer,e.origin&&e.origin;var b=e.composer?e.composer:"";e.origin&&("string"==typeof b&&"string"==typeof e.origin?b+=" ("+e.origin+")":"string"==typeof b&&"string"!=typeof e.origin?((b=[{text:b}]).push({text:" ("}),(b=b.concat(e.origin)).push({text:")"})):(b.push({text:" ("}),(b=b.concat(e.origin)).push({text:")"}))),b&&(m=h?"abcjs-composer":"",i(this.rows,b,"composerfont",m,"composer",c+s,{anchor:"end",absElemType:"composer",info:t.composer,ingroup:!0},d))}e.author&&e.author.length>0&&(m=h?"abcjs-author":"",i(this.rows,e.author,"composerfont",m,"author",c+s,{anchor:"end",absElemType:"author",info:t.author},d)),e.partOrder&&e.partOrder.length>0&&(m=h?"abcjs-part-order":"",i(this.rows,e.partOrder,"partsfont",m,"part-order",c,{absElemType:"partOrder",info:t.partOrder,anchor:"start"},d))}},2096:function(e){var t=function(e,t,r){this.type="TripletElem",this.anchor1=t,this.number=e,this.durationClass=("d"+Math.round(1e3*t.parent.durationClass)/1e3).replace(/\./,"-"),this.middleElems=[],this.flatBeams=r.flatBeams};t.prototype.isClosed=function(){return!!this.anchor2},t.prototype.middleNote=function(e){this.middleElems.push(e)},t.prototype.setCloseAnchor=function(e){this.anchor2=e,this.anchor1.parent.beam&&"up"!==this.anchor1.stemDir||(this.endingHeightAbove=4)},e.exports=t},3197:function(e){var t=function(e,t){this.children=[],this.beams=[],this.otherchildren=[],this.w=0,this.duplicate=!1,this.voicenumber=e,this.voicetotal=t,this.bottom=7,this.top=7,this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};t.prototype.addChild=function(e){if("bar"===e.type){for(var t=!0,r=0;t&&r0&&"TempoElement"===t.children[0].type;t.elemset=[],o.beginGroup(e.paper,e.controller);for(var d=0;d=0&&f.setAttribute("class","abcjs-notehead")}}var p=t.type;if(("note"===t.type||"rest"===t.type)&&(t.counters=e.controller.classes.getCurrent(),p=(p+=" d"+Math.round(1e3*t.durationClass)/1e3).replace(/\./g,"-"),t.abcelem.pitches))for(var m=0;m0?g.classList[0]+" ":"";g.setAttribute("class",v+t.overrideClasses)}if(h)t.startChar=t.abcelem.startChar,t.endChar=t.abcelem.endChar,c.add(t,g,!1,l);else{t.elemset.push(g);var b=!1;"note"!==t.type&&"tabNumber"!==t.type||(b=!0),c.add(t,g,b,l)}}else t.elemset.length>0&&c.add(t,t.elemset[0],"note"===t.type,l);if(t.klass&&s(t.elemset,"mark","","#00ff00"),t.hint&&s(t.elemset,"abcjs-hint","",null),t.abcelem.abselem=t,t.heads&&t.heads.length>0){t.notePositions=[];for(var y=0;y=1&&l(e,e.spacing.staffSeparation,v[v.length-1],y.staffGroup);var x=c(e,y.staffGroup,m,b);x.line=p+b,v.push(x),e.paper.closeGroup()}else y.nonMusic&&(t.shouldAddClasses&&(g.klass="abcjs-non-music"),e.paper.openGroup(g),n(e,y.nonMusic,m),e.paper.closeGroup())}return t.reset(),r.bottomText&&r.bottomText.rows&&r.bottomText.rows.length>0&&(t.shouldAddClasses&&(g.klass="abcjs-meta-bottom"),e.paper.openGroup(g),e.moveY(24),n(e,r.bottomText,m),e.paper.closeGroup()),i(e,s,d,h),{staffgroups:v,selectables:m.getElements()}}},9879:function(e,t,r){var a=r(4777);e.exports=function(e,t,r){void 0===t.pitch&&window.console.error("Dynamic Element y-coordinate not set.");var i=a(e,t.anchor.x,t.pitch,t.dec,{scalex:1,scaley:1,klass:e.controller.classes.generate("decoration dynamics"),fill:e.foregroundColor,stroke:"none",name:"dynamics"});return r.wrapSvgEl({el_type:"dynamicDecoration",startChar:-1,endChar:-1,decoration:t.dec},i),[i]}},5947:function(e,t,r){var a=r(6764),i=r(5759),n=r(6454),s=r(7199);e.exports=function(e,t,r,o,c){void 0===t.pitch&&window.console.error("Ending Element y-coordinate not set.");var l=s(e.calcY(t.pitch)),h="";t.anchor1&&(r=s(t.anchor1.x+t.anchor1.w),h+=a("M %f %f L %f %f ",r,l,r,s(l+20))),t.anchor2&&(o=s(t.anchor2.x),h+=a("M %f %f L %f %f ",o,l,o,s(l+20))),h+=a("M %f %f L %f %f ",r,l,o,l),e.paper.openGroup({klass:e.controller.classes.generate("ending"),"data-name":"ending"}),n(e,{path:h,stroke:e.foregroundColor,fill:e.foregroundColor,"data-name":"line"}),t.anchor1&&i(e,{x:s(r+5),y:s(e.calcY(t.pitch-.5)),text:t.text,type:"repeatfont",klass:"ending",anchor:"start",noClass:!0,name:t.text});var d=e.paper.closeGroup();return c.wrapSvgEl({el_type:"ending",startChar:-1,endChar:-1},d),[d]}},9045:function(e,t,r){var a=r(6764),i=r(6454),n=r(7199);function s(e,t,r){return n(e+r*t)}var o=[[3.5,-4.8]],c=[[1.5,-1],[.3,-.3],[-3.5,3.8]],l=[[-1.5,2]],h=[[3,4],[3,-4]],d=[[-3,4],[-3,-4]];function u(e,t){for(var r="",a=0;a1&&s.indexOf(".")<0){var p=n.isInGroup()?"":o.klass;e.paper.openGroup({"data-name":o.name,klass:p});for(var m=0,g=0;g0?t.linewidth+e.lineThickness:t.linewidth-e.lineThickness;t.graphelem=i(e,t.x,d,o,e.calcY(t.pitch2),"abcjs-stem","stem");break;case"ledger":t.graphelem=n(e,t.x,t.x+t.w,t.pitch,"abcjs-ledger","ledger",.35+e.lineThickness)}return 1!==t.scalex&&t.graphelem&&function(e,t,r,a,i,n){e.setAttributeOnElement(t,{style:"transform:scale("+r+","+a+");transform-origin:"+i+"px "+n+"px;"})}(e.paper,t.graphelem,t.scalex,t.scaley,t.x,o),t.graphelem}},7199:function(e){e.exports=function(e){return parseFloat(e.toFixed(2))}},3524:function(e,t,r){var a=r(5741),i=r(5829);function n(e,t,r){this.elements=[],this.paper=e,this.tuneNumber=r,this.selectTypes=t}n.prototype.getElements=function(){return this.elements},n.prototype.add=function(e,t,r,a){if(this.canSelect(e)){var i;i=void 0===this.selectTypes?{selectable:!1,"data-index":this.elements.length}:{selectable:!0,tabindex:0,"data-index":this.elements.length},this.paper.setAttributeOnElement(t,i);var n={absEl:e,svgEl:t,isDraggable:r};void 0!==a&&(n.staffPos=a),this.elements.push(n)}},n.prototype.canSelect=function(e){return!(!1===this.selectTypes||!e||!e.abcelem||!0!==this.selectTypes&&!(void 0===this.selectTypes?"note"===e.abcelem.el_type||"tabNumber"===e.abcelem.el_type:this.selectTypes.indexOf(e.abcelem.el_type)>=0))},n.prototype.wrapSvgEl=function(e,t){var r={tuneNumber:this.tuneNumber,abcelem:e,elemset:[t],highlight:a,unhighlight:i};this.add(r,t,!1)},e.exports=n},4169:function(e){e.exports=function(e,t){var r=Math.round(e.y),a=(e.controller.width-t)/2,i=a+t,n="M "+a+" "+r+" L "+i+" "+r+" L "+i+" "+(r+1)+" L "+a+" "+(r+1)+" L "+a+" "+r+" z";e.paper.pathToBack({path:n,stroke:"rgba(0,0,0,0)",fill:"rgba(0,0,0,255)",class:e.controller.classes.generate("defined-text")})}},7611:function(e){e.exports=function(e,t,r,a){var i=(t+e.padding.left+e.padding.right)*r,n=(e.y+e.padding.bottom)*r;if(e.isPrint&&(n=Math.max(n,1056)),""!==e.ariaLabel){var s="Sheet Music";e.abctune&&e.abctune.metaText&&e.abctune.metaText.title&&(s+=' for "'+e.abctune.metaText.title+'"'),e.paper.setTitle(s);var o=e.ariaLabel?e.ariaLabel:s;e.paper.setAttribute("aria-label",o)}e.paper.insertStyles(".abcjs-dragging-in-progress text, .abcjs-dragging-in-progress tspan {"+["-webkit-touch-callout: none;","-webkit-user-select: none;","-khtml-user-select: none;","-moz-user-select: none;","-ms-user-select: none;","user-select: none;"].join(" ")+"}");var c={overflow:"hidden"};"resize"===a?e.paper.setResponsiveWidth(i,n):(c.width="",c.height=n+"px",r<1?(c.width=i+"px",e.paper.setSize(i/r,n/r)):e.paper.setSize(i,n)),e.paper.setScale(r),e.paper.setParentStyles(c)}},6764:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(){for(var e,r,a,i,n,s=0,o=arguments[s++],c=[];o;){if(r=/^[^\x25]+/.exec(o))c.push(r[0]);else if(r=/^\x25{2}/.exec(o))c.push("%");else{if(!(r=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(o)))throw"Huh ?!";if(null==(e=arguments[r[1]||s++])||null==e)throw"Too few arguments.";if(/[^s]/.test(r[7])&&"number"!=typeof e)throw"Expecting number but found "+t(e);switch(r[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=r[6]?e.toExponential(r[6]):e.toExponential();break;case"f":e=r[6]?parseFloat(e).toFixed(r[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&r[6]?e.substring(0,r[6]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(r[7])&&r[2]&&e>0?"+"+e:e,i=r[3]?"0"==r[3]?"0":r[3][1]:" ",n=r[5]-String(e).length,a=r[5]?str_repeat(i,n):"",c.push(r[4]?e+a:a+e)}o=o.substring(r[0].length)}return c.join("")}},5537:function(e,t,r){var a=r(4331),i=r(129),n=r(3145),s=r(7641),o=r(1547),c=r(3624),l=r(5668);function h(e,t,r,n,s){if(r)for(var o=0;o=0&&v.voices&&d(e,t.voices,v.voices),e.showDebug.indexOf("grid")>=0&&(e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:m,y2:m,stroke:"#0000ff"}),o(e,{x:e.padding.left,y:e.calcY(v.originalTop),width:e.controller.width,height:e.calcY(v.originalBottom)-e.calcY(v.originalTop),fill:e.foregroundColor,stroke:e.foregroundColor,"fill-opacity":.1,"stroke-opacity":.1}),u=0,M(v,"chordHeightAbove"),M(v,"chordHeightBelow"),M(v,"dynamicHeightAbove"),M(v,"dynamicHeightBelow"),M(v,"endingHeightAbove"),M(v,"lyricHeightAbove"),M(v,"lyricHeightBelow"),M(v,"partHeightAbove"),M(v,"tempoHeightAbove"),M(v,"volumeHeightAbove"),M(v,"volumeHeightBelow"))),e.moveY(a.STEP,-v.bottom),e.showDebug&&e.showDebug.indexOf("grid")>=0&&e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:e.y,y2:e.y,stroke:"#0000aa"})}for(var b=2,y=0,x=0;x6&&(u=0)}}E>1&&(f=t.staffs[0].topLine,p=t.staffs[E-1].bottomLine,c(e,t.startx,.6,f,p,null)),e.y=m}},7865:function(e,t,r){var a=r(6637);e.exports=function(e,t,r,i,n,s,o){var c=e.calcY(i);return a(e,t,r,c,n,s,o)}},7641:function(e,t,r){var a=r(7865);e.exports=function(e,t,r,i,n,s){var o="abcjs-top-line",c=2;n&&(c=n),e.paper.openGroup({prepend:!0,klass:e.controller.classes.generate("abcjs-staff")});var l=0,h=0;if(1===i)a(e,t,r,6,o,null,s+e.lineThickness),l=e.calcY(10),h=e.calcY(2);else for(var d=i-1;d>=0;d--){var u=(d+1)*c;h=e.calcY(u),0===l&&(l=h),a(e,t,r,u,o,null,s+e.lineThickness),o=void 0}return e.paper.closeGroup(),[l,h]}},3987:function(e,t,r){var a=r(2435),i=r(5759);e.exports=function(e,t){var r=t.x;void 0===t.pitch&&window.console.error("Tempo Element y-coordinate not set."),t.tempo.el_type="tempo";var n,s=e.calcY(t.pitch)+2;if(t.tempo.preString){n=i(e,{x:r,y:s,text:t.tempo.preString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0,name:"pre"},!0);var o=e.controller.getTextSize.calc(t.tempo.preString,"tempofont","tempo",n).width;r+=o+o/t.tempo.preString.length}if(t.note){t.note.setX(r);for(var c=0;c.1||(this.scale=void 0),t.staffwidth?(this.staffwidthScreen=t.staffwidth,this.staffwidthPrint=t.staffwidth):(this.staffwidthScreen=740,this.staffwidthPrint=680),this.listeners=[],t.clickListener&&this.addSelectListener(t.clickListener),this.renderer=new n(e),this.renderer.setPaddingOverride(t),t.showDebug&&(this.renderer.showDebug=t.showDebug),t.jazzchords&&(this.jazzchords=t.jazzchords),t.accentAbove&&(this.accentAbove=t.accentAbove),t.germanAlphabet&&(this.germanAlphabet=t.germanAlphabet),t.lineThickness&&(this.lineThickness=t.lineThickness),this.renderer.controller=this,this.renderer.foregroundColor=t.foregroundColor?t.foregroundColor:"currentColor",void 0!==t.ariaLabel&&(this.renderer.ariaLabel=t.ariaLabel),this.renderer.minPadding=t.minPadding?t.minPadding:0,this.reset()};function x(e){for(var t=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=0;r0)for(var o=s.staffGroup.voices[0],c=!1,l=0,h=0;hthis.width+1&&(e.topText=new l(e.metaText,e.metaTextInfo,e.formatting,e.lines,n,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.classes.shouldAddClasses,this.getTextSize),e.lines&&e.lines.length>0))for(var s=e.lines.length,o=0;o0)for(var h=c.nonMusic.rows.length,f=0;f0&&c.text[0].center)&&(p.left=n/2+this.renderer.padding.left)}}e.tablatures&&v.layoutTablatures(this.renderer,e);var m=g(this.renderer,this.classes,e,this.width,n,this.responsive,i,this.selectTypes,t,r);if(this.staffgroups=m.staffgroups,this.selectables=m.selectables,this.oneSvgPerLine){var b=this.renderer.paper.svg.parentNode;this.svgs=function(e,t,r,a,i){r||(r="Untitled");var n=t.querySelector("svg");"resize"===a&&(t.style.paddingBottom="");for(var s=n.querySelector("style"),o="resize"===a?n.viewBox.baseVal.width:n.getAttribute("width"),c=t.querySelectorAll("svg > g"),l=0,h=[],d=0;d0&&t.push(e),"abcjs-tab-number"===e)return t.join(" ");if("text instrument-name"===e)return"abcjs-text abcjs-instrument-name";if(null!==this.lineNumber&&t.push("l"+this.lineNumber),null!==this.measureNumber&&t.push("m"+this.measureNumber),null!==this.measureNumber&&t.push("mm"+this.measureTotal()),null!==this.voiceNumber&&t.push("v"+this.voiceNumber),e&&(e.indexOf("note")>=0||e.indexOf("rest")>=0||e.indexOf("lyric")>=0)&&null!==this.noteNumber&&t.push("n"+this.noteNumber),t.length>0){t=(t=t.join(" ")).split(" ");for(var r=0;r0&&(t[r]="abcjs-"+t[r])}return t.join(" ")},e.exports=t},1328:function(e){var t=function(e,t){this.formatting=e,this.classes=t};t.prototype.updateFonts=function(e){e.gchordfont&&(this.formatting.gchordfont=e.gchordfont),e.tripletfont&&(this.formatting.tripletfont=e.tripletfont),e.annotationfont&&(this.formatting.annotationfont=e.annotationfont),e.vocalfont&&(this.formatting.vocalfont=e.vocalfont)},t.prototype.getFamily=function(e){return'"'===e[0]&&'"'===e[e.length-1]?e.substring(1,e.length-1):e},t.prototype.calc=function(e,t){var r;r="string"==typeof e?(r=this.formatting[e])?{face:r.face,size:Math.round(4*r.size/3),decoration:r.decoration,style:r.style,weight:r.weight,box:r.box}:{face:"Arial",size:Math.round(16),decoration:"underline",style:"normal",weight:"normal"}:{face:e.face,size:Math.round(4*e.size/3),decoration:e.decoration,style:e.style,weight:e.weight,box:e.box};var a=this.formatting.fontboxpadding?this.formatting.fontboxpadding:.1;return r.padding=r.size*a,{font:r,attr:{"font-size":r.size,"font-style":r.style,"font-family":this.getFamily(r.face),"font-weight":r.weight,"text-decoration":r.decoration,class:this.classes.generate(t)}}},e.exports=t},9799:function(e){var t=function(e,t){this.getFontAndAttr=e,this.svg=t};t.prototype.updateFonts=function(e){this.getFontAndAttr.updateFonts(e)},t.prototype.attr=function(e,t){return this.getFontAndAttr.calc(e,t)},t.prototype.getFamily=function(e){return'"'===e[0]&&'"'===e[e.length-1]?e.substring(1,e.length-1):e},t.prototype.calc=function(e,t,r,a){var i;i="string"==typeof t?this.attr(t,r):{font:{face:t.face,size:t.size,decoration:t.decoration,style:t.style,weight:t.weight},attr:{"font-size":t.size,"font-style":t.style,"font-family":this.getFamily(t.face),"font-weight":t.weight,"text-decoration":t.decoration,class:this.getFontAndAttr.classes.generate(r)}};var n=this.svg.getTextSize(e,i.attr,a);return i.font.box?{height:n.height+4*i.font.padding,width:n.width+4*i.font.padding}:n},t.prototype.baselineToCenter=function(e,t,r,a,i){return.5*this.calc(e,t,r).height+(i-a-2)*this.attr(t,r).font.size},e.exports=t},2187:function(e){e.exports=function(e,t,r,a){if(e)for(var i=0;i0&&(o.length>0&&" "!==o[o.length-1]&&(o+=" "),o+=t),n.setAttribute("class",o)}}},4331:function(e){var t={FONTEM:360,FONTSIZE:30};t.STEP=93*t.FONTSIZE/720,t.SPACE=10,t.TOPNOTE=15,t.STAVEHEIGHT=100,t.INDENT=50,e.exports=t},8123:function(e){function t(e,t,r,a){if(0===e.indexOf(t)){var i=e.replace(t,""),n=parseInt(i,10);""+n===i&&(r[a]=n)}}e.exports=function(e,r){var a=[];if(e.absEl.elemset){for(var i={},n=0;n=0&&r=0?(i=function(e,t,r){return e.x<=t.offsetX&&e.x+e.width>=t.offsetX&&e.y<=t.offsetY&&e.y+e.height>=t.offsetY||Math.abs(t.layerY/r-t.offsetY)<3?[t.offsetX,t.offsetY]:[t.layerX,t.layerY]}(e.selectables[n].svgEl.getBBox(),t,e.scale),r=i[0],a=i[1]):(i=function(e){var t,r,a=1,i=1,n=e.target.closest("svg"),s=0;return n&&n.viewBox&&n.viewBox.baseVal&&(0!==n.viewBox.baseVal.width&&(a=n.viewBox.baseVal.width/n.clientWidth),0!==n.viewBox.baseVal.height&&(i=n.viewBox.baseVal.height/n.clientHeight),s=n.viewBox.baseVal.y),e.target&&"svg"===e.target.tagName?(t=e.offsetX,r=e.offsetY):(t=e.layerX,r=e.layerY),[t*=a,(r*=i)+s]}(t),n=function(e,t,r){for(var a=9999999,i=-1,n=0;n0;n++){var s=e.selectables[n];if(e.getDim(s),s.dim.leftt&&s.dim.topr)i=n,a=0;else if(s.dim.topr){var o=Math.min(Math.abs(s.dim.left-t),Math.abs(s.dim.right-t));ot){var c=Math.min(Math.abs(s.dim.top-r),Math.abs(s.dim.bottom-r));cMath.abs(t-s.dim.right)?Math.abs(t-s.dim.right):Math.abs(t-s.dim.left),h=Math.abs(r-s.dim.top)>Math.abs(r-s.dim.bottom)?Math.abs(r-s.dim.bottom):Math.abs(r-s.dim.top),d=Math.sqrt(l*l+h*h);d=0&&a<=12?i:-1}(e,r=i[0],a=i[1])),{x:r,y:a,clickedOn:n}}function l(e){if(e&&e.target&&e.touches&&!(e.touches.length<1)){var t=e.target.getBoundingClientRect(),r=e.touches[0].pageX-t.left,a=e.touches[0].pageY-t.top;e.touches[0].offsetX=r,e.touches[0].offsetY=a,e.touches[0].layerX=e.touches[0].pageX,e.touches[0].layerY=e.touches[0].pageY}}function h(e){var t=e;"touchstart"===e.type&&(l(e),e.touches.length>0&&(t=e.touches[0]));var r=c(this,t);r.clickedOn>=0&&("touchstart"===e.type||0===e.button)&&this.selectables[r.clickedOn]&&(this.dragTarget=this.selectables[r.clickedOn],this.dragIndex=r.clickedOn,this.dragMechanism="mouse",this.dragMouseStart={x:r.x,y:r.y},this.dragging&&this.dragTarget.isDraggable&&(function(e,t){if(e){var r=v(e.svg);r[t]=!0,b(e.svg,r)}}(this.renderer.paper,"abcjs-dragging-in-progress"),this.dragTarget.absEl.highlight(void 0,this.dragColor)))}function d(e){var t=e;if("touchmove"===e.type&&(l(e),e.touches.length>0&&(t=e.touches[0])),this.lastTouchMove=e,this.dragTarget&&this.dragging&&this.dragTarget.isDraggable&&"mouse"===this.dragMechanism&&this.dragMouseStart){var r=c(this,t),i=Math.round((r.y-this.dragMouseStart.y)/a.STEP);i!==this.dragYStep&&(this.dragYStep=i,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+i*a.STEP+")"))}}function u(e){var t=e;"touchend"===e.type&&this.lastTouchMove&&(l(this.lastTouchMove),this.lastTouchMove&&this.lastTouchMove.touches&&this.lastTouchMove.touches.length>0&&(t=this.lastTouchMove.touches[0])),this.dragTarget&&(m.bind(this)(),this.dragTarget.absEl&&this.dragTarget.absEl.highlight&&(this.selected=[this.dragTarget.absEl],this.dragTarget.absEl.highlight(void 0,this.selectionColor)),p.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,t),this.dragTarget.svgEl&&this.dragTarget.svgEl.focus&&(this.dragTarget.svgEl.focus(),this.dragTarget=null,this.dragIndex=-1),function(e,t){if(e){var r=v(e.svg);delete r[t],b(e.svg,r)}}(this.renderer.svg,"abcjs-dragging-in-progress"))}function f(e){e>=0&&eo&&en&&(i=n),i<-n&&(i=-n),i}(x,k,v,w),A=N+Math.floor(_/2),B=N+Math.floor(-_/2),S||(y&&N<6||!y&&N>6)&&(A=6,B=6),[A,B]),f=c(e.stemsUp,r,l);e.addBeam({startX:f[0],endX:f[1],startY:u[0],endY:u[1],dy:t});for(var p=function(e,t,r,a,i){for(var o=[],l=[],h=0;h0&&d.abcelem.beambr&&d.abcelem.beambr<=b+1){l[b].split||(l[b].split=[l[b].x]);var y=c(t,e[h-1],d);l[b].split[l[b].split.length-1]>=y[0]&&(y[0]+=d.w),l[b].split.push(y[0]),l[b].split.push(y[1])}}for(var x=l.length-1;x>=0;x--)if(h===e.length-1||s(e[h+1].abcelem.duration)>-x-4){var k=f,w=p+m*(x+1);l[x].single&&(k=0===h?f+5:f-5,w=n(r.startX,r.startY,r.endX,r.endY,k)+m*(x+1));var T={startX:l[x].x,endX:k,startY:l[x].y,endY:w,dy:i};if(void 0!==l[x].split){var C=l[x].split;T.endX<=C[C.length-1]&&(C[C.length-1]-=d.w),C.push(T.endX),T.split=l[x].split}o.push(T),l=l.slice(0,x)}}}return o}(e.elems,e.stemsUp,e.beams[0],e.isgrace,t),m=0;m0?((i=(r-(a-n*i))/n)*s>50&&(i=50/s),i):null}e.exports=function(e,t,r,n,s,l){var h,d,u=r;for(h=0;hMath.round(u)&&(u=f,s&&(h=-1)))}for(h=0;h=0&&(c.originalTop=c.top,c.originalBottom=c.bottom),n(c,l,"lyricHeightAbove"),n(c,l,"chordHeightAbove",c.specialY.chordLines.above),c.specialY.endingHeightAbove&&(c.specialY.chordHeightAbove?c.top+=2:c.top+=c.specialY.endingHeightAbove+i,l.endingHeightAbove=c.top),c.specialY.dynamicHeightAbove&&c.specialY.volumeHeightAbove?(c.top+=Math.max(c.specialY.dynamicHeightAbove,c.specialY.volumeHeightAbove)+i,l.dynamicHeightAbove=c.top,l.volumeHeightAbove=c.top):(n(c,l,"dynamicHeightAbove"),n(c,l,"volumeHeightAbove")),n(c,l,"partHeightAbove"),n(c,l,"tempoHeightAbove"),c.specialY.lyricHeightBelow&&(c.specialY.lyricHeightBelow+=e.spacing.vocal/a.STEP,l.lyricHeightBelow=c.bottom,c.bottom-=c.specialY.lyricHeightBelow+i),c.specialY.chordHeightBelow){l.chordHeightBelow=c.bottom;var h=c.specialY.chordHeightBelow;c.specialY.chordLines.below&&(h*=c.specialY.chordLines.below),c.bottom-=h+i}c.specialY.volumeHeightBelow&&c.specialY.dynamicHeightBelow?(l.volumeHeightBelow=c.bottom,l.dynamicHeightBelow=c.bottom,c.bottom-=Math.max(c.specialY.volumeHeightBelow,c.specialY.dynamicHeightBelow)+i):c.specialY.volumeHeightBelow?(l.volumeHeightBelow=c.bottom,c.bottom-=c.specialY.volumeHeightBelow+i):c.specialY.dynamicHeightBelow&&(l.dynamicHeightBelow=c.bottom,c.bottom-=c.specialY.dynamicHeightBelow+i),e.showDebug&&e.showDebug.indexOf("box")>=0&&(c.positionY=l);for(var d=0;d0&&(c.top+=f)}c.top+=e.spacing.staffTopMargin/a.STEP,r=2-c.bottom}}},735:function(e,t,r){var a=r(937);function i(e){for(var t=0;t0?0:5e-7)}e.exports=function(e,t,r,s,o){var c,l=0,h=1e3,d=o;s.startx=d;var u,f,p=0;for(r&&console.log("init layout",e),c=0;c1e-7?v.push(s.voices[c]):g.push(s.voices[c]);m=0;var b=0;for(c=0;cd&&(d=a.getNextX(g[c]),m=a.getSpacingUnits(g[c]),b=g[c].spacingduration);l+=m,h=Math.min(h,m),r&&console.log("currentduration: ",p,l,h);var y=void 0;for(c=0;c0){d=w;for(var C=0;Cd&&(d=a.getNextX(s.voices[c]),m=a.getSpacingUnits(s.voices[c]));return function(e){for(var t=0,r=0;r0){var i=a.children.length-1,n=a.children[i];if("bar"===n.abcelem.el_type){var s=n.children[0].x;s>t?t=s:n.children[0].x=t}}}}(s.voices),l+=m,s.setWidth(d),{spacingUnits:l,minSpace:h}}},3294:function(e,t,r){var a=r(3721);function i(e){return e.stemsUp}e.exports=function(e){if(e.anchor1&&e.anchor2){e.hasBeam=!!e.anchor1.parent.beam&&e.anchor1.parent.beam===e.anchor2.parent.beam;var t=e.anchor1.parent.beam;if(!e.hasBeam||t.elems[0]===e.anchor1.parent&&t.elems[t.elems.length-1]===e.anchor2.parent||(e.hasBeam=!1),e.hasBeam){var r=i(t)?e.anchor1.x+e.anchor1.w:e.anchor1.x;e.yTextPos=function(e,t,r){if(0===r.beams.length)return 0;r=r.beams[0];var i=e+(t-e)/2;return a(r.startX,r.startY,r.endX,r.endY,i)}(r,e.anchor2.x,t),e.yTextPos+=i(t)?3:-2,e.xTextPos=(o=r,c=e.anchor2.x,o+(c-o)/2),e.top=e.yTextPos+1,e.bottom=e.yTextPos-2,i(t)&&(e.endingHeightAbove=4)}else{e.startNote=Math.max(e.anchor1.parent.top,9)+4,e.endNote=Math.max(e.anchor2.parent.top,9)+4,"rest"===e.anchor1.parent.type&&"rest"!==e.anchor2.parent.type?e.startNote=e.endNote:"rest"===e.anchor2.parent.type&&"rest"!==e.anchor1.parent.type&&(e.endNote=e.startNote);for(var n=0,s=0;se.startNote||n>e.endNote)&&(e.startNote=n,e.endNote=n),e.flatBeams&&(e.startNote=Math.max(e.startNote,e.endNote),e.endNote=Math.max(e.startNote,e.endNote)),e.yTextPos=e.startNote+(e.endNote-e.startNote)/2,e.xTextPos=e.anchor1.x+(e.anchor2.x+e.anchor2.w-e.anchor1.x)/2,e.top=e.yTextPos+1}}var o,c;delete e.middleElems,delete e.flatBeams}},937:function(e){var t=function(){};t.beginLayout=function(e,t){t.i=0,t.durationindex=0,t.startx=e,t.minx=e,t.nextx=e,t.spacingduration=0},t.layoutEnded=function(e){return e.i>=e.children.length},t.getNextX=function(e){return Math.max(e.minx,e.nextx)},t.getSpacingUnits=function(e){return Math.sqrt(8*e.spacingduration)},t.layoutOneItem=function(e,t,r,a,i){var n=r.children[r.i];if(!n)return 0;var s=e-r.minx,o=r.durationindex+n.duration>0?a:0;if("note"===n.abcelem.el_type&&!n.abcelem.rest&&0!==r.voicenumber&&i){var c=i.children[i.i],l=c&&(n.abcelem.maxpitch<=c.abcelem.maxpitch+1&&n.abcelem.maxpitch>=c.abcelem.minpitch-1||n.abcelem.minpitch<=c.abcelem.maxpitch+1&&n.abcelem.minpitch>=c.abcelem.minpitch-1);if(l&&n.abcelem.minpitch===c.abcelem.minpitch&&n.abcelem.maxpitch===c.abcelem.maxpitch&&c.heads&&c.heads.length>0&&n.heads&&n.heads.length>0&&c.heads[0].c===n.heads[0].c&&(l=!1),l){var h=c.heads&&c.heads.length>0?c.heads[0].realWidth:c.fixed.w;n.adjustedWidth||(n.adjustedWidth=h+n.w),n.w=n.adjustedWidth;for(var d=0;d0&&t.putChordInLane(a),void(e[a]=r.right);e.push(r.right),t.putChordInLane(e.length-1)}}function c(e){for(var t=0,r=0;r=0;r--)(a=e[t].children[r]).chordHeightBelow&&o(n,a)}return(i.length>1||n.length>1)&&function(e,t,r){for(var a=0;a=0};n.prototype.reset=function(){this.paper.clear(),this.y=0,this.abctune=null,this.path=null,this.isPrint=!1,this.lineThickness=0,this.initVerticalSpace()},n.prototype.newTune=function(e){this.abctune=e,this.setVerticalSpace(e.formatting),this.isPrint="print"===e.media,this.setPadding(e)},n.prototype.setLineThickness=function(e){this.lineThickness=e},n.prototype.setPaddingOverride=function(e){this.paddingOverride={top:e.paddingtop,bottom:e.paddingbottom,right:e.paddingright,left:e.paddingleft}},n.prototype.setPadding=function(e){function t(t,r,a,i,n){void 0!==e.formatting[a]?t.padding[r]=e.formatting[a]:void 0!==t.paddingOverride[r]?t.padding[r]=t.paddingOverride[r]:t.isPrint?t.padding[r]=i:t.padding[r]=n}t(this,"top","topmargin",38,15),t(this,"bottom","botmargin",38,15),t(this,"left","leftmargin",68,15),t(this,"right","rightmargin",68,15)},n.prototype.adjustNonScaledItems=function(e){this.padding.top/=e,this.padding.bottom/=e,this.padding.left/=e,this.padding.right/=e,this.abctune.formatting.headerfont.size/=e,this.abctune.formatting.footerfont.size/=e},n.prototype.initVerticalSpace=function(){this.spacing={composer:7.56,graceBefore:8.67,graceInside:10.67,graceAfter:16,info:0,lineSkipFactor:1.1,music:7.56,paragraphSkipFactor:.4,parts:11.33,slurHeight:1,staffSeparation:61.33,staffTopMargin:0,stemHeight:36.67,subtitle:3.78,systemStaffSeparation:48,text:18.9,title:7.56,top:30.24,vocal:0,words:0}},n.prototype.setVerticalSpace=function(e){void 0!==e.staffsep&&(this.spacing.staffSeparation=4*e.staffsep/3),void 0!==e.composerspace&&(this.spacing.composer=4*e.composerspace/3),void 0!==e.partsspace&&(this.spacing.parts=4*e.partsspace/3),void 0!==e.textspace&&(this.spacing.text=4*e.textspace/3),void 0!==e.musicspace&&(this.spacing.music=4*e.musicspace/3),void 0!==e.titlespace&&(this.spacing.title=4*e.titlespace/3),void 0!==e.sysstaffsep&&(this.spacing.systemStaffSeparation=4*e.sysstaffsep/3),void 0!==e.stafftopmargin&&(this.spacing.staffTopMargin=4*e.stafftopmargin/3),void 0!==e.subtitlespace&&(this.spacing.subtitle=4*e.subtitlespace/3),void 0!==e.topspace&&(this.spacing.top=4*e.topspace/3),void 0!==e.vocalspace&&(this.spacing.vocal=4*e.vocalspace/3),void 0!==e.wordsspace&&(this.spacing.words=4*e.wordsspace/3)},n.prototype.calcY=function(e){return this.y-e*a.STEP},n.prototype.moveY=function(e,t){void 0===t&&(t=1),this.y+=e*t},n.prototype.absolutemoveY=function(e){this.y=e},e.exports=n},4101:function(e){var t="http://www.w3.org/2000/svg";function r(e){this.svg=s(),this.currentGroup=[],e.appendChild(this.svg)}function a(e,t,r){var a=r-e;return"M "+e+" "+t+" l "+a+" 0 l 0 1 l "+-a+" 0 z "}function i(e,t,r){var a=r-t;return"M "+e+" "+t+" l 0 "+a+" l 1 0 l 0 "+-a+" z "}r.prototype.clear=function(){if(this.svg){var e=this.svg.parentNode;this.svg=s(),this.currentGroup=[],e&&(e.innerHTML="",e.appendChild(this.svg))}},r.prototype.setTitle=function(e){var t=document.createElement("title"),r=document.createTextNode(e);t.appendChild(r),this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.setResponsiveWidth=function(e,t){if(this.svg.setAttribute("viewBox","0 0 "+e+" "+t),this.svg.setAttribute("preserveAspectRatio","xMinYMin meet"),this.svg.removeAttribute("height"),this.svg.removeAttribute("width"),this.svg.style.display="inline-block",this.svg.style.position="absolute",this.svg.style.top="0",this.svg.style.left="0",this.svg.parentNode){var r=this.svg.parentNode.getAttribute("class");r?r.indexOf("abcjs-container")<0&&this.svg.parentNode.setAttribute("class",r+" abcjs-container"):this.svg.parentNode.setAttribute("class","abcjs-container"),this.svg.parentNode.style.display="inline-block",this.svg.parentNode.style.position="relative",this.svg.parentNode.style.width="100%";var a=t/e*100;this.svg.parentNode.style["padding-bottom"]=a+"%",this.svg.parentNode.style["vertical-align"]="middle",this.svg.parentNode.style.overflow="hidden"}},r.prototype.setSize=function(e,t){this.svg.setAttribute("width",e),this.svg.setAttribute("height",t)},r.prototype.setAttribute=function(e,t){this.svg.setAttribute(e,t)},r.prototype.setScale=function(e){1!==e?(this.svg.style.transform="scale("+e+","+e+")",this.svg.style["-ms-transform"]="scale("+e+","+e+")",this.svg.style["-webkit-transform"]="scale("+e+","+e+")",this.svg.style["transform-origin"]="0 0",this.svg.style["-ms-transform-origin-x"]="0",this.svg.style["-ms-transform-origin-y"]="0",this.svg.style["-webkit-transform-origin-x"]="0",this.svg.style["-webkit-transform-origin-y"]="0"):(this.svg.style.transform="",this.svg.style["-ms-transform"]="",this.svg.style["-webkit-transform"]="")},r.prototype.insertStyles=function(e){var r=document.createElementNS(t,"style");r.textContent=e,this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.setParentStyles=function(e){for(var t in e)e.hasOwnProperty(t)&&this.svg.parentNode&&(this.svg.parentNode.style[t]=e[t]);this.dummySvg&&(document.querySelector("body").removeChild(this.dummySvg),this.dummySvg=null)},r.prototype.rect=function(e){var t=[],r=e.x,n=e.y,s=e.x+e.width,o=e.y+e.height;return t.push(a(r,n,s)),t.push(a(r,o,s)),t.push(i(s,n,o)),t.push(i(r,o,n)),this.path({path:t.join(" "),stroke:"none","data-name":e["data-name"]})},r.prototype.dottedLine=function(e){var r=document.createElementNS(t,"line");r.setAttribute("x1",e.x1),r.setAttribute("x2",e.x2),r.setAttribute("y1",e.y1),r.setAttribute("y2",e.y2),r.setAttribute("stroke",e.stroke),r.setAttribute("stroke-dasharray","5,5"),this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.rectBeneath=function(e){var r=document.createElementNS(t,"rect");r.setAttribute("x",e.x),r.setAttribute("width",e.width),r.setAttribute("y",e.y),r.setAttribute("height",e.height),e.stroke&&r.setAttribute("stroke",e.stroke),e["stroke-opacity"]&&r.setAttribute("stroke-opacity",e["stroke-opacity"]),e.fill&&r.setAttribute("fill",e.fill),e["fill-opacity"]&&r.setAttribute("fill-opacity",e["fill-opacity"]),this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.text=function(e,r,a){var i=document.createElementNS(t,"text");for(var n in i.setAttribute("stroke","none"),r)r.hasOwnProperty(n)&&i.setAttribute(n,r[n]);for(var s=(""+e).split("\n"),o=0;o0?this.currentGroup[0].removeChild(r):this.svg.removeChild(r)),a&&(n[a]=i),i},r.prototype.openGroup=function(e){e=e||{};var r=document.createElementNS(t,"g");return e.klass&&r.setAttribute("class",e.klass),e.fill&&r.setAttribute("fill",e.fill),e.stroke&&r.setAttribute("stroke",e.stroke),e["data-name"]&&r.setAttribute("data-name",e["data-name"]),e.prepend?this.prepend(r):this.append(r),this.currentGroup.unshift(r),r},r.prototype.closeGroup=function(){var e=this.currentGroup.shift();return e&&0===e.children.length?(e.parentElement.removeChild(e),null):e},r.prototype.path=function(e){var r=document.createElementNS(t,"path");for(var a in e)e.hasOwnProperty(a)&&("path"===a?r.setAttributeNS(null,"d",e.path):"klass"===a?r.setAttributeNS(null,"class",e[a]):void 0!==e[a]&&r.setAttributeNS(null,a,e[a]));return this.append(r),r},r.prototype.pathToBack=function(e){var r=document.createElementNS(t,"path");for(var a in e)e.hasOwnProperty(a)&&("path"===a?r.setAttributeNS(null,"d",e.path):"klass"===a?r.setAttributeNS(null,"class",e[a]):r.setAttributeNS(null,a,e[a]));return this.prepend(r),r},r.prototype.lineToBack=function(e){for(var r=document.createElementNS(t,"line"),a=Object.keys(e),i=0;i0?this.currentGroup[0].appendChild(e):this.svg.appendChild(e)},r.prototype.prepend=function(e){this.currentGroup.length>0?this.currentGroup[0].appendChild(e):this.svg.insertBefore(e,this.svg.firstChild)},r.prototype.setAttributeOnElement=function(e,t){for(var r in t)t.hasOwnProperty(r)&&e.setAttributeNS(null,r,t[r])},r.prototype.moveElementToChild=function(e,t){e.appendChild(t)},e.exports=r}},t={},r=function r(a){var i=t[a];if(void 0!==i)return i.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}(7001),r;var e,t,r}));