// abc2svg - ABC to SVG translator // @source: https://chiselapp.com/user/moinejf/repository/abc2svg // Copyright (C) 2014-2020 Jean-Francois Moine - LGPL3+ //mdnn.js-module to output Modernised Diatonic Numerical Notation if(typeof Object.assign!=='function'){Object.defineProperty(Object,"assign",{value:function assign(target,varArgs){'use strict';if(target===null||target===undefined){throw new TypeError('Cannot convert undefined or null to object')} var to=Object(target);for(var index=1;index1',n2:'2',n3:'3',n4:'4',n5:'5',n6:'6',n7:'7',nq:'\'',nc:',',nh:'',nw:'',aff:'',af:'',nn:'',ns:'',nss:''},decos:{n1:"9 n1 0 0 0",n2:"9 n2 0 0 0",n3:"9 n3 0 0 0",n4:"9 n4 0 0 0",n5:"9 n5 0 0 0",n6:"9 n6 0 0 0",n7:"9 n7 0 0 0",q:"0 nq 0 0 0",c:"0 nc 0 0 0",h:"0 nh 0 0 0",w:"0 nw 0 0 0",aff:"0 aff 0 0 0",af:"0 af 0 0 0",n:"0 nn 0 0 0",s:"0 ns 0 0 0",ss:"0 nss 0 0 0"},output_music:function(of){var C=abc2svg.C,abc=this,cfmt=abc.cfmt(),cur_sy=abc.get_cur_sy(),voice_tb=abc.get_voice_tb(),sf=voice_tb[0].key.k_sf,delta=abc2svg.mdnn.cgd2cde[sf+7]-2 var s,s2,note,pit,nn,p,a,i,prev_oct=-10 if(!cfmt.mdnn){of() return} voice_tb[0].key.k_a_acc=[] voice_tb[0].clef.invis=true cur_sy.staves[0].stafflines="..." for(s=voice_tb[0].sym;s;s=s.next){switch(s.type){case C.CLEF:s.invis=true continue case C.KEY:sf=s.k_sf delta=abc2svg.mdnn.cgd2cde[sf+7]-2 nn=sf-s.k_old_sf s.k_old_sf=0 s.k_sf=nn continue default:continue case C.NOTE:break} note=s.notes[0] p=note.pit pit=p+delta nn=((pit+77)%7)+1 if(!note.a_dcn) note.a_dcn=[] note.a_dcn.push('n'+nn) note.pit=23 s.stem=1 nn=(pit/7)|0 if(nn>prev_oct){if(prev_oct!=-10){if(!note.a_dcn) note.a_dcn=[] note.a_dcn.push('q')} prev_oct=nn}else if(nn=C.BLEN/2){if(!note.a_dcn) note.a_dcn=[] note.a_dcn.push(s.dur>=C.BLEN?'w':'h')} a=note.acc if(a){note.acc=0 if(!note.a_dcn) note.a_dcn=[] nn=abc2svg.mdnn.cde2fcg[(p+5+16*7)%7]-sf if(a!=3) nn+=a*7 nn=((((nn+1+21)/7)|0)+2-3+32*5)%5 note.a_dcn.push(abc2svg.mdnn.acc_tb[nn])} if(s.sls){for(i=0;i