From 96beea38857f2b0c1ecde6f16e98d1cf91f596fa Mon Sep 17 00:00:00 2001 From: Dmitry Iv Date: Thu, 30 May 2024 18:08:25 -0400 Subject: [PATCH] Rebuild --- dist/{chunk-ZLKPYJPI.js => chunk-ZZPGCUWV.js} | 4 ++-- dist/wavearea.js | 4 ++-- dist/worker.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename dist/{chunk-ZLKPYJPI.js => chunk-ZZPGCUWV.js} (54%) diff --git a/dist/chunk-ZLKPYJPI.js b/dist/chunk-ZZPGCUWV.js similarity index 54% rename from dist/chunk-ZLKPYJPI.js rename to dist/chunk-ZZPGCUWV.js index db57872..51675ce 100644 --- a/dist/chunk-ZLKPYJPI.js +++ b/dist/chunk-ZZPGCUWV.js @@ -1,2 +1,2 @@ -var u=class{constructor(t){if(!t)throw TypeError("options argument is required");if(!t.sampleRate)throw TypeError("options.sampleRate is required");if(t.sampleRate<3e3||t.sampleRate>768e3)throw TypeError("options.sampleRate must be within 3000..768000");if(!t.length)throw TypeError("options.length must be more than 0");this.sampleRate=t.sampleRate,this.numberOfChannels=t.numberOfChannels||1,this.length=t.length|0,this.duration=this.length/this.sampleRate,this._data=new Float32Array(this.length*this.numberOfChannels),this._channelData=[];for(let n=0;n=this.numberOfChannels||t<0||t==null)throw Error("Cannot getChannelData: channel number ("+t+") exceeds number of channels ("+this.numberOfChannels+")");return this._channelData[t]}copyFromChannel(t,n,r){r==null&&(r=0);for(var s=this._channelData[n],o=r,l=0;or&&w(await n.decodeFile(r)))(e)},async mp3(e){let{MPEGDecoder:t}=await import("./mpg123-decoder-UBRSS5IY.js"),n=new t;return await n.ready,(g.mp3=r=>r&&w(n.decode(r)))(e)},async flac(e){let{FLACDecoder:t}=await import("./flac-ZGCWAMZE.js"),n=new t;return await n.ready,(g.mp3=async r=>r&&w(await n.decode(r)))(e)},async opus(e){let{OggOpusDecoder:t}=await import("./ogg-opus-decoder-GNKUO3CE.js"),n=new t;return await n.ready,(g.opus=async r=>r&&w(await n.decodeFile(r)))(e)},async wav(e){let t=await import("./node-wav-6T5M4VPY.js"),{decode:n}=t.default;return(g.wav=r=>r&&w(n(r)))(e)},async qoa(e){let{decode:t}=await import("./qoa-format-5YQ5ZETV.js");return(g.qoa=n=>n&&w(t(n)))(e)}};function w({channelData:e,sampleRate:t}){let n=new L({sampleRate:t,length:e[0].length,numberOfChannels:e.length});for(let r=0;r>3)),l=new DataView(o),h=0,y=a=>l.setUint8(h++,a),d=a=>(l.setUint16(h,a,!0),h+=2),c=a=>(l.setUint32(h,a,!0),h+=4),m=a=>{for(var i=0;i>3)),d(r*(n>>3)),d(n),m("data"),c(o.byteLength-44);let C=new Float32Array(o,h);for(let a of e){let i=a.numberOfChannels,f=Array(i),D=a.length;for(let p=0;p=t.length?0:t[h],c+=m,d+=m**2;C=c/1024;let i=Math.sqrt(d/1024);a=Math.min(100,Math.ceil(i*s*r/(l-o)))||0,n+=String.fromCharCode(256+a);let f=Math.abs(Math.round(C*s/2));n+=(C>0?"\u0301":"\u0300").repeat(f),y+=1024}return e._wf=n,n}var $=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener("loadend",s=>{t(s.target.result)}),r.addEventListener("error",n),r.readAsArrayBuffer(e)});export{u as a,R as b,Z as c,H as d,Q as e,$ as f}; -//# sourceMappingURL=chunk-ZLKPYJPI.js.map +var u=class{constructor(t){if(!t)throw TypeError("options argument is required");if(!t.sampleRate)throw TypeError("options.sampleRate is required");if(t.sampleRate<3e3||t.sampleRate>768e3)throw TypeError("options.sampleRate must be within 3000..768000");if(!t.length)throw TypeError("options.length must be more than 0");this.sampleRate=t.sampleRate,this.numberOfChannels=t.numberOfChannels||1,this.length=t.length|0,this.duration=this.length/this.sampleRate,this._data=new Float32Array(this.length*this.numberOfChannels),this._channelData=[];for(let n=0;n=this.numberOfChannels||t<0||t==null)throw Error("Cannot getChannelData: channel number ("+t+") exceeds number of channels ("+this.numberOfChannels+")");return this._channelData[t]}copyFromChannel(t,n,r){r==null&&(r=0);for(var h=this._channelData[n],a=r,l=0;ar&&w(await n.decodeFile(r)))(e)},async mp3(e){let{MPEGDecoder:t}=await import("./mpg123-decoder-UBRSS5IY.js"),n=new t;return await n.ready,(p.mp3=r=>r&&w(n.decode(r)))(e)},async flac(e){let{FLACDecoder:t}=await import("./flac-ZGCWAMZE.js"),n=new t;return await n.ready,(p.mp3=async r=>r&&w(await n.decode(r)))(e)},async opus(e){let{OggOpusDecoder:t}=await import("./ogg-opus-decoder-GNKUO3CE.js"),n=new t;return await n.ready,(p.opus=async r=>r&&w(await n.decodeFile(r)))(e)},async wav(e){let t=await import("./node-wav-6T5M4VPY.js"),{decode:n}=t.default;return(p.wav=r=>r&&w(n(r)))(e)},async qoa(e){let{decode:t}=await import("./qoa-format-5YQ5ZETV.js");return(p.qoa=n=>n&&w(t(n)))(e)}};function w({channelData:e,sampleRate:t}){let n=new L({sampleRate:t,length:e[0].length,numberOfChannels:e.length});for(let r=0;r>3)),l=new DataView(a),c=0,y=o=>l.setUint8(c++,o),s=o=>(l.setUint16(c,o,!0),c+=2),d=o=>(l.setUint32(c,o,!0),c+=4),g=o=>{for(var i=0;i>3)),s(r*(n>>3)),s(n),g("data"),d(a.byteLength-44);let C=new Float32Array(a,c);for(let o of e){let i=o.numberOfChannels,A=Array(i),D=o.length;for(let m=0;m=t.length?0:t[a],y+=s,o=Math.max(o,s),i=Math.min(i,s);g=Math.min(h,Math.ceil(h*(o-i)/2))||0,C=Math.round(h*(o+i)/2),n+=String.fromCharCode(256+g),n+=(C>0?"\u0301":"\u0300").repeat(Math.abs(C)),l+=1024}return e._wf=n,n}var $=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener("loadend",h=>{t(h.target.result)}),r.addEventListener("error",n),r.readAsArrayBuffer(e)});export{u as a,O as b,Z as c,H as d,Q as e,$ as f}; +//# sourceMappingURL=chunk-ZZPGCUWV.js.map diff --git a/dist/wavearea.js b/dist/wavearea.js index cb8ba86..72216c1 100644 --- a/dist/wavearea.js +++ b/dist/wavearea.js @@ -1,6 +1,6 @@ -import{f as K}from"./chunk-ZLKPYJPI.js";import{b as Ae}from"./chunk-A576P2ZR.js";var N,m,$,W,j;function ee(e){N=e.signal,m=e.effect,j=e.computed,W=e.batch||(r=>r()),$=e.untracked||W}var T=Symbol("signals"),L=Symbol("length");function x(e,r){if(!e||e[T])return e;if(Array.isArray(e))return Ce(e);if(e.constructor!==Object)return e;let t={...r?.[T]},n=N(Object.values(e).length),s=new Proxy(t,{get:(a,o)=>o===L?n:o===T?t:t[o]?.valueOf(),set:(a,o,l,f)=>(f=t[o],V(t,o,l),f??++n.value,1),deleteProperty:(a,o)=>(t[o]&&(te(t,o),n.value--),1),ownKeys(){return n.value,Reflect.ownKeys(t)}});for(let a in e){let o=Object.getOwnPropertyDescriptor(e,a);o?.get?(t[a]=j(o.get.bind(s)))._set=o.set?.bind(s):(t[a]=void 0,V(t,a,e[a]))}return s}var Oe={push:1,pop:1,shift:1,unshift:1,splice:1};function Ce(e){let r;if(e[T])return e;let t=N(e.length),n=Array(e.length).fill(),s=new Proxy(n,{get(a,o){if(typeof o=="symbol")return o===L?t:o===T?n:n[o];if(o==="length")return Oe[r]?t.peek():t.value;if(r=o,n[o])return n[o].valueOf();if(o=t.peek()&&(t.value=n.length=Number(o)+1),!0},deleteProperty:(a,o)=>(n[o]&&te(n,o),1)});return s}function V(e,r,t){let n=e[r];if(r[0]==="_")e[r]=t;else if(!n)e[r]=n=t?.peek?t:N(x(t));else if(t!==n.peek())if(n._set)n._set(t);else if(Array.isArray(t)&&Array.isArray(n.peek())){let s=n.peek();s[L]?$(()=>{W(()=>{let a=0,o=t.length;for(;a{for(;n.length;)n.pop()();E.delete(e)},t;function s(a,o=a.parentNode){if(a.attributes)for(let l=0;l{if(t=ne[e=e.trim()])return t;try{t=se(e)}catch(n){X(n,r,e)}return ne[e]=t},X=(e,r,t="")=>{throw Object.assign(e,{message:`\u2234 ${e.message} +import{f as K}from"./chunk-ZZPGCUWV.js";import{b as Ae}from"./chunk-A576P2ZR.js";var N,m,$,F,j;function ee(e){N=e.signal,m=e.effect,j=e.computed,F=e.batch||(r=>r()),$=e.untracked||F}var T=Symbol("signals"),L=Symbol("length");function x(e,r){if(!e||e[T])return e;if(Array.isArray(e))return Ce(e);if(e.constructor!==Object)return e;let t={...r?.[T]},n=N(Object.values(e).length),s=new Proxy(t,{get:(a,o)=>o===L?n:o===T?t:t[o]?.valueOf(),set:(a,o,l,f)=>(f=t[o],V(t,o,l),f??++n.value,1),deleteProperty:(a,o)=>(t[o]&&(te(t,o),n.value--),1),ownKeys(){return n.value,Reflect.ownKeys(t)}});for(let a in e){let o=Object.getOwnPropertyDescriptor(e,a);o?.get?(t[a]=j(o.get.bind(s)))._set=o.set?.bind(s):(t[a]=void 0,V(t,a,e[a]))}return s}var Oe={push:1,pop:1,shift:1,unshift:1,splice:1};function Ce(e){let r;if(e[T])return e;let t=N(e.length),n=Array(e.length).fill(),s=new Proxy(n,{get(a,o){if(typeof o=="symbol")return o===L?t:o===T?n:n[o];if(o==="length")return Oe[r]?t.peek():t.value;if(r=o,n[o])return n[o].valueOf();if(o=t.peek()&&(t.value=n.length=Number(o)+1),!0},deleteProperty:(a,o)=>(n[o]&&te(n,o),1)});return s}function V(e,r,t){let n=e[r];if(r[0]==="_")e[r]=t;else if(!n)e[r]=n=t?.peek?t:N(x(t));else if(t!==n.peek())if(n._set)n._set(t);else if(Array.isArray(t)&&Array.isArray(n.peek())){let s=n.peek();s[L]?$(()=>{F(()=>{let a=0,o=t.length;for(;a{for(;n.length;)n.pop()();E.delete(e)},t;function s(a,o=a.parentNode){if(a.attributes)for(let l=0;l{if(t=ne[e=e.trim()])return t;try{t=se(e)}catch(n){X(n,r,e)}return ne[e]=t},X=(e,r,t="")=>{throw Object.assign(e,{message:`\u2234 ${e.message} ${r}${t?`="${t}" -`:""}`,expr:t})},se;y.use=e=>{e.signal&&ee(e),e.compile&&(se=e.compile)};var Z={};Ae(Z,{batch:()=>Se,computed:()=>xe,effect:()=>ie,signal:()=>ae,untracked:()=>Te});var _,R,ae=(e,r,t=new Set)=>(r={get value(){return _?.deps.push(t.add(_)),e},set value(n){if(n!==e){e=n;for(let s of t)R?R.add(s):s()}},peek(){return e}},r.toJSON=r.then=r.toString=r.valueOf=()=>r.value,r),ie=(e,r,t,n)=>(t=s=>{r?.call?.(),s=_,_=t;try{r=e()}finally{_=s}},n=t.deps=[],t(),s=>{for(r?.call?.();s=n.pop();)s.delete(t)}),xe=(e,r=ae(),t,n)=>(t={get value(){return n||=ie(()=>r.value=e()),r.value},peek:r.peek},t.toJSON=t.then=t.toString=t.valueOf=()=>t.value,t),Se=e=>{let r=R;r||(R=new Set);try{e()}finally{if(!r){r=R,R=null;for(let t of r)t()}}},Te=(e,r,t)=>(r=_,_=null,t=e(),_=r,t);var q=Symbol(":each");d.each=(e,[r,t,n],s)=>{let a=e[q]=document.createTextNode("");e.replaceWith(a);let o,l,f=0,p=j(()=>{l=null;let c=n(s);return typeof c=="number"&&(c=Array.from({length:c},(v,C)=>C+1)),c?.constructor===Object&&(l=Object.keys(c),c=Object.values(c)),c||[]}),g=()=>{$(()=>{let c=0,v=p.value,C=v.length;if(o&&!o[L]){for(let A of o[T]||[])A[Symbol.dispose]();o=null,f=0}if(CF.remove())}}:D;a.before(D),y(P,J),((o[T]||=[])[c]||={})[Symbol.dispose]=()=>{P[Symbol.dispose](),P.remove()}}}f=C})},u=0;return m(()=>{p.value[L]?.value,u?u++:(g(),queueMicrotask(()=>(u&&g(),u=0)))})};d.each.parse=(e,r)=>{let[t,n]=e.split(/\s+in\s+/),[s,a="$"]=t.split(/\s*,\s*/);return[s,a,r(n)]};var le=Symbol("if");d.if=(e,r,t)=>{let n=e.parentNode,s=e.nextElementSibling,a=document.createTextNode(""),o,l,f,p=[];return e.after(a),e.content?(o=p,e.remove(),l=[...e.content.childNodes]):l=o=[e],s?.hasAttribute(":else")?(s.removeAttribute(":else"),s.hasAttribute(":if")?f=p:(s.remove(),f=s.content?[...s.content.childNodes]:[s])):f=p,m(()=>{let g=r(t)?l:e[le]?p:f;if(s&&(s[le]=g===l),o!=g){o[0]?.[q]&&(o=[o[0][q]]);for(let u of o)u.remove();o=g;for(let u of o)n.insertBefore(u,a),y(u,t)}})};d.default=(e,r,t,n)=>{if(!n.startsWith("on"))return m(()=>{let u=r(t);if(n)Q(e,n,S(u,t));else for(let c in u)Q(e,Le(c),S(u[c],t))});let s=n.split("..").map(u=>{let c={evt:"",target:e,test:()=>!0};return c.evt=(u.startsWith("on")?u.slice(2):u).replace(/\.(\w+)?-?([-\w]+)?/g,(v,C,A="")=>(c.test=_e[C]?.(c,...A.split("-"))||c.test,"")),c});if(s.length==1)return m(()=>g(r(t),s[0]));let a,o,l,f=0,p=u=>{l=g(c=>(l(),o=u?.(c),(f=++f%s.length)?p(o):a&&p(a)),s[f])};return m(()=>(a=r(t),!l&&p(a),()=>a=null));function g(u,{evt:c,target:v,test:C,defer:A,stop:J,prevent:D,immediate:P,...F}){A&&(u=A(u));let z=M=>{try{C(M)&&(J&&(P?M.stopImmediatePropagation():M.stopPropagation()),D&&M.preventDefault(),u?.(M))}catch(be){X(be,`:on${c}`,u)}};return v.addEventListener(c,z,F),()=>v.removeEventListener(c,z,F)}};var _e={prevent(e){e.prevent=!0},stop(e){e.stop=!0},immediate(e){e.immediate=!0},once(e){e.once=!0},passive(e){e.passive=!0},capture(e){e.capture=!0},window(e){e.target=window},document(e){e.target=document},throttle(e,r){e.defer=t=>ke(t,r?Number(r)||0:108)},debounce(e,r){e.defer=t=>Ne(t,r?Number(r)||0:108)},outside:e=>r=>{let t=e.target;return!(t.contains(r.target)||r.target.isConnected===!1||t.offsetWidth<1&&t.offsetHeight<1)},self:e=>r=>r.target===e.target,ctrl:(e,...r)=>t=>h.ctrl(t)&&r.every(n=>h[n]?h[n](t):t.key===n),shift:(e,...r)=>t=>h.shift(t)&&r.every(n=>h[n]?h[n](t):t.key===n),alt:(e,...r)=>t=>h.alt(t)&&r.every(n=>h[n]?h[n](t):t.key===n),meta:(e,...r)=>t=>h.meta(t)&&r.every(n=>h[n]?h[n](t):t.key===n),arrow:()=>h.arrow,enter:()=>h.enter,esc:()=>h.esc,tab:()=>h.tab,space:()=>h.space,delete:()=>h.delete,digit:()=>h.digit,letter:()=>h.letter,char:()=>h.char},h={ctrl:e=>e.ctrlKey||e.key==="Control"||e.key==="Ctrl",shift:e=>e.shiftKey||e.key==="Shift",alt:e=>e.altKey||e.key==="Alt",meta:e=>e.metaKey||e.key==="Meta"||e.key==="Command",arrow:e=>e.key.startsWith("Arrow"),enter:e=>e.key==="Enter",esc:e=>e.key.startsWith("Esc"),tab:e=>e.key==="Tab",space:e=>e.key==="\xA0"||e.key==="Space"||e.key===" ",delete:e=>e.key==="Delete"||e.key==="Backspace",digit:e=>/^\d$/.test(e.key),letter:e=>/^\p{L}$/gu.test(e.key),char:e=>/^\S$/.test(e.key)},Q=(e,r,t)=>{t==null||t===!1?e.removeAttribute(r):e.setAttribute(r,t===!0?"":typeof t=="number"||typeof t=="string"?t:"")},ke=(e,r)=>{let t,n,s=a=>{t=!0,setTimeout(()=>{if(t=!1,n)return n=!1,s(a),e(a)},r)};return a=>t?n=!0:(s(a),e(a))},Ne=(e,r)=>{let t;return n=>{clearTimeout(t),t=setTimeout(()=>{t=null,e(n)},r)}},Le=e=>e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,r=>"-"+r.toLowerCase()),S=(e,r)=>e?.replace?e.replace(/\$<([^>]+)>/g,(t,n)=>r[n]??""):e;d.ref=(e,r,t)=>{t[S(r,t)]=e};d.ref.parse=e=>e;d.with=(e,r,t)=>{let n;return m(()=>{let s=r(t);y(e,n?s:n=x(s,t))})};d.html=(e,r,t)=>{let n=r(t);if(!n)return;let s=(n.content||n).cloneNode(!0);e.replaceChildren(s),y(e,t)};d.text=(e,r,t)=>(e.content&&e.replaceWith(e=document.createTextNode("")),m(()=>{let n=r(t);e.textContent=n??""}));d.class=(e,r,t)=>{let n=new Set;return m(()=>{let s=r(t),a=new Set;s&&(typeof s=="string"?S(s,t).split(" ").map(o=>a.add(o)):Array.isArray(s)?s.map(o=>(o=S(o,t))&&a.add(o)):Object.entries(s).map(([o,l])=>l&&a.add(o)));for(let o of n)a.has(o)?a.delete(o):e.classList.remove(o);for(let o of n=a)e.classList.add(o)})};d.style=(e,r,t)=>{let n=e.getAttribute("style")||"";return n.endsWith(";")||(n+="; "),m(()=>{let s=r(t);if(typeof s=="string")e.setAttribute("style",n+S(s,t));else{e.setAttribute("style",n);for(let a in s)e.style.setProperty(a,S(s[a],t))}})};d.value=(e,r,t)=>{let n,s,a=e.type==="text"||e.type===""?o=>e.setAttribute("value",e.value=o??""):e.tagName==="TEXTAREA"||e.type==="text"||e.type===""?o=>(n=e.selectionStart,s=e.selectionEnd,e.setAttribute("value",e.value=o??""),n&&e.setSelectionRange(n,s)):e.type==="checkbox"?o=>(e.checked=o,Q(e,"checked",o)):e.type==="select-one"?o=>{for(let l in e.options)l.removeAttribute("selected");e.value=o,e.selectedOptions[0]?.setAttribute("selected","")}:o=>e.value=o;return m(()=>a(r(t)))};d.fx=(e,r,t)=>m(()=>r(t));y.use(Z);y.use({compile:e=>y.constructor("__scope",`with (__scope) { return ${e} };`)});var ce=y;function G(e,r){if(!r)return e.play(),()=>e.pause();r.start||=0,e.currentTime=r.start;let t=()=>{if(e.readyState===0)return;let l=e.preload==="auto";l&&(e.preload="none"),e.currentTime<0&&(e.currentTime=0),e.currentTime>r.end&&(e.currentTime=r.end),l&&(e.preload="auto")},n,s=()=>{if(clearInterval(n),e.currentTime>=r.end){if(e.loop){e.currentTime=r.start;return}e.pause(),e.dispatchEvent(new Event("ended"));return}e.currentTime+.2>r.end&&(n=setInterval(s,10))},a=()=>{e.currentTime>=r.end&&(e.currentTime=r.start)};e.addEventListener("durationchange",t),e.addEventListener("seeking",t),e.addEventListener("timeupdate",s);let o=setInterval(s,50);return e.addEventListener("playing",a),e.play(),()=>{e.removeEventListener("durationchange",t),e.removeEventListener("seeking",t),e.removeEventListener("timeupdate",s),e.removeEventListener("playing",a),clearInterval(o),clearInterval(n),e.pause()}}var I=new Audio("data:audio/wav;base64,UklGRmgAAABXQVZFZm10IBAAAAABAAEAgLsAAAB3AQACABAAZGF0YQIAAABpNUxJU1Q6AAAASU5GT0lTRlQUAAAAcHJvYmUuYXVkaW90b29sLmNvbQBJQ1JEEQAAADIwMjMtMDMtMDIgMDctNDQAAA==");I.preload="metadata";I.load();I.volume=0;async function fe(){return new Promise(e=>{I.play();let r;I.onplaying=()=>r=performance.now(),I.onended=()=>{e(performance.now()-r)}})}var k={get(){let e=window.getSelection();if(!e.anchorNode||!e.anchorNode.parentNode.closest(".w-editarea"))return;let r=Y(e.anchorNode,e.anchorOffset),t=Y(e.focusNode,e.focusOffset),n=e.anchorNode.parentNode.closest(".w-segment"),s=e.anchorOffset,a=e.focusNode.parentNode.closest(".w-segment"),o=e.focusOffset;return r>t&&([t,a,o,r,n,s]=[r,n,s,t,a,o]),{start:r,startNode:n,startNodeOffset:s,end:t,endNode:a,endNodeOffset:o,collapsed:e.isCollapsed,range:e.getRangeAt(0)}},set(e,r){let t=window.getSelection();Array.isArray(e)&&(e=Y(...e)),Array.isArray(r)&&(r=Y(...r)),e=Math.max(0,e),r==null&&(r=e);let n=document.querySelector(".w-editarea"),[s,a]=ue(n,e),[o,l]=ue(n,r),f=t.getRangeAt(0);if(!(f.startContainer===s.firstChild&&f.startOffset===a)&&!(f.endContainer===o.firstChild&&f.endOffset===l)){t.removeAllRanges();let p=new Range;p.setStart(s.firstChild,a),p.setEnd(o.firstChild,l),t.addRange(p)}return{start:e,startNode:s,end:r,endNode:o,startNodeOffset:a,endNodeOffset:l,collapsed:t.isCollapsed,range:t.getRangeAt(0)}}};function Y(e,r){let t=e.parentNode.closest(".w-segment"),n=U(t.textContent.slice(0,r)).length;for(;t=t.previousSibling;)n+=U(t.textContent).length;return n}function ue(e,r){let t=e.firstChild,n;for(;r>(n=U(t.textContent).length);)r-=n,t=t.nextSibling;let s=0;for(let a=t.textContent,o=0;o="\u0300";)s++;return[t,r+s]}function U(e){return e.replace(/\u0300|\u0301/g,"")}history.scrollRestoration="manual";var b=document.querySelector(".wavearea"),O=b.querySelector(".w-editarea"),de=b.querySelector(".w-timecodes"),Ee=b.querySelector(".w-play"),Re=b.querySelector(".w-waveform"),me=b.querySelector(".w-caret-line"),w=new Audio,pe=new Worker("./dist/worker.js",{type:"module"}),he=new AudioContext,i=ce(b,{raf:e=>window.requestAnimationFrame(e),loading:!1,recording:!1,playing:!1,selecting:!1,isMouseDown:!1,scrolling:!1,clipStart:0,loop:!1,clipEnd:null,_startTime:0,_startTimeOffset:0,volume:1,latency:0,segments:[],total:0,duration:0,caretOffscreen:0,caretOffset:0,caretY:Re.getBoundingClientRect().top,caretX:0,cols:216,async handleCaret(){let e=k.get();!e||e.start===i.caretOffset&&e.collapsed||(i.caretOffset=e.start,i.updateCaretLine(e),i.clipStart=i.caretOffset,i.playing?(i._startTime=(performance.now()+i.latency)*.001,i._startTimeOffset=i.caretOffset):(i.clipEnd=e.collapsed?i.total:e.end,i.loop=w.loop=!e.collapsed),w.currentTime=i.duration*i.caretOffset/i.total)},async handleBeforeInput(e){let r=Ie[e.inputType];r?r.call(this,e):(e.preventDefault(),e.stopPropagation(),e.data===". "&&k.set(i.caretOffset))},async handleDrop(e){let t=e.dataTransfer.files[0];if(!t.type.startsWith("audio"))return!1;i.loading=!0,i.segments=[];let n=await K(t),s=await decodeAudio(n),a=await encodeAudio(s),o=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(o);return await applyOp(["src",l]),i.loading=!1,n},async handleFile(e){i.loading="Decoding";let r=e.target.files[0],t=await K(r),n=await he.decodeAudioData(t),s=Array.from({length:n.numberOfChannels},a=>n.getChannelData(a));await ye(["file",{name:r.name,numberOfChannels:n.numberOfChannels,sampleRate:n.sampleRate,length:n.length,channelData:s}]),i.loading=!1},scrollIntoCaret(){i.caretOffscreen&&!i.scrolling&&(me.scrollIntoView({behavior:"smooth",block:"center"}),i.scrolling=!0,setTimeout(()=>i.scrolling=!1,108))},play(e){i.playing=!0,i.scrolling=!1,O.focus(),i.caretOffset===i.total&&k.set(i.caretOffset=i.clipStart=0),i.scrollIntoCaret();let{clipStart:r,clipEnd:t,loop:n}=i,s=()=>Ee.click(),a;i._startTime,i._startTimeOffset=i.caretOffset;let o=async()=>{await new Promise(u=>setTimeout(u,i.latency)),i._startTime=performance.now()*.001,clearInterval(a),a=setInterval(p,10.8)},l=O.getBoundingClientRect().top,f=()=>{if(i.scrolling)return;let u=O.getBoundingClientRect().top;u!==l?(i.scrolling=!0,setTimeout(()=>(i.scrolling=!1,f()),1080)):i.scrolling=!1,l=u},p=()=>{if(f(),i.selecting)return;let u=performance.now()*.001-i._startTime,c=Math.min(i._startTimeOffset+Math.round(i.total*u/i.duration),i.total);n&&(c=Math.min(c,t));let v=k.set(i.caretOffset=c);i.updateCaretLine(v),i.scrollIntoCaret()};w.addEventListener("play",o,{once:!0}),i.loop&&w.addEventListener("seeked",o);let g=G(w,i.loop&&{start:i.duration*i.clipStart/i.total,end:i.duration*i.clipEnd/i.total});return w.addEventListener("ended",s),()=>{w.removeEventListener("seeked",o),w.removeEventListener("ended",s),clearInterval(a),g(),i.playing=!1,i.scrolling=!1,i.loop?k.set(r,t):w.currentTime>=w.duration&&k.set(i.total),O.focus()}},async goto(e){try{await H(e)}catch{await ve()}k.set(i.caretOffset)},updateCaretLine(e){let r=e.range.getClientRects(),t=r[r.length-1];i.caretX=t.right,i.caretY=t.top},updateTimecodes(){if(de.replaceChildren(),!O.textContent)return;let e=0;for(let r of O.children){let t=new Range;t.selectNodeContents(O);let n=Math.round(t.getBoundingClientRect().height/t.getClientRects()[1].height);for(let s=0;sp+g.length,0),l=r.endOffset+i.segments.slice(0,a).reduce((p,g)=>p+g.length,0);this._deleteTimeout?(clearTimeout(this._deleteTimeout),this._deleteOp[1]--):this._deleteOp=["del",o,l];let f=()=>{ye(this._deleteOp),this._deleteOp=this._deleteTimeout=null};this._deleteTimeout=setTimeout(f,280)}},B=async()=>{b.removeEventListener("touchstart",B),b.removeEventListener("mousedown",B),b.removeEventListener("keydown",B),i.latency=await fe()};b.addEventListener("touchstart",B);b.addEventListener("mousedown",B);b.addEventListener("keydown",B);var Be=new IntersectionObserver(([e])=>{i.caretOffscreen=e.isIntersecting?0:e.intersectionRect.top<=e.rootBounds.top?1:e.intersectionRect.bottom>=e.rootBounds.bottom?-1:0},{threshold:.999,rootMargin:"0px"});Be.observe(me);var De=new ResizeObserver(e=>{i.cols=ge(),i.updateTimecodes()});De.observe(O);function ge(){let e=new Range,r=O.firstChild.firstChild;if(!r?.textContent)return;let t=r.textContent;e.setStart(r,0),e.setEnd(r,1);let n=e.getClientRects()[0].y;for(var s=0,a=0;s="\u0300";)o++;e.setStart(r,0),e.setEnd(r,s=s+o);let l=e.getClientRects();if(l[l.length-1].y>n)return a}return t.length}async function ye(...e){let r=new URL(location);for(let n of e){let[s,...a]=n;a[0].name?r.searchParams.set(s,a[0].name):r.searchParams.has(s)?r.searchParams.set(s,`${r.searchParams.get(s)}..${a.join("-")}`):r.searchParams.append(s,a.join("-"))}i.loading="Processing";let t=await we(...e);return history.pushState(t,"",decodeURI(r)),i.loading=!1,O.textContent&&console.assert(t.segments.join("")===O.textContent,"Rendered waveform is different from UI"),H(t)}function we(...e){return new Promise(r=>{pe.postMessage({id:history.state?.id||0,ops:e}),pe.addEventListener("message",t=>{r(t.data)},{once:!0})})}function H({url:e,segments:r,duration:t,offsets:n}){return i.total=r.reduce((s,a)=>s+=U(a).length,0),i.duration=t,i.segments=r,i.cols||(i.cols=ge()),i.updateTimecodes(),w.src=e,w.preload="metadata",new Promise((s,a)=>{w.addEventListener("error",a),w.addEventListener("loadedmetadata",()=>{w.currentTime=t*i.caretOffset/i.total||0},{once:!0})})}async function ve(e=new URL(location)){i.loading="Fetching";let r=[];for(let[n,s]of e.searchParams)r.push(...s.split("..").map(a=>[n,...n==="src"||n==="file"?[a]:a.split("-")]));if(r[0][0]==="src"){let[,n]=r.shift(),a=await(await fetch(n,{cache:"force-cache"})).arrayBuffer();i.loading="Decoding";let o=await he.decodeAudioData(a),l=Array.from({length:o.numberOfChannels},f=>o.getChannelData(f));r.push(["file",{name:n,numberOfChannels:o.numberOfChannels,sampleRate:o.sampleRate,length:o.length,channelData:l}])}let t=await we(...r);history.replaceState(t,"",decodeURI(e)),H(t),i.loading=!1}location.search.length&&ve(); +`:""}`,expr:t})},se;y.use=e=>{e.signal&&ee(e),e.compile&&(se=e.compile)};var Z={};Ae(Z,{batch:()=>Se,computed:()=>xe,effect:()=>ie,signal:()=>ae,untracked:()=>Te});var _,R,ae=(e,r,t=new Set)=>(r={get value(){return _?.deps.push(t.add(_)),e},set value(n){if(n!==e){e=n;for(let s of t)R?R.add(s):s()}},peek(){return e}},r.toJSON=r.then=r.toString=r.valueOf=()=>r.value,r),ie=(e,r,t,n)=>(t=s=>{r?.call?.(),s=_,_=t;try{r=e()}finally{_=s}},n=t.deps=[],t(),s=>{for(r?.call?.();s=n.pop();)s.delete(t)}),xe=(e,r=ae(),t,n)=>(t={get value(){return n||=ie(()=>r.value=e()),r.value},peek:r.peek},t.toJSON=t.then=t.toString=t.valueOf=()=>t.value,t),Se=e=>{let r=R;r||(R=new Set);try{e()}finally{if(!r){r=R,R=null;for(let t of r)t()}}},Te=(e,r,t)=>(r=_,_=null,t=e(),_=r,t);var q=Symbol(":each");d.each=(e,[r,t,n],s)=>{let a=e[q]=document.createTextNode("");e.replaceWith(a);let o,l,f=0,p=j(()=>{l=null;let c=n(s);return typeof c=="number"&&(c=Array.from({length:c},(v,C)=>C+1)),c?.constructor===Object&&(l=Object.keys(c),c=Object.values(c)),c||[]}),g=()=>{$(()=>{let c=0,v=p.value,C=v.length;if(o&&!o[L]){for(let A of o[T]||[])A[Symbol.dispose]();o=null,f=0}if(CW.remove())}}:D;a.before(D),y(P,J),((o[T]||=[])[c]||={})[Symbol.dispose]=()=>{P[Symbol.dispose](),P.remove()}}}f=C})},u=0;return m(()=>{p.value[L]?.value,u?u++:(g(),queueMicrotask(()=>(u&&g(),u=0)))})};d.each.parse=(e,r)=>{let[t,n]=e.split(/\s+in\s+/),[s,a="$"]=t.split(/\s*,\s*/);return[s,a,r(n)]};var le=Symbol("if");d.if=(e,r,t)=>{let n=e.parentNode,s=e.nextElementSibling,a=document.createTextNode(""),o,l,f,p=[];return e.after(a),e.content?(o=p,e.remove(),l=[...e.content.childNodes]):l=o=[e],s?.hasAttribute(":else")?(s.removeAttribute(":else"),s.hasAttribute(":if")?f=p:(s.remove(),f=s.content?[...s.content.childNodes]:[s])):f=p,m(()=>{let g=r(t)?l:e[le]?p:f;if(s&&(s[le]=g===l),o!=g){o[0]?.[q]&&(o=[o[0][q]]);for(let u of o)u.remove();o=g;for(let u of o)n.insertBefore(u,a),y(u,t)}})};d.default=(e,r,t,n)=>{if(!n.startsWith("on"))return m(()=>{let u=r(t);if(n)Q(e,n,S(u,t));else for(let c in u)Q(e,Le(c),S(u[c],t))});let s=n.split("..").map(u=>{let c={evt:"",target:e,test:()=>!0};return c.evt=(u.startsWith("on")?u.slice(2):u).replace(/\.(\w+)?-?([-\w]+)?/g,(v,C,A="")=>(c.test=_e[C]?.(c,...A.split("-"))||c.test,"")),c});if(s.length==1)return m(()=>g(r(t),s[0]));let a,o,l,f=0,p=u=>{l=g(c=>(l(),o=u?.(c),(f=++f%s.length)?p(o):a&&p(a)),s[f])};return m(()=>(a=r(t),!l&&p(a),()=>a=null));function g(u,{evt:c,target:v,test:C,defer:A,stop:J,prevent:D,immediate:P,...W}){A&&(u=A(u));let z=M=>{try{C(M)&&(J&&(P?M.stopImmediatePropagation():M.stopPropagation()),D&&M.preventDefault(),u?.(M))}catch(be){X(be,`:on${c}`,u)}};return v.addEventListener(c,z,W),()=>v.removeEventListener(c,z,W)}};var _e={prevent(e){e.prevent=!0},stop(e){e.stop=!0},immediate(e){e.immediate=!0},once(e){e.once=!0},passive(e){e.passive=!0},capture(e){e.capture=!0},window(e){e.target=window},document(e){e.target=document},throttle(e,r){e.defer=t=>ke(t,r?Number(r)||0:108)},debounce(e,r){e.defer=t=>Ne(t,r?Number(r)||0:108)},outside:e=>r=>{let t=e.target;return!(t.contains(r.target)||r.target.isConnected===!1||t.offsetWidth<1&&t.offsetHeight<1)},self:e=>r=>r.target===e.target,ctrl:(e,...r)=>t=>h.ctrl(t)&&r.every(n=>h[n]?h[n](t):t.key===n),shift:(e,...r)=>t=>h.shift(t)&&r.every(n=>h[n]?h[n](t):t.key===n),alt:(e,...r)=>t=>h.alt(t)&&r.every(n=>h[n]?h[n](t):t.key===n),meta:(e,...r)=>t=>h.meta(t)&&r.every(n=>h[n]?h[n](t):t.key===n),arrow:()=>h.arrow,enter:()=>h.enter,esc:()=>h.esc,tab:()=>h.tab,space:()=>h.space,delete:()=>h.delete,digit:()=>h.digit,letter:()=>h.letter,char:()=>h.char},h={ctrl:e=>e.ctrlKey||e.key==="Control"||e.key==="Ctrl",shift:e=>e.shiftKey||e.key==="Shift",alt:e=>e.altKey||e.key==="Alt",meta:e=>e.metaKey||e.key==="Meta"||e.key==="Command",arrow:e=>e.key.startsWith("Arrow"),enter:e=>e.key==="Enter",esc:e=>e.key.startsWith("Esc"),tab:e=>e.key==="Tab",space:e=>e.key==="\xA0"||e.key==="Space"||e.key===" ",delete:e=>e.key==="Delete"||e.key==="Backspace",digit:e=>/^\d$/.test(e.key),letter:e=>/^\p{L}$/gu.test(e.key),char:e=>/^\S$/.test(e.key)},Q=(e,r,t)=>{t==null||t===!1?e.removeAttribute(r):e.setAttribute(r,t===!0?"":typeof t=="number"||typeof t=="string"?t:"")},ke=(e,r)=>{let t,n,s=a=>{t=!0,setTimeout(()=>{if(t=!1,n)return n=!1,s(a),e(a)},r)};return a=>t?n=!0:(s(a),e(a))},Ne=(e,r)=>{let t;return n=>{clearTimeout(t),t=setTimeout(()=>{t=null,e(n)},r)}},Le=e=>e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,r=>"-"+r.toLowerCase()),S=(e,r)=>e?.replace?e.replace(/\$<([^>]+)>/g,(t,n)=>r[n]??""):e;d.ref=(e,r,t)=>{t[S(r,t)]=e};d.ref.parse=e=>e;d.with=(e,r,t)=>{let n;return m(()=>{let s=r(t);y(e,n?s:n=x(s,t))})};d.html=(e,r,t)=>{let n=r(t);if(!n)return;let s=(n.content||n).cloneNode(!0);e.replaceChildren(s),y(e,t)};d.text=(e,r,t)=>(e.content&&e.replaceWith(e=document.createTextNode("")),m(()=>{let n=r(t);e.textContent=n??""}));d.class=(e,r,t)=>{let n=new Set;return m(()=>{let s=r(t),a=new Set;s&&(typeof s=="string"?S(s,t).split(" ").map(o=>a.add(o)):Array.isArray(s)?s.map(o=>(o=S(o,t))&&a.add(o)):Object.entries(s).map(([o,l])=>l&&a.add(o)));for(let o of n)a.has(o)?a.delete(o):e.classList.remove(o);for(let o of n=a)e.classList.add(o)})};d.style=(e,r,t)=>{let n=e.getAttribute("style")||"";return n.endsWith(";")||(n+="; "),m(()=>{let s=r(t);if(typeof s=="string")e.setAttribute("style",n+S(s,t));else{e.setAttribute("style",n);for(let a in s)e.style.setProperty(a,S(s[a],t))}})};d.value=(e,r,t)=>{let n,s,a=e.type==="text"||e.type===""?o=>e.setAttribute("value",e.value=o??""):e.tagName==="TEXTAREA"||e.type==="text"||e.type===""?o=>(n=e.selectionStart,s=e.selectionEnd,e.setAttribute("value",e.value=o??""),n&&e.setSelectionRange(n,s)):e.type==="checkbox"?o=>(e.checked=o,Q(e,"checked",o)):e.type==="select-one"?o=>{for(let l in e.options)l.removeAttribute("selected");e.value=o,e.selectedOptions[0]?.setAttribute("selected","")}:o=>e.value=o;return m(()=>a(r(t)))};d.fx=(e,r,t)=>m(()=>r(t));y.use(Z);y.use({compile:e=>y.constructor("__scope",`with (__scope) { return ${e} };`)});var ce=y;function G(e,r){if(!r)return e.play(),()=>e.pause();r.start||=0,e.currentTime=r.start;let t=()=>{if(e.readyState===0)return;let l=e.preload==="auto";l&&(e.preload="none"),e.currentTime<0&&(e.currentTime=0),e.currentTime>r.end&&(e.currentTime=r.end),l&&(e.preload="auto")},n,s=()=>{if(clearInterval(n),e.currentTime>=r.end){if(e.loop){e.currentTime=r.start;return}e.pause(),e.dispatchEvent(new Event("ended"));return}e.currentTime+.2>r.end&&(n=setInterval(s,10))},a=()=>{e.currentTime>=r.end&&(e.currentTime=r.start)};e.addEventListener("durationchange",t),e.addEventListener("seeking",t),e.addEventListener("timeupdate",s);let o=setInterval(s,50);return e.addEventListener("playing",a),e.play(),()=>{e.removeEventListener("durationchange",t),e.removeEventListener("seeking",t),e.removeEventListener("timeupdate",s),e.removeEventListener("playing",a),clearInterval(o),clearInterval(n),e.pause()}}var I=new Audio("data:audio/wav;base64,UklGRmgAAABXQVZFZm10IBAAAAABAAEAgLsAAAB3AQACABAAZGF0YQIAAABpNUxJU1Q6AAAASU5GT0lTRlQUAAAAcHJvYmUuYXVkaW90b29sLmNvbQBJQ1JEEQAAADIwMjMtMDMtMDIgMDctNDQAAA==");I.preload="metadata";I.load();I.volume=0;async function fe(){return new Promise(e=>{I.play();let r;I.onplaying=()=>r=performance.now(),I.onended=()=>{e(performance.now()-r)}})}var k={get(){let e=window.getSelection();if(!e.anchorNode||!e.anchorNode.parentNode.closest(".w-editarea"))return;let r=Y(e.anchorNode,e.anchorOffset),t=Y(e.focusNode,e.focusOffset),n=e.anchorNode.parentNode.closest(".w-segment"),s=e.anchorOffset,a=e.focusNode.parentNode.closest(".w-segment"),o=e.focusOffset;return r>t&&([t,a,o,r,n,s]=[r,n,s,t,a,o]),{start:r,startNode:n,startNodeOffset:s,end:t,endNode:a,endNodeOffset:o,collapsed:e.isCollapsed,range:e.getRangeAt(0)}},set(e,r){let t=window.getSelection();Array.isArray(e)&&(e=Y(...e)),Array.isArray(r)&&(r=Y(...r)),e=Math.max(0,e),r==null&&(r=e);let n=document.querySelector(".w-editarea"),[s,a]=ue(n,e),[o,l]=ue(n,r),f=t.getRangeAt(0);if(!(f.startContainer===s.firstChild&&f.startOffset===a)&&!(f.endContainer===o.firstChild&&f.endOffset===l)){t.removeAllRanges();let p=new Range;p.setStart(s.firstChild,a),p.setEnd(o.firstChild,l),t.addRange(p)}return{start:e,startNode:s,end:r,endNode:o,startNodeOffset:a,endNodeOffset:l,collapsed:t.isCollapsed,range:t.getRangeAt(0)}}};function Y(e,r){let t=e.parentNode.closest(".w-segment"),n=U(t.textContent.slice(0,r)).length;for(;t=t.previousSibling;)n+=U(t.textContent).length;return n}function ue(e,r){let t=e.firstChild,n;for(;r>(n=U(t.textContent).length);)r-=n,t=t.nextSibling;let s=0;for(let a=t.textContent,o=0;o="\u0300";)s++;return[t,r+s]}function U(e){return e.replace(/\u0300|\u0301/g,"")}history.scrollRestoration="manual";var b=document.querySelector(".wavearea"),O=b.querySelector(".w-editarea"),de=b.querySelector(".w-timecodes"),Ee=b.querySelector(".w-play"),Re=b.querySelector(".w-waveform"),me=b.querySelector(".w-caret-line"),w=new Audio,pe=new Worker("./dist/worker.js",{type:"module"}),he=new AudioContext,i=ce(b,{raf:e=>window.requestAnimationFrame(e),loading:!1,recording:!1,playing:!1,selecting:!1,isMouseDown:!1,scrolling:!1,clipStart:0,loop:!1,clipEnd:null,_startTime:0,_startTimeOffset:0,volume:1,latency:0,segments:[],total:0,duration:0,caretOffscreen:0,caretOffset:0,caretY:Re.getBoundingClientRect().top,caretX:0,cols:216,async handleCaret(){let e=k.get();!e||e.start===i.caretOffset&&e.collapsed||(i.caretOffset=e.start,i.updateCaretLine(e),i.clipStart=i.caretOffset,i.playing?(i._startTime=(performance.now()+i.latency)*.001,i._startTimeOffset=i.caretOffset):(i.clipEnd=e.collapsed?i.total:e.end,i.loop=w.loop=!e.collapsed),w.currentTime=i.duration*i.caretOffset/i.total)},async handleBeforeInput(e){let r=Ie[e.inputType];r?r.call(this,e):(e.preventDefault(),e.stopPropagation(),e.data===". "&&k.set(i.caretOffset))},async handleDrop(e){let t=e.dataTransfer.files[0];if(!t.type.startsWith("audio"))return!1;i.loading=!0,i.segments=[];let n=await K(t),s=await decodeAudio(n),a=await encodeAudio(s),o=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(o);return await applyOp(["src",l]),i.loading=!1,n},async handleFile(e){i.loading="Decoding";let r=e.target.files[0],t=await K(r),n=await he.decodeAudioData(t),s=Array.from({length:n.numberOfChannels},a=>n.getChannelData(a));await ye(["file",{name:r.name,numberOfChannels:n.numberOfChannels,sampleRate:n.sampleRate,length:n.length,channelData:s}]),i.loading=!1},scrollIntoCaret(){i.caretOffscreen&&!i.scrolling&&(me.scrollIntoView({behavior:"smooth",block:"center"}),i.scrolling=!0,setTimeout(()=>i.scrolling=!1,108))},play(e){i.playing=!0,i.scrolling=!1,O.focus(),i.caretOffset===i.total&&k.set(i.caretOffset=i.clipStart=0),i.scrollIntoCaret();let{clipStart:r,clipEnd:t,loop:n}=i,s=()=>Ee.click(),a;i._startTime,i._startTimeOffset=i.caretOffset;let o=async()=>{await new Promise(u=>setTimeout(u,i.latency)),i._startTime=performance.now()*.001,clearInterval(a),a=setInterval(p,10.8)},l=O.getBoundingClientRect().top,f=()=>{if(i.scrolling)return;let u=O.getBoundingClientRect().top;u!==l?(i.scrolling=!0,setTimeout(()=>(i.scrolling=!1,f()),1080)):i.scrolling=!1,l=u},p=()=>{if(f(),i.selecting)return;let u=performance.now()*.001-i._startTime,c=Math.min(i._startTimeOffset+Math.round(i.total*u/i.duration),i.total);n&&(c=Math.min(c,t));let v=k.set(i.caretOffset=c);i.updateCaretLine(v),i.scrollIntoCaret()};w.addEventListener("play",o,{once:!0}),i.loop&&w.addEventListener("seeked",o);let g=G(w,i.loop&&{start:i.duration*i.clipStart/i.total,end:i.duration*i.clipEnd/i.total});return w.addEventListener("ended",s),()=>{w.removeEventListener("seeked",o),w.removeEventListener("ended",s),clearInterval(a),g(),i.playing=!1,i.scrolling=!1,i.loop?k.set(r,t):w.currentTime>=w.duration&&k.set(i.total),O.focus()}},async goto(e){try{await H(e)}catch{await ve()}k.set(i.caretOffset)},updateCaretLine(e){let r=e.range.getClientRects(),t=r[r.length-1];i.caretX=t.right,i.caretY=t.top},updateTimecodes(){if(de.replaceChildren(),!O.textContent)return;let e=0;for(let r of O.children){let t=new Range;t.selectNodeContents(O);let n=Math.round(t.getBoundingClientRect().height/t.getClientRects()[1].height);for(let s=0;sp+g.length,0),l=r.endOffset+i.segments.slice(0,a).reduce((p,g)=>p+g.length,0);this._deleteTimeout?(clearTimeout(this._deleteTimeout),this._deleteOp[1]--):this._deleteOp=["del",o,l];let f=()=>{ye(this._deleteOp),this._deleteOp=this._deleteTimeout=null};this._deleteTimeout=setTimeout(f,280)}},B=async()=>{b.removeEventListener("touchstart",B),b.removeEventListener("mousedown",B),b.removeEventListener("keydown",B),i.latency=await fe()};b.addEventListener("touchstart",B);b.addEventListener("mousedown",B);b.addEventListener("keydown",B);var Be=new IntersectionObserver(([e])=>{i.caretOffscreen=e.isIntersecting?0:e.intersectionRect.top<=e.rootBounds.top?1:e.intersectionRect.bottom>=e.rootBounds.bottom?-1:0},{threshold:.999,rootMargin:"0px"});Be.observe(me);var De=new ResizeObserver(e=>{i.cols=ge(),i.updateTimecodes()});De.observe(O);function ge(){let e=new Range,r=O.firstChild.firstChild;if(!r?.textContent)return;let t=r.textContent;e.setStart(r,0),e.setEnd(r,1);let n=e.getClientRects()[0].y;for(var s=0,a=0;s="\u0300";)o++;e.setStart(r,0),e.setEnd(r,s=s+o);let l=e.getClientRects();if(l[l.length-1].y>n)return a}return t.length}async function ye(...e){let r=new URL(location);for(let n of e){let[s,...a]=n;a[0].name?r.searchParams.set(s,a[0].name):r.searchParams.has(s)?r.searchParams.set(s,`${r.searchParams.get(s)}..${a.join("-")}`):r.searchParams.append(s,a.join("-"))}i.loading="Processing";let t=await we(...e);return history.pushState(t,"",decodeURI(r)),i.loading=!1,O.textContent&&console.assert(t.segments.join("")===O.textContent,"Rendered waveform is different from UI"),H(t)}function we(...e){return new Promise(r=>{pe.postMessage({id:history.state?.id||0,ops:e}),pe.addEventListener("message",t=>{r(t.data)},{once:!0})})}function H({url:e,segments:r,duration:t,offsets:n}){return i.total=r.reduce((s,a)=>s+=U(a).length,0),i.duration=t,i.segments=r,i.cols||(i.cols=ge()),i.updateTimecodes(),w.src=e,w.preload="metadata",new Promise((s,a)=>{w.addEventListener("error",a),w.addEventListener("loadedmetadata",()=>{w.currentTime=t*i.caretOffset/i.total||0},{once:!0})})}async function ve(e=new URL(location)){i.loading=" ";let r=[];for(let[n,s]of e.searchParams)r.push(...s.split("..").map(a=>[n,...n==="src"||n==="file"?[a]:a.split("-")]));if(r[0][0]==="src"){let[,n]=r.shift(),a=await(await fetch(n,{cache:"force-cache"})).arrayBuffer();i.loading="Decoding";let o=await he.decodeAudioData(a),l=Array.from({length:o.numberOfChannels},f=>o.getChannelData(f));r.push(["file",{name:n,numberOfChannels:o.numberOfChannels,sampleRate:o.sampleRate,length:o.length,channelData:l}])}let t=await we(...r);history.replaceState(t,"",decodeURI(e)),H(t),i.loading=!1}location.search.length&&ve(); //# sourceMappingURL=wavearea.js.map diff --git a/dist/worker.js b/dist/worker.js index 82c5e40..16b2a88 100644 --- a/dist/worker.js +++ b/dist/worker.js @@ -1,2 +1,2 @@ -import{a as W,b as z,c as G,d as _,e as H,f as J}from"./chunk-ZLKPYJPI.js";import"./chunk-A576P2ZR.js";var te=function(){function e(){}return e.prototype.then=function(t,n){let r=new e,o=this.s;if(o){let i=1&o?t:n;if(i){try{d(r,1,i(this.v))}catch(a){d(r,2,a)}return r}return this}return this.o=function(i){try{let a=i.v;1&i.s?d(r,1,t?t(a):a):n?d(r,1,n(a)):d(r,2,a)}catch(a){d(r,2,a)}},r},e}();function d(e,t,n){if(!e.s){if(n instanceof te){if(!n.s)return void(n.o=d.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(d.bind(null,e,t),d.bind(null,e,2));e.s=t,e.v=n;let r=e.o;r&&r(e)}}var fe=0,A=typeof WeakMap=="function"?WeakMap:function(){var e=typeof Symbol=="function"?Symbol(0):"__weak$"+ ++fe;this.set=function(t,n){t[e]=n},this.get=function(t){return t[e]}};function Y(e,t){return new Promise(function(n,r){e.onsuccess=function(){var o=e.result;t&&(o=t(o)),n(o)},e.onerror=function(){r(e.error)}})}function ne(e,t){return Y(e.openCursor(t),function(n){return n?[n.key,n.value]:[]})}function Q(e){return new Promise(function(t,n){e.oncomplete=function(){t()},e.onabort=function(){n(e.error)},e.onerror=function(){n(e.error)}})}function K(e){if(!function(t){return!!(typeof t=="number"||typeof t=="string"||typeof t=="object"&&t&&(Array.isArray(t)||"setUTCFullYear"in t||typeof ArrayBuffer=="function"&&ArrayBuffer.isView(t)||"byteLength"in t&&"length"in t))}(e))throw Error("kv-storage: The given value is not allowed as a key")}var re={};function X(e,t){return ne(e,oe(t))}function oe(e){return e===re?IDBKeyRange.lowerBound(-1/0):IDBKeyRange.lowerBound(e,!0)}var ie=new A,T=new A,x=new A,ue=new A,E=function(){};function ee(e,t){return t(function(n,r){try{let v=function(){return T.set(e,i),x.set(e,void 0),{value:c,done:i===void 0}};var o=T.get(e);if(o===void 0)return Promise.resolve({value:void 0,done:!0});var i,a,c,h=function(f,u){var p,l=-1;e:{for(var y=0;y{let{id:t,ops:n}=e.data,r;for(;t{let t=e.map(a=>H(a)),n=e.reduce((a,{duration:c})=>a+c,0),r=await _(...e),o=new Blob([r],{type:"audio/wav"}),i=URL.createObjectURL(o);self.postMessage({id:j.length,url:i,segments:t,duration:n})},j=[],s=[],ce={async src(...e){return j.push(()=>s=[]),s=await Promise.all(e.map(G)),s},async file(e){if(typeof e=="string"){let r=await V.get(Z+":"+e);if(!r)return s;let o=await J(r);return s=[await z(o)]}j.push(()=>s.pop());let t=new W({numberOfChannels:e.numberOfChannels,length:e.length,sampleRate:e.sampleRate});e.channelData.forEach((r,o)=>t.getChannelData(o).set(r)),s.push(t);let n=new Blob([await _(...s)]);return console.log("save",Z+":"+e.name),V.set(Z+":"+e.name,n),s},del(e,t){e=Number(e),t=Number(t);let n=[...s];j.push(()=>{s=n});let r=ae(e),o=ae(t);!o[1]&&o[0]&&(o[0]-=1,o[1]=s[o[0]].length);let i=s[r[0]],a=s[o[0]],c=r[1]+(a.length-o[1]);if(!c)return s=[];let h=new W({length:c,sampleRate:i.sampleRate,numberOfChannels:i.numberOfChannels});for(let f=0;f{let t=e*1024;if(t===0)return[0,0];var n=0,r;for(let o=0;o{let{id:t,ops:n}=e.data,r;for(;t{let t=e.map(a=>H(a)),n=e.reduce((a,{duration:c})=>a+c,0),r=await _(...e),o=new Blob([r],{type:"audio/wav"}),i=URL.createObjectURL(o);self.postMessage({id:j.length,url:i,segments:t,duration:n})},j=[],s=[],ce={async src(...e){return j.push(()=>s=[]),s=await Promise.all(e.map(G)),s},async file(e){if(typeof e=="string"){let r=await V.get(Z+":"+e);if(!r)return s;let o=await J(r);return s=[await z(o)]}j.push(()=>s.pop());let t=new W({numberOfChannels:e.numberOfChannels,length:e.length,sampleRate:e.sampleRate});e.channelData.forEach((r,o)=>t.getChannelData(o).set(r)),s.push(t);let n=new Blob([await _(...s)]);return console.log("save",Z+":"+e.name),V.set(Z+":"+e.name,n),s},del(e,t){e=Number(e),t=Number(t);let n=[...s];j.push(()=>{s=n});let r=ae(e),o=ae(t);!o[1]&&o[0]&&(o[0]-=1,o[1]=s[o[0]].length);let i=s[r[0]],a=s[o[0]],c=r[1]+(a.length-o[1]);if(!c)return s=[];let h=new W({length:c,sampleRate:i.sampleRate,numberOfChannels:i.numberOfChannels});for(let f=0;f{let t=e*1024;if(t===0)return[0,0];var n=0,r;for(let o=0;o