colxiu-website.e01051fc.js 4.1 KB

1
  1. import{d as k,i as v,w as L,c as m,J as N,k as x,o as z,e as R,g as T}from"./native-message.ed3d4308.js";import"./lib-flexible.08f197e6.js";/* empty css */import{n as I,C as O,u as X,b as D,s as w,M as A,r as $,p as U,c as j,g as q,d as V,e as W,f as H,h as J,o as Y,i as G,j as K}from"./index.72815318.js";import{s as y,E as Q}from"./index.d7944579.js";import{P as Z}from"./index.8b6f5f75.js";import{S as ee}from"./index.2ae16974.js";import{B as te}from"./index.810c4ab2.js";import"./index.8bd5b010.js";import"./index.bb5d1777.js";function de(){import("data:text/javascript,")}const ae="_container_1fh7z_1",se="_musicSheet_1fh7z_4",ne="_btn_1fh7z_11",oe="_btnCont_1fh7z_18";var h={container:ae,musicSheet:se,btn:ne,btnCont:oe};window.OffscreenCanvas||(window.OffscreenCanvas=class{constructor(t,s){return this.canvas=document.createElement("canvas"),this.canvas.width=t,this.canvas.height=s,this.canvas.convertToBlob=()=>new Promise(e=>{this.canvas.toBlob(e)}),this.canvas}});const re=I.offscreen();function ce(c){return new Promise((t,s)=>{const e=new FileReader;e.onloadend=()=>t(e.result),e.readAsDataURL(c)})}async function M(c,t,s){const e=new OffscreenCanvas(t,s),o=e.getContext("2d");o.fillStyle="#FFFFFF";const r=await O.fromString(o,c,re);r.resize(t*2,s*2,"xMidYMid meet"),await r.start();const S=await e.convertToBlob();return await ce(S)}const g=X();console.log(g,"search");const ie=async(c,t)=>{const s=await W(c);let e=v("");const o=H(s);e.value=J(o.parsedXML,{title:t.musicSheetName});const r=Number(g["part-index"])||0;return e.value=Y(e.value,r),e},le=c=>{const t=v("loading"),s=v({}),e=v({});return z(async()=>{t.value="loading";try{const o=await $.get(`/open/music/sheet/detail/${g.id}`,{prefix:"/api-website"});s.value=o.data,w.partIndex=0,t.value="success"}catch(o){t.value="error",console.log(o)}}),[t,s,e]};var ue=k({name:"ColexiuWebSite",setup(){const c=v(!0),t=v(!1),s=v(""),[e,o,r]=le(g.id),S=new U(650,884);L(e,async()=>{if(e.value==="success"&&o.value.xmlFileUrl){const a=await ie(o.value.xmlFileUrl,o.value);s.value=a.value}}),D();const b=async a=>{if(a)for(const d of a.Drawer.Backends){const{state:i,width:n,height:l}=d.ctx,{x:u,y:p}=i.scale,f=new XMLSerializer().serializeToString(d.ctx.svg);return await M(f,n/u,l/p)}},C=async a=>{if(a){const d=[];if(a.Drawer.Backends.length>0){for(let i=0,n=a.Drawer.Backends.length;i<n;i++){const l=a.Drawer.Backends[i],{state:u,width:p,height:f}=l.ctx,{x:B,y:E}=u.scale,F=new XMLSerializer().serializeToString(l.ctx.svg);d.push(await M(F,p/B,f/E))}return d}}},_=async a=>{if(window.parent){const n=g.pageType==="multiple"?await C(a):await b(a);console.log(n,"img"),window.parent.postMessage(n,"*")}j.osmd=a;const d=q(a);c.value=!1;const i=(n,l,u=!0)=>{const p=G(n);w.evaluatings={...w.evaluatings,[p.measureIndex]:{...p,...K(l.score),score:l.score,dontTransition:u}}};if(r.value.userMeasureScore){for(const n in r.value.userMeasureScore)if(Object.prototype.hasOwnProperty.call(r.value.userMeasureScore,n)){const l=r.value.userMeasureScore[n];for(const u of d)if(l.measureRenderIndex==u.noteElement.sourceMeasure.MeasureNumberXML-1)if(!u.noteElement.tie)i(u,l);else for(const p of u.noteElement.tie.notes){const f=V(p);!f||i(f,l,p!==u.noteElement.tie.StartNote)}}}},P=()=>{t.value=!0,c.value=!1};return()=>{var i,n;const a=c.value||e.value==="loading",d=t.value||e.value==="error";return m("div",{class:[y.container,x.sett.eyeProtection&&"eyeProtection",x.sett.camera&&"openCamera"]},[m("div",{id:"colexiu-detail-music-sheet",class:[y.musicSheet,h.musicSheet],style:{paddingLeft:w.isSpecialShapedScreen?w.notchHeight/2+"px":"auto"}},[a&&!d&&m(ee,{class:y.skeleton,rowWidth:"80%",title:!0,row:15},null),d&&m(Q,null,null),s.value&&m(A,{score:s.value,opotions:{drawTitle:!1,drawComposer:!1,drawLyricist:!1,drawMetronomeMarks:!0,drawMeasureNumbers:!0},EngravingRules:g.pageType==="multiple"?{PageFormat:S}:{},onRerender:_,onRenderError:P},null)]),((i=r.value)==null?void 0:i.videoFilePath)&&((n=r.value)==null?void 0:n.expire)===0?m(Z,N(r.value,{btnClass:h.btn,popupClass:h.popup}),{default:()=>[m(te,{class:h.btnCont},{default:()=>[m("img",{src:ReplayIcon},null)]})]}):null])}}});R();T(ue).mount("#app");export{de as __vite_legacy_guard};