1var ze=Object.defineProperty;var qe=(h,p,f)=>p in h?ze(h,p,{enumerable:!0,configurable:!0,writable:!0,value:f}):h[p]=f;var M=(h,p,f)=>qe(h,typeof p!="symbol"?p+"":p,f);(function(){"use strict";var h=(e=>(e.LoadAudioFileControlMessage="LOAD_AUDIO_FILE_CONTROL_MESSAGE",e.LoadAudioFileConfirmedMessage="LOAD_AUDIO_FILE_CONFIRMED_MESSAGE",e))(h||{});class p{constructor(){M(this,"audioFiles");this.audioFiles={}}addAudioFile(a,n){this.audioFiles[a]=n}doesAudioFileExist(a){return this.audioFiles[a]!==void 0}getAudioFileLengthInSamples(a){const n=this.audioFiles[a];return Math.min(...n.map(t=>t.length))}getAudioFileData(a){return this.audioFiles[a]}}const b=class b{constructor(a,n,t,m,o,r,s){M(this,"trackIndex");M(this,"audioFileId");M(this,"volume");M(this,"durationInSamples");M(this,"startSample");M(this,"audioFileStartSample");M(this,"playbackRate");this.trackIndex=a,this.audioFileId=n,this.volume=t,this.durationInSamples=m,this.startSample=o,this.audioFileStartSample=r,this.playbackRate=s}static writeToBuffer(a,n){const t=n.length;a[0]=t;for(let m=0;m<t;m++){const o=n[m],r=1+m*b.MESSAGE_SIZE;a[r]=o.trackIndex,a[r+1]=o.audioFileId,a[r+2]=o.volume,a[r+3]=o.durationInSamples,a[r+4]=o.startSample,a[r+5]=o.audioFileStartSample,a[r+6]=o.playbackRate}}static readFromBuffer(a){const n=a[0],t=[];for(let m=0;m<n;m++){const o=m*b.MESSAGE_SIZE+1,r={trackIndex:a[o],audioFileId:a[o+1],volume:a[o+2],durationInSamples:a[o+3],startSample:a[o+4],audioFileStartSample:a[o+5],playbackRate:a[o+6]};t.push(r)}return t}static clearBuffer(a){a[0]=0}};M(b,"MESSAGE_SIZE",7),M(b,"BYTES_PER_ELEMENT",Float64Array.BYTES_PER_ELEMENT);let f=b;function k(e){return e!==null&&typeof e=="object"&&"name"in e&&typeof e.name=="string"}function x(e){return e!==null&&typeof e=="object"&&"step"in e&&typeof e.step=="number"&&"alt"in e&&typeof e.alt=="number"&&!isNaN(e.step)&&!isNaN(e.alt)}var C=[0,2,4,-1,1,3,5],O=C.map(e=>Math.floor(e*7/12));function T(e){const{step:a,alt:n,oct:t,dir:m=1}=e,o=C[a]+7*n;if(t===void 0)return[m*o];const r=t-O[a]-4*n;return[m*o,m*r]}var Q=[3,0,4,1,5,2,6];function W(e){const[a,n,t]=e,m=Q[J(a)],o=Math.floor((a+1)/7);if(n===void 0)return{step:m,alt:o,dir:t};const r=n+4*o+O[m];return{step:m,alt:o,oct:r,dir:t}}function J(e){const a=(e+1)%7;return a<0?7+a:a}var w=(e,a)=>Array(Math.abs(a)+1).join(e),j=Object.freeze({empty:!0,name:"",num:NaN,q:"",type:"",step:NaN,alt:NaN,dir:NaN,simple:NaN,semitones:NaN,chroma:NaN,coord:[],oct:NaN}),ee="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",ae="(AA|A|P|M|m|d|dd)([-+]?\\d+)",te=new RegExp("^"+ee+"|"+ae+"$");function ne(e){const a=te.exec(`${e}`);return a===null?["",""]:a[1]?[a[1],a[2]]:[a[4],a[3]]}var _={};function v(e){return typeof e=="string"?_[e]||(_[e]=me(e)):x(e)?v(ie(e)):k(e)?v(e.name):j}var B=[0,2,4,5,7,9,11],L="PMMPPMM";function me(e){const a=ne(e);if(a[0]==="")return j;const n=+a[0],t=a[1],m=(Math.abs(n)-1)%7,o=L[m];if(o==="M"&&t==="P")return j;const r=o==="M"?"majorable":"perfectable",s=""+n+t,i=n<0?-1:1,P=n===8||n===-8?n:i*(m+1),c=oe(r,t),u=Math.floor((Math.abs(n)-1)/7),d=i*(B[m]+c+12*u),l=(i*(B[m]+c)%12+12)%12,S=T({step:m,alt:c,oct:u,dir:i});return{empty:!1,name:s,num:n,q:t,step:m,alt:c,dir:i,type:r,simple:P,semitones:d,chroma:l,coord:S,oct:u}}function oe(e,a){return a==="M"&&e==="majorable"||a==="P"&&e==="perfectable"?0:a==="m"&&e==="majorable"?-1:/^A+$/.test(a)?a.length:/^d+$/.test(a)?-1*(e==="perfectable"?a.length:a.length+1):0}function ie(e){const{step:a,alt:n,oct:t=0,dir:m}=e;if(!m)return"";const o=a+1+7*t,r=o===0?a+1:o,s=m<0?"-":"",i=L[a]==="M"?"majorable":"perfectable";return s+r+re(i,n)}function re(e,a){return a===0?e==="majorable"?"M":"P":a===-1&&e==="majorable"?"m":a>0?w("A",a):w("d",e==="perfectable"?a:a+1)}var R=(e,a)=>Array(Math.abs(a)+1).join(e),$=Object.freeze({empty:!0,name:"",letter:"",acc:"",pc:"",step:NaN,alt:NaN,chroma:NaN,height:NaN,coord:[],midi:null,freq:null}),D=new Map,se=e=>"CDEFGAB".charAt(e),Pe=e=>e<0?R("b",-e):R("#",e),Me=e=>e[0]==="b"?-e.length:e.length;function g(e){const a=JSON.stringify(e),n=D.get(a);if(n)return n;const t=typeof e=="string"?he(e):x(e)?g(pe(e)):k(e)?g(e.name):$;return D.set(a,t),t}var de=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function le(e){const a=de.exec(e);return a?[a[1].toUpperCase(),a[2].replace(/x/g,"##"),a[3],a[4]]:["","","",""]}function ce(e){return g(W(e))}var ue=(e,a)=>(e%a+a)%a,N=[0,2,4,5,7,9,11];function he(e){const a=le(e);
1if(a[0]===""||a[3]!=="")return $;const n=a[0],t=a[1],m=a[2],o=(n.charCodeAt(0)+3)%7,r=Me(t),s=m.length?+m:void 0,i=T({step:o,alt:r,oct:s}),P=n+t+m,c=n+t,u=(N[o]+r+120)%12,d=s===void 0?ue(N[o]+r,12)-12*99:N[o]+r+12*(s+1),l=d>=0&&d<=127?d:null,S=s===void 0?null:Math.pow(2,(d-69)/12)*440;return{empty:!1,acc:t,alt:r,chroma:u,coord:i,freq:S,height:d,letter:n,midi:l,name:P,oct:s,pc:c,step:o}}function pe(e){const{step:a,alt:n,oct:t}=e,m=se(a);if(!m)return"";const o=m+Pe(n);return t||t===0?o+t:o}function fe(e,a){const n=g(e),t=Array.isArray(a)?a:v(a).coord;if(n.empty||!t||t.length<2)return"";const m=n.coord,o=m.length===1?[m[0]+t[0]]:[m[0]+t[0],m[1]+t[1]];return ce(o).name}function G(e,a){const n=a.length,t=(e%n+n)%n;return a.slice(t,n).concat(a.slice(0,t))}var A={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},Z=e=>Number(e).toString(2).padStart(12,"0"),z=e=>parseInt(e,2),Ae=/^[01]{12}$/;function q(e){return Ae.test(e)}var be=e=>typeof e=="number"&&e>=0&&e<=4095,ge=e=>e&&q(e.chroma),H={[A.chroma]:A};function X(e){const a=q(e)?e:be(e)?Z(e):Array.isArray(e)?je(e):ge(e)?e.chroma:A.chroma;return H[a]=H[a]||Fe(a)}var ye=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Se(e){const a=[];for(let n=0;n<12;n++)e.charAt(n)==="1"&&a.push(ye[n]);return a}function ve(e){const a=e.split("");return a.map((n,t)=>G(t,a).join(""))}function Fe(e){const a=z(e),n=ve(e).map(z).filter(o=>o>=2048).sort()[0],t=Z(n),m=Se(e);return{empty:!1,name:"",setNum:a,chroma:e,normalized:t,intervals:m}}function je(e){if(e.length===0)return A.chroma;let a;const n=[0,0,0,0,0,0,0,0,0,0,0,0];for(let t=0;t<e.length;t++)a=g(e[t]),a.empty&&(a=v(e[t])),a.empty||(n[a.chroma]=1);return n.join("")}var Ne=[["1P 3M 5P","major","M ^ maj"],["1P 3M 5P 7M","major seventh","maj7 Î ma7 M7 Maj7 ^7"],["1P 3M 5P 7M 9M","major ninth","maj9 Î9 ^9"],["1P 3M 5P 7M 9M 13M","major thirteenth","maj13 Maj13 ^13"],["1P 3M 5P 6M","sixth","6 add6 add13 M6"],["1P 3M 5P 6M 9M","sixth added ninth","6add9 6/9 69 M69"],["1P 3M 6m 7M","major seventh flat sixth","M7b6 ^7b6"],["1P 3M 5P 7M 11A","major seventh sharp eleventh","maj#4 Î#4 Î#11 M7#11 ^7#11 maj7#11"],["1P 3m 5P","minor","m min -"],["1P 3m 5P 7m","minor seventh","m7 min7 mi7 -7"],["1P 3m 5P 7M","minor/major seventh","m/ma7 m/maj7 mM7 mMaj7 m/M7 -Î7 mÎ -^7 -maj7"],["1P 3m 5P 6M","minor sixth","m6 -6"],["1P 3m 5P 7m 9M","minor ninth","m9 -9"],["1P 3m 5P 7M 9M","minor/major ninth","mM9 mMaj9 -^9"],["1P 3m 5P 7m 9M 11P","minor eleventh","m11 -11"],["1P 3m 5P 7m 9M 13M","minor thirteenth","m13 -13"],["1P 3m 5d","diminished","dim ° o"],["1P 3m 5d 7d","diminished seventh","dim7 °7 o7"],["1P 3m 5d 7m","half-diminished","m7b5 ø -7b5 h7 h"],["1P 3M 5P 7m","dominant seventh","7 dom"],["1P 3M 5P 7m 9M","dominant ninth","9"],["1P 3M 5P 7m 9M 13M","dominant thirteenth","13"],["1P 3M 5P 7m 11A","lydian dominant seventh","7#11 7#4"],["1P 3M 5P 7m 9m","dominant flat ninth","7b9"],["1P 3M 5P 7m 9A","dominant sharp ninth","7#9"],["1P 3M 7m 9m","altered","alt7"],["1P 4P 5P","suspended fourth","sus4 sus"],["1P 2M 5P","suspended second","sus2"],["1P 4P 5P 7m","suspended fourth seventh","7sus4 7sus"],["1P 5P 7m 9M 11P","eleventh","11"],["1P 4P 5P 7m 9m","suspended fourth flat ninth","b9sus phryg 7b9sus 7b9sus4"],["1P 5P","fifth","5"],["1P 3M 5A","augmented","aug + +5 ^#5"],["1P 3m 5A","minor augmented","m#5 -#5 m+"],["1P 3M 5A 7M","augmented seventh","maj7#5 maj7+5 +maj7 ^7#5"],["1P 3M 5P 7M 9M 11A","major sharp eleventh (lydian)","maj9#11 Î9#11 ^9#11"],["1P 2M 4P 5P","","sus24 sus4add9"],["1P 3M 5A 7M 9M","","maj9#5 Maj9#5"],["1P 3M 5A 7m","","7#5 +7 7+ 7aug aug7"],["1P 3M 5A 7m 9A","","7#5#9 7#9#5 7alt"],["1P 3M 5A 7m 9M","","9#5 9+"],["1P 3M 5A 7m 9M 11A","","9#5#11"],["1P 3M 5A 7m 9m","","7#5b9 7b9#5"],["1P 3M 5A 7m 9m 11A","","7#5b9#11"],["1P 3M 5A 9A","","+add#9"],["1P 3M 5A 9M","","M#5add9 +add9"],["1P 3M 5P 6M 11A","","M6#11 M6b5 6#11 6b5"],["1P 3M 5P 6M 7M 9M","","M7add13"],["1P 3M 5P 6M 9M 11A","","69#11"],["1P 3m 5P 6M 9M","","m69 -69"],["1P 3M 5P 6m 7m","","7b6"],["1P 3M 5P 7M 9A 11A","","maj7#9#11"],["1P 3M 5P 7M 9M 11A 13M","","M13#11 maj13#11 M13+4 M13#4"],["1P 3M 5P 7M 9m","","M7b9"],["1P 3M 5P 7m 11A 13m","","7#11b13 7b5b13"],["1P 3M 5P 7m 13M","","7add6 67 7add13"],["1P 3M 5P 7m 9A 11A","","7#9#11 7b5#9 7#9b5"],["1P 3M 5P 7m 9A 11A 13M","","13#9#11"],["1P 3M 5P 7m 9A 11A 13m","","7#9#11b13"],["1P 3M 5P 7m 9A 13M","","13#9"],["1P 3M 5P 7m 9A 13m","","7#9b13"],["1P 3M 5P 7m 9M 11A","","9#11 9+4 9#4"],["1P 3M 5P 7m 9M 11A 13M","","13#11 13+4 13#4"],["1P 3M 5P 7m 9M 11A 13m","","9#11b13 9b5b13"],["1P 3M 5P 7m 9m 11A","","7b9#11 7b5b9 7b9b5"],["1P 3M 5P 7m 9m 11A 13M","","13b9#11"],["1P 3M 5P 7m 9m 11A 13m","","7b9b13#11 7b9#11b13 7b5b9b13"],["1P 3M 5P 7m 9m 13M","","13b9"],["1P 3M 5P 7m 9m 13m","","7b9b13"],["1P 3M 5P 7m 9m 9A","","7b9#9"],["1P 3M 5P 9M","","Madd9 2 add9 add2"],["1P 3M 5P 9m","","Maddb9"],["1P 3M 5d","","Mb5"],["1P 3M 5d 6M 7m 9M","","13b5"],["1P 3M 5d 7M","","M7b5"],["1P 3M 5d 7M 9M","","M9b5"],["1P 3M 5d 7m","","7b5"],["1P 3M 5d 7m 9M","","9b5"],["1P 3M 7m","","7no5"],["1P 3M 7m 13m","","7b13"],["1P 3M 7m 9M","","9no5"],["1P 3M 7m 9M 13M","","13no5"],["1P 3M 7m 9M 13m","","9b13"],["1P 3m 4P 5P","","madd4"],["1P 3m 5P 6m 7M","","mMaj7b6"],["1P 3m 5P 6m 7M 9M","","mMaj9b6"],["1P 3m 5P 7m 11P","","m7add11 m7add4"],["1P 3m 5P 9M","","madd9"],["1P 3m 5d 6M 7M","","o7M7"],["1P 3m 5d 7M","","oM7"],["1P 3m 6m 7M","","mb6M7"],["1P 3m 6m 7m","","m7#5"],["1P 3m 6m 7m 9M","","m9#5"],["1P 3m 5A 7m 9M 11P","","m11A"],["1P 3m 6m 9m","","mb6b9"],["1P 2M 3m 5d 7m","","m9b5"],["1P 4P 5A 7M","","M7#5sus4"],["1P 4P 5A 7M 9M","","M9#5sus4"],["1P 4P 5A 7m","","7#5sus4"],["1P 4P 5P 7M","","M7sus4"],["1P 4P 5P 7M 9M","","M9sus4"],["1P 4P 5P 7m 9M","","9sus4 9sus"],["1P 4P 5P 7m 9M 13M","","13sus4 13sus"],["1P 4P 5P 7m 9m 13m","","7sus4b9b13 7b9b13sus4"],["1P 4P 7m 10m","","4 quartal"],["1P 5P 7m 9m 11P","","11b9"]],Ee=Ne;({...A});var U=[],F={};function Ie(e,a,n){const t=xe(e),m={...X(e),name:n||"",quality:t,intervals:e,aliases:a};U.push(m),m.name&&(F[m.name]=m),F[m.setNum]=m,F[m.chroma]=m,m.aliases.forEac
1h(o=>ke(m,o))}function ke(e,a){F[a]=e}function xe(e){const a=n=>e.indexOf(n)!==-1;return a("5A")?"Augmented":a("3M")?"Major":a("5d")?"Diminished":a("3m")?"Minor":"Unknown"}Ee.forEach(([e,a,n])=>Ie(e.split(" "),n.split(" "),a)),U.sort((e,a)=>e.setNum-a.setNum);var Ce=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["1P 2M 3m 4P 5P 6m 7m","minor","aeolian"],["1P 2M 3m 3M 5P 6M","major blues"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3m 4P 5P 6M 7M","melodic minor"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["1P 2M 3M 4P 5P 6M 7m 7M","bebop"],["1P 2M 3m 4P 5d 6m 6M 7M","diminished","whole-half diminished"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["1P 2M 3M 4A 5P 6M 7M","lydian"],["1P 2M 3M 4P 5P 6M 7m","mixolydian","dominant"],["1P 2m 3m 4P 5P 6m 7m","phrygian"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["1P 3M 4P 5P 7M","ionian pentatonic"],["1P 3M 4P 5P 7m","mixolydian pentatonic","indian"],["1P 2M 4P 5P 6M","ritusen"],["1P 2M 4P 5P 7m","egyptian"],["1P 3M 4P 5d 7m","neopolitan major pentatonic"],["1P 3m 4P 5P 6m","vietnamese 1"],["1P 2m 3m 5P 6m","pelog"],["1P 2m 4P 5P 6m","kumoijoshi"],["1P 2M 3m 5P 6m","hirajoshi"],["1P 2m 4P 5d 7m","iwato"],["1P 2m 4P 5P 7m","in-sen"],["1P 3M 4A 5P 7M","lydian pentatonic","chinese"],["1P 3m 4P 6m 7m","malkos raga"],["1P 3m 4P 5d 7m","locrian pentatonic","minor seven flat five pentatonic"],["1P 3m 4P 5P 7m","minor pentatonic","vietnamese 2"],["1P 3m 4P 5P 6M","minor six pentatonic"],["1P 2M 3m 5P 6M","flat three pentatonic","kumoi"],["1P 2M 3M 5P 6m","flat six pentatonic"],["1P 2m 3M 5P 6M","scriabin"],["1P 3M 5d 6m 7m","whole tone pentatonic"],["1P 3M 4A 5A 7M","lydian #5P pentatonic"],["1P 3M 4A 5P 7m","lydian dominant pentatonic"],["1P 3m 4P 5P 7M","minor #7M pentatonic"],["1P 3m 4d 5d 7m","super locrian pentatonic"],["1P 2M 3m 4P 5P 7M","minor hexatonic"],["1P 2A 3M 5P 5A 7M","augmented"],["1P 2M 4P 5P 6M 7m","piongio"],["1P 2m 3M 4A 6M 7m","prometheus neopolitan"],["1P 2M 3M 4A 6M 7m","prometheus"],["1P 2m 3M 5d 6m 7m","mystery #1"],["1P 2m 3M 4P 5A 6M","six tone symmetric"],["1P 2M 3M 4A 5A 6A","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2m 2A 3M 4A 6m 7m","altered","super locrian","diminished whole tone","pomeroy"],["1P 2M 3m 4P 5d 6m 7m","locrian #2","half-diminished","aeolian b5"],["1P 2M 3M 4P 5P 6m 7m","mixolydian b6","melodic minor fifth mode","hindu"],["1P 2M 3M 4A 5P 6M 7m","lydian dominant","lydian b7","overtone"],["1P 2M 3M 4A 5A 6M 7M","lydian augmented"],["1P 2m 3m 4P 5P 6M 7m","dorian b2","phrygian #6","melodic minor second mode"],["1P 2m 3m 4d 5d 6m 7d","ultralocrian","superlocrian bb7","superlocrian diminished"],["1P 2m 3m 4P 5d 6M 7m","locrian 6","locrian natural 6","locrian sharp 6"],["1P 2A 3M 4P 5P 5A 7M","augmented heptatonic"],["1P 2M 3m 4A 5P 6M 7m","dorian #4","ukrainian dorian","romanian minor","altered dorian"],["1P 2M 3m 4A 5P 6M 7M","lydian diminished"],["1P 2M 3M 4A 5A 7m 7M","leading whole tone"],["1P 2M 3M 4A 5P 6m 7m","lydian minor"],["1P 2m 3M 4P 5P 6m 7m","phrygian dominant","spanish","phrygian major"],["1P 2m 3m 4P 5P 6m 7M","balinese"],["1P 2m 3m 4P 5P 6M 7M","neopolitan major"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4A 5P 6m 7M","hungarian minor"],["1P 2A 3M 4A 5P 6M 7m","hungarian major"],["1P 2m 3M 4P 5d 6M 7m","oriental"],["1P 2m 3m 3M 4A 5P 7m","flamenco"],["1P 2m 3m 4A 5P 6m 7M","todi raga"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2m 3M 5d 6m 7m 7M","enigmatic"],["1P 2M 3M 4P 5A 6M 7M","major augmented","major #5","ionian augmented","ionian #5"],["1P 2A 3M 4A 5P 6M 7M","lydian #9"],["1P 2m 2M 4P 4A 5P 6m 7M","messiaen's mode #4"],["1P 2m 3M 4P 4A 5P 6m 7M","purvi raga"],["1P 2m 3m 3M 4P 5P 6m 7m","spanish heptatonic"],["1P 2M 3m 3M 4P 5P 6M 7m","bebop minor"],["1P 2M 3M 4P 5P 5A 6M 7M","bebop major"],["1P 2m 3m 4P 5d 5P 6m 7m","bebop locrian"],["1P 2M 3m 4P 5P 6m 7m 7M","minor bebop"],["1P 2M 3M 4P 5d 5P 6M 7M","ichikosucho"],["1P 2M 3m 4P 5P 6m 6M 7M","minor six diminished"],["1P 2m 3m 3M 4A 5P 6M 7m","half-whole diminished","dominant diminished","messiaen's mode #2"],["1P 3m 3M 4P 5P 6M 7m 7M","kafi raga"],["1P 2M 3M 4P 4A 5A 6A 7M","messiaen's mode #6"],["1P 2M 3m 3M 4P 5d 5P 6M 7m","composite blues"],["1P 2M 3m 3M 4A 5P 6m 7m 7M","messiaen's mode #3"],["1P 2m 2M 3m 4P 4A 5P 6m 6M 7M","messiaen's mode #7"],["1P 2m 2M 3m 3M 4P 5d 5P 6m 6M 7m 7M","chromatic"]],Oe=Ce,Te={...A,intervals:[],aliases:[]},y={};function we(e){return y[e]||Te}function _e(e,a,n=[]){const t={...X(e),name:a,intervals:e,aliases:n};
1return y[t.name]=t,y[t.setNum]=t,y[t.chroma]=t,t.aliases.forEach(m=>Be(t,m)),t}function Be(e,a){y[a]=e}Oe.forEach(([e,a,...n])=>_e(e.split(" "),a,n));var Le=[[.125,"dl",["large","duplex longa","maxima","octuple","octuple whole"]],[.25,"l",["long","longa"]],[.5,"d",["double whole","double","breve"]],[1,"w",["whole","semibreve"]],[2,"h",["half","minim"]],[4,"q",["quarter","crotchet"]],[8,"e",["eighth","quaver"]],[16,"s",["sixteenth","semiquaver"]],[32,"t",["thirty-second","demisemiquaver"]],[64,"sf",["sixty-fourth","hemidemisemiquaver"]],[128,"h",["hundred twenty-eighth"]],[256,"th",["two hundred fifty-sixth"]]],Re=Le;Re.forEach(([e,a,n])=>void 0);function He(e,a,n){}var E=[[0,2773,0,"ionian","","Maj7","major"],[1,2902,2,"dorian","m","m7"],[2,3418,4,"phrygian","m","m7"],[3,2741,-1,"lydian","","Maj7"],[4,2774,1,"mixolydian","","7"],[5,2906,3,"aeolian","m","m7","minor"],[6,3434,5,"locrian","dim","m7b5"]],V={...A,name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]},$e=E.map(De),I={};$e.forEach(e=>{I[e.name]=e,e.aliases.forEach(a=>{I[a]=e})});function Y(e){return typeof e=="string"?I[e.toLowerCase()]||V:e&&e.name?Y(e.name):V}function De(e){const[a,n,t,m,o,r,s]=e,i=s?[s]:[],P=Number(n).toString(2);return{empty:!1,intervals:we(m).intervals,modeNum:a,chroma:P,normalized:P,name:m,setNum:n,alt:t,triad:o,seventh:r,aliases:i}}function K(e){return(a,n)=>{const t=Y(a);if(t.empty)return[];const m=G(t.modeNum,e),o=t.intervals.map(r=>fe(n,r));return m.map((r,s)=>o[s]+r)}}K(E.map(e=>e[4])),K(E.map(e=>e[5]));const Ge=128;class Ze extends AudioWorkletProcessor{constructor(n){super();M(this,"audioFilePlaybackMessageBuffer");M(this,"stopPlaybackMessageBuffer");M(this,"audioFileBank");M(this,"currentlyPlayingSnippets");M(this,"maxTrackOutputs");this.audioFileBank=new p,this.currentlyPlayingSnippets=new Set,this.maxTrackOutputs=n.processorOptions.maxTrackOutputs??16,this.audioFilePlaybackMessageBuffer=new Float64Array(n.processorOptions.audioFilePlaybackMessageBuffer),this.stopPlaybackMessageBuffer=new Int32Array(n.processorOptions.stopPlaybackMessageBuffer),this.port.onmessage=t=>{switch(t.data.type){case h.LoadAudioFileControlMessage:this.handleLoadAudioFileControlMessage(t.data);break}}}handleLoadAudioFileControlMessage(n){this.audioFileBank.addAudioFile(n.audioFileId,n.audioData),this.port.postMessage({type:h.LoadAudioFileConfirmedMessage,audioFileId:n.audioFileId})}process(n,t,m){const o=this.stopPlaybackMessageBuffer[0],r=f.readFromBuffer(this.audioFilePlaybackMessageBuffer);r.sort((s,i)=>s.startSample-i.startSample);for(let s=0;s<Ge;s++){for(;r.length>0&&r[0].startSample===s;){const i=r.shift();if(!this.audioFileBank.doesAudioFileExist(i.audioFileId))continue;const P={trackIndex:i.trackIndex??0,audioFileId:i.audioFileId,volume:i.volume,durationInSamples:i.durationInSamples,audioFileStartSample:i.audioFileStartSample,sampleCounter:0,playbackRate:i.playbackRate};this.currentlyPlayingSnippets.add(P)}for(let i=0;i<this.maxTrackOutputs&&i<t.length;i++)t[i]&&t[i][0]&&(t[i][0][s]=0),t[i]&&t[i][1]&&(t[i][1][s]=0);s===o&&this.currentlyPlayingSnippets.forEach(i=>{i.fadeOutSample=i.sampleCounter}),this.currentlyPlayingSnippets.forEach(i=>{if(i.sampleCounter>=i.durationInSamples){this.currentlyPlayingSnippets.delete(i);return}const P=i.audioFileStartSample+i.sampleCounter;if(P*i.playbackRate>=this.audioFileBank.getAudioFileLengthInSamples(i.audioFileId))this.currentlyPlayingSnippets.delete(i);else{const c=this.getChannelSample(i.audioFileId,0,P,i.playbackRate),u=this.getChannelSample(i.audioFileId,1,P,i.playbackRate),d=this.getFadeOutFactor(i),l=Math.min(i.trackIndex,t.length-1);t[l]&&t[l][0]&&t[l][1]&&(t[l][0][s]+=c*i.volume*d,t[l][1][s]+=u*i.volume*d),i.sampleCounter++}})}return!0}getChannelSample(n,t,m,o){if(o===1)return this.getZeroPaddedChannelSample(n,t,m);{const r=m*o;return this.getInterpolatedChannelSample(n,t,r)}}getInterpolatedChannelSample(n,t,m){const o=Math.floor(m),r=m-o,s=this.getZeroPaddedChannelSample(n,t,o-1),i=this.getZeroPaddedChannelSample(n,t,o),P=this.getZeroPaddedChannelSample(n,t,o+1),u=this.getZeroPaddedChannelSample(n,t,o+2)-P-s+i,d=s-i-u,l=P-s,S=i;return((u*r+d)*r+l)*r+S}getZeroPaddedChannelSample(n,t,m){const o=this.audioFileBank.getAudioFileData(n);if(m<0||m>=this.audioFileBank.getAudioFileLengthInSamples(n))return 0;if(t===0)return o[0][m];if(t===1)return o.length>=2?o[1][m]:o[0][m];throw new Error("playback currently limited to stereo")}getFadeOutFactor(n){if(n.fadeOutSample===void 0)return 1;const t=n.sampleCounter-n.fadeOutSample,m=n.durationInSamples-n.fadeOutSample;return 1-t/m}}registerProcessor("audio-file-player",Ze)})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.