1import{u as O,c as I,e as L,d as q,y as U,a2 as D,C as z,W as V,j as m,a as H,i as K,X as Q,b1 as _,b2 as G}from"./index-D3QK6ICz.js";import{r as v}from"./worker-Cd1G2JY9.js";import{o as N}from"./store-D670SFpE.js";import{P as X,a as J,b as Y}from"./popover-pLQqJFOT.js";import{u as Z}from"./premiere-webview-context-guard-DCdyiPEC.js";import{T as ee}from"./track-editor-NUotpgUM.js";import{u as te}from"./market-modal.context-Or_X5XpZ.js";import{u as re}from"./use-editor-navigation-blocker-treyeB7l.js";import{r as oe,u as ne}from"./use-premiere-cue-sync-zANNggcS.js";import{u as ie}from"./use-purchases-infinite-VpjCMPc6.js";import{n as se}from"./song-instrument-ref-normalization-DWCPRyJO.js";import{b as M}from"./market-song-queries-PNM2Dy_j.js";import{u as ae}from"./composer-song-queries-x5fVld4M.js";import{c as ce,i as de}from"./market-project-session-CVzIdymZ.js";import{p as le,g as ue}from"./premiere-connection-api-CmnjwHLI.js";import{s as W,r as A,a as me,b as pe}from"./premiere-stage-timing-BCVS_0rc.js";import{f as fe,h as ge}from"./producer-preview-session-DHwtEklb.js";import{a as he,b as we,c as ve,d as ke,r as xe}from"./track-editor-session-DW9cegmy.js";import{u as Se}from"./use.load-isolated-config-BHoWJKcM.js";import{s as be,a as ye}from"./premiere-workspace-switch-B2C4SGbw.js";import{I as Pe}from"./info-BiIA5WPi.js";import"./index-B8rcZ1c6.js";import"./index-C3xxiAJo.js";import"./hooks-DRMkbnZg.js";import"./quick-edit.store-BqrMNAyq.js";import"./hooks-DXcm-NWg.js";import"./audio.player.suspend-C0kP4o9j.js";import"./query-client-DapTl46Q.js";import"./mutation-C2bmJcMg.js";import"./infiniteQueryBehavior-DNvRlsuL.js";import"./hooks-B-93K1V8.js";import"./legacy-hooks-uaQBHTzz.js";import"./traditional-B1liy66o.js";import"./section-coordination-Z6EV5OdA.js";import"./track-editor-reference-video-QBH-mX6s.js";import"./option-popper-D1A5lwLq.js";import"./slider-fOBglUyG.js";import"./select-RSqQ5iMB.js";import"./index-Seb-baVn.js";import"./index-CtfrAues.js";import"./chevron-down-DMPBiLOI.js";import"./volume.svg-BQM3TcVw.js";import"./useReleaseCommitValue-BEZn0Wtl.js";import"./scrub-value-DQEw5XaM.js";import"./mood-gradients-BS_Z3Eb2.js";import"./tooltip-DXeAgTpc.js";import"./three.core-BhVp48-y.js";import"./chevron-right-eDxwwXcd.js";import"./volume-x-C2oYZdBF.js";import"./volume-2-B5t1_udb.js";import"./pause-Bkf02Kap.js";import"./play-Bw82Aqpi.js";import"./use.render.song-C-GtQbQF.js";import"./audio-element-url-resolver-BsukdLr4.js";import"./resolve-loop-config-lKgDn2VK.js";import"./purchase-render-delivery-zhdynbjk.js";import"./loop-render-scope-BriXSDZ2.js";import"./render-download.store-DBOjFrS-.js";import"./chatbot-8DMbzt8-.js";import"./hooks-D6B5UWB0.js";import"./density.engine-BxXa6F17.js";import"./quick-edit-controller-load-CjKjaLxW.js";import"./song-shape-signature-BXEilHHk.js";import"./marked.esm-DO4tLqqc.js";import"./selectors-Df4Gw6D5.js";import"./index-DcxQKly2.js";import"./-songs-Cq0_LtiE.js";import"./instrument-mute-coordination-CosqAazY.js";import"./loops-B0Zd-gtO.js";import"./market-song-core-D3gRF0mj.js";import"./postgrest-By3_LmJc.js";import"./loop-instrument-swap-CBxQtQEG.js";import"./sample-pitch-fit-BuW8-Q66.js";import"./download.song.button-CO5du54l.js";import"./noise-button-DcZwB3Sx.js";import"./noise-background-ByLsbPy-.js";import"./proxy-SHpGou2N.js";import"./static-noise-button-vHLpWrmz.js";import"./useLocalStorage-CQCYOv18.js";import"./sonner-gXlcrt6Q.js";import"./loader-circle-sf6MSNtW.js";import"./circle-alert-BkNiQz9u.js";import"./use.subscription.purchase-CiK3wTMU.js";import"./hobby-loop-usage-BQEHX1wH.js";import"./checkout-access-token-dsDhxDp8.js";import"./-purchases-Dhwbi5nq.js";import"./loading.dots.svg-DbUuqRpY.js";import"./harmony-controls-Bxml8tue.js";import"./waveform-bars-DujEVU8w.js";import"./songs-kJNQQ8Gj.js";import"./styles-BeKeXjO2.js";const je=15e3,Ie=async(r,e)=>{if(!r)return[];try{const t=await M(r);if(t?.marketSongId!==r)return[];const o=await se(e,{context:"premiere.managed-composition.source-song",songId:r,warnOnBlockingRefs:!1,samplePathConstructHydrationMode:"none"});return q(t.songV2,o.song)?xe(t):[]}catch{return[]}},Te=(r,e,t)=>{const o=I.c(12),i=e?.sessionId,n=e?.compositionId,a=e?.headVersion,s=t?.snapshot.sourceSongId,d=t?.sourceRevisionId;let c;o[0]!==i||o[1]!==n||o[2]!==a||o[3]!==s||o[4]!==d?(c=["premiere-source-waveform",i,n,a,s,d],o[0]=i,o[1]=n,o[2]=a,o[3]=s,o[4]=d,o[5]=c):c=o[5];const l=!!(r&&e&&t);let u;o[6]!==t?(u=()=>t?Ie(t.snapshot.sourceSongId,t.sourceSong):Promise.resolve([]),o[6]=t,o[7]=u):u=o[7];let p;return o[8]!==c||o[9]!==l||o[10]!==u?(p={queryKey:c,enabled:l,queryFn:u},o[8]=c,o[9]=l,o[10]=u,o[11]=p):p=o[11],L(p)},Ee=(r,e,t)=>
1r.kind==="ready"&&e?{...r,waveformSamples:t??[]}:r,Ne=r=>r instanceof Error&&r.name==="AbortError";let F=0;const B=r=>[r.workflow,r.songId,r.sourceId??""].join(":"),Ce=r=>r.workflow==="shared-preview"&&de(r.songId,r.sourceId)||r.workflow==="producer-preview"&&ge(r.songId,r.sourceId),Re=(r,e,t)=>ve(r,e,t),R=r=>{r.workflow==="shared-preview"?ce(r.songId,r.sourceId):r.workflow==="producer-preview"&&fe(r.songId,r.sourceId)},Ae=async({load:r,result:e,signal:t,target:o,ownsAdmission:i,userId:n})=>{o.entrySurface;const a=o.entrySurface==="premiere-recovery"?W():void 0;if(await r(e.song,e.styles,void 0,{isCurrentTarget:()=>!t.aborted,requestOrigin:"track-editor",selectedPhraseIndices:[],signal:t})==="superseded")return!1;o.entrySurface;const d=N.getState();return!i()||String(d.song?.id)!==o.songId?!1:(d.setPersistence(e.persistence),A("controller_admission",a),!0)},_e=async r=>{const e=new AbortController;let t=!1;const o=()=>e.abort(r.signal.reason);r.signal.addEventListener("abort",o,{once:!0});let i;try{const n=await Promise.race([Ae({...r,ownsAdmission:()=>!t&&r.ownsAdmission(),signal:e.signal}).then(a=>({kind:"loaded",loaded:a})),new Promise(a=>{i=setTimeout(()=>a({kind:"timeout"}),je)})]);return n.kind==="timeout"?(t=!0,e.abort(new DOMException("Track Editor song load timed out","TimeoutError")),"timeout"):n.loaded}finally{i&&clearTimeout(i),r.signal.removeEventListener("abort",o)}},Le=async({allowActiveTargetReuse:r,load:e,ownsAdmission:t,projects:o,purchases:i,releaseLease:n,signal:a,target:s,trustedLiveTarget:d,userId:c})=>{const l=N.getState(),u=await we({activeSong:r?l.song:void 0,fetchCatalogSong:M,persistence:l.persistence,projects:o,purchases:i,target:s,trustedLiveTarget:d,userId:c});if(a.throwIfAborted(),u.status==="error")return n(),{kind:"error",reason:u.reason};if(u.source!=="active"){const p=await _e({load:e,ownsAdmission:t,result:u,signal:a,target:s,userId:c});if(p==="timeout")return n(),{kind:"error",reason:"load-timeout"};if(!p)return a.throwIfAborted(),t()?(n(),{kind:"error",reason:"mismatched-song"}):null}return!t()||(Re(s,c,u.waveformSamples),n(),a.aborted)?null:(s.entrySurface,{kind:"ready",source:u.source,waveformSamples:u.waveformSamples})},qe=({allowActiveTargetReuse:r,admission:e,load:t,projects:o,purchases:i,setStatus:n,target:a,trustedPreviewLease:s,userId:d})=>{const c=new AbortController,{signal:l}=c,u=()=>e===F,p=B(a);let f=s.current===p;!f&&Ce(a)&&(R(a),s.current=p,f=!0);const g=()=>{u()&&s.current===p&&(s.current=null)};return n({kind:"loading"}),Le({allowActiveTargetReuse:r,load:t,ownsAdmission:u,projects:o,purchases:i,releaseLease:g,signal:l,target:a,trustedLiveTarget:f,userId:d}).then(h=>{h&&n(h)}).catch(h=>{u()&&!l.aborted&&!Ne(h)&&(g(),n({kind:"error",reason:"load-failed"}))}),()=>c.abort()},Me=({fetchNextPurchasePage:r,hasNextPurchasePage:e,isFetchingNextPurchasePage:t,projectLoading:o,purchaseLoading:i,purchasePending:n,setStatus:a,songId:s,target:d,userId:c})=>c?s?d.workflow==="market-project"&&o||d.workflow==="purchase"&&(i||n)?(a({kind:"loading"}),n&&e&&!t&&r(),null):c:(a({kind:"error",reason:"invalid-target"}),null):d.workflow!=="catalog"?(ke(),a({kind:"auth-required"}),null):"anonymous",We=(r,e)=>{const t=I.c(12),o=e??"",i=r?.sessionId??"",n=r?.compositionId??"",a=r?.headVersion??-1;let s;t[0]!==o||t[1]!==i||t[2]!==n||t[3]!==a?(s=le({userId:o,sessionId:i,compositionId:n,headVersion:a}),t[0]=o,t[1]=i,t[2]=n,t[3]=a,t[4]=s):s=t[4];const d=!!(e&&r);let c;t[5]!==r||t[6]!==e?(c=async()=>{if(!r)throw new Error("Premiere correlation is unavailable");const u=W(),p=await ue({compositionId:r.compositionId,sessionId:r.sessionId,sourceClientId:r.sourceClientId});return A("managed_composition",u),p},t[5]=r,t[6]=e,t[7]=c):c=t[7];let l;return t[8]!==s||t[9]!==d||t[10]!==c?(l={queryKey:s,staleTime:1e4,enabled:d,queryFn:c},t[8]=s,t[9]=d,t[10]=c,t[11]=l):l=t[11],L(l)},Fe=({navigationState:r,premiereReference:e=null,routeSearch:t="",songId:o})=>{const{user:i}=O(),n=v.useMemo(()=>he(r,o,typeof window>"u"?"https://soundsculpt.app":window.location.origin,t),[r,t,o]),a=ae(i?.id??"",{enabled:!!i?.id&&n.workflow==="market-project"&&e===null}),s=We(e,i?.id),d=Te(i?.id,e,s.data),c=v.useMemo(()=>e?s.data?[{id:e.compositionId,is_archived:!1,song_config:{...s.data.song,id:e.compositionId},waveformSamples:[]}]:[]:a.data??[],[s.data,e,a.data]),l=e?s.isLoading:a.isLoading,u=ie(n.workflow==="purchase"?i?.id:void 0),p=n.workflow==="purchase"&&!!n.sourceId&&!u.data.some(P=>String(P.id)===n.sourceId)&&(u.isFetchingNextPage||u.hasNextPage),f=Se(),g=v.useRef(f);g.current=f;const h=v.useRef(null),S=v.useRef(i?.id??null),w=v.useRef({generation:0,key:""}),[b,x]=v.useState(0),[y,k]=v.useState(()=>i?.id||n.workflow==="catalog"?{kind:"loading"}:{kind:"auth-required"});return v.useEffect(()=>{const P=B(n),j=w.current,T=j.generation+1;return j.generation>0&&j.key!==P&&(h.current=null),w.current={generation:T,key:P},()=>{queueMicrotask(()=>
1{const E=w.current;E.generation===T+1&&E.key===P||(R(n),h.current===P&&(h.current=null))})}},[n.songId,n.sourceId,n.workflow]),v.useEffect(()=>{const P=++F,j=i?.id??null;S.current!==j&&(R(n),h.current=null,S.current=j);const T=Me({fetchNextPurchasePage:u.fetchNextPage,hasNextPurchasePage:u.hasNextPage,isFetchingNextPurchasePage:u.isFetchingNextPage,projectLoading:l,purchaseLoading:u.isLoading,purchasePending:p,setStatus:k,songId:o,target:n,userId:i?.id});if(T)return qe({allowActiveTargetReuse:e===null,admission:P,load:g.current,projects:c,purchases:u.data??[],setStatus:k,target:n,trustedPreviewLease:h,userId:T})},[b,n.workflow==="market-project"?c:void 0,n.workflow==="purchase"?u.data:void 0,l,u.isLoading,u.isFetchingNextPage,u.hasNextPage,p,o,n.entrySurface,n.returnTo,n.sourceId,n.workflow,i?.id]),{premiereSnapshot:s.data?.snapshot,waveformProjectionSourceSong:d.data?.length?s.data?.sourceSong:void 0,retry:()=>x(P=>P+1),status:Ee(y,e,d.data),target:n,user:i}},$=r=>r==="load-timeout"?"Sound Sculpt couldn't finish loading this song. Check your internet connection, then try again.":r==="load-failed"?"Sound Sculpt couldn't load the audio for this song. Check your internet connection, then try again.":r==="transient-session-expired"?"This temporary editing session is no longer available. Return to its original workflow and reopen it.":r==="mismatched-song"?"The resolved Song did not match this editor address. Nothing was opened.":r==="invalid-target"?"This editor address is incomplete or no longer valid.":"This Song could not be found or is not available to this account.",Be=()=>{if(typeof document>"u"||!document.referrer)return!1;try{return new URL(document.referrer).origin===window.location.origin&&window.history.length>1}catch{return!1}},$e=r=>r==="synchronized"?"Synchronized":r==="rejoin-required"?"Rejoin required":r==="degraded"?"Connection interrupted":r==="connecting"?"Connecting":"Inactive";function Oe(r){const e=I.c(33),{reference:t,sync:o}=r,i=`size-2 rounded-full ${o.phase==="synchronized"?"bg-emerald-400":o.phase==="connecting"?"bg-amber-300":"bg-red-400"}`;let n;e[0]!==i?(n=m.jsx("span",{"aria-hidden":"true",className:i}),e[0]=i,e[1]=n):n=e[1];let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=m.jsx(Pe,{"aria-hidden":"true",className:"size-3.5"}),e[2]=a):a=e[2];let s;e[3]!==n?(s=m.jsx(X,{asChild:!0,children:m.jsxs("button",{type:"button","aria-label":"Premiere info",className:"border-dominant-700 bg-dominant-900 text-dominant-300 hover:border-dominant-500 hover:text-dominant-100 inline-flex min-h-9 items-center gap-2 rounded-full border px-3 text-xs font-semibold transition-colors",children:[n,"Premiere",a]})}),e[3]=n,e[4]=s):s=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=m.jsx("p",{className:"font-semibold",children:"Premiere connection"}),e[5]=d):d=e[5];let c;e[6]!==o.phase?(c=$e(o.phase),e[6]=o.phase,e[7]=c):c=e[7];let l;e[8]!==c?(l=m.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d,m.jsx("span",{className:"text-dominant-400 text-xs",children:c})]}),e[8]=c,e[9]=l):l=e[9];let u;e[10]===Symbol.for("react.memo_cache_sentinel")?(u=m.jsx("dt",{className:"text-dominant-500 text-xs uppercase",children:"Cue"}),e[10]=u):u=e[10];let p;e[11]!==t.binding.cueName?(p=m.jsxs("div",{children:[u,m.jsx("dd",{className:"mt-1 font-medium",children:t.binding.cueName})]}),e[11]=t.binding.cueName,e[12]=p):p=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=m.jsx("dt",{className:"text-dominant-500 text-xs uppercase",children:"Project"}),e[13]=f):f=e[13];let g;e[14]!==t.binding.projectName?(g=m.jsxs("div",{children:[f,m.jsx("dd",{className:"mt-1",children:t.binding.projectName})]}),e[14]=t.binding.projectName,e[15]=g):g=e[15];let h;e[16]===Symbol.for("react.memo_cache_sentinel")?(h=m.jsx("dt",{className:"text-dominant-500 text-xs uppercase",children:"Sequence"}),e[16]=h):h=e[16];let S;e[17]!==t.binding.sequenceName?(S=m.jsxs("div",{children:[h,m.jsx("dd",{className:"mt-1",children:t.binding.sequenceName})]}),e[17]=t.binding.sequenceName,e[18]=S):S=e[18];let w;e[19]!==g||e[20]!==S||e[21]!==p?(w=m.jsxs("dl",{className:"mt-4 grid gap-3 text-sm",children:[p,g,S]}),e[19]=g,e[20]=S,e[21]=p,e[22]=w):w=e[22];let b;e[23]===Symbol.for("react.memo_cache_sentinel")?(b=m.jsx("p",{className:"text-dominant-400 mt-4 text-xs leading-5",children:"Premiere controls playback. Clicking this cue timeline moves the Premiere playhead."}),e[23]=b):b=e[23];let x;e[24]!==o.reason?(x=o.reason?m.jsx("p",{className:"mt-3 text-xs leading-5 text-red-300",children:o.reason}):null,e[24]=o.reason,e[25]=x):x=e[25];let y;
1e[26]!==w||e[27]!==x||e[28]!==l?(y=m.jsxs(J,{align:"end",sideOffset:8,"aria-label":"Premiere cue binding",className:"border-dominant-700 bg-dominant-950 z-[1200] w-80 rounded-xl border p-4 text-white shadow-2xl",children:[l,w,b,x]}),e[26]=w,e[27]=x,e[28]=l,e[29]=y):y=e[29];let k;return e[30]!==y||e[31]!==s?(k=m.jsx("div",{className:"mb-2 flex justify-end",children:m.jsxs(Y,{modal:!1,children:[s,y]})}),e[30]=y,e[31]=s,e[32]=k):k=e[32],k}function Ue(r){const e=I.c(33),{embeddedPremiereSurface:t,onPremiereWorkspaceSaveReady:o,songId:i,premiereReference:n,premiereRenderChangesPending:a,premierePreviewingFromSoundSculpt:s,onPremiereUseRenderedAudio:d,premiereSync:c,session:l,onRequireAuth:u}=r;if(l.status.kind!=="ready")return null;const p=l.status.source,f=t?"min-h-screen w-full":"mx-auto min-h-[calc(100vh-5rem)] max-w-[100rem] py-4";let g;e[0]!==t||e[1]!==n||e[2]!==c?(g=n&&!t?m.jsx(Oe,{reference:n,sync:c}):null,e[0]=t,e[1]=n,e[2]=c,e[3]=g):g=e[3];const h=l.premiereSnapshot,S=c.editorialMarkers,w=n?.sourceClientId,b=!!n;let x;e[4]!==t?(x=E=>{!t||!E.cueId||E.contextVersion===void 0||G({hostWindow:window,projectId:E.projectId,cueId:E.cueId,contextVersion:E.contextVersion})},e[4]=t,e[5]=x):x=e[5];const y=l.user?.id,k=!t,P=t?"premiere-webview":"browser";let j;e[6]!==d||e[7]!==o||e[8]!==u||e[9]!==s||e[10]!==a||e[11]!==c.editorialMarkers||e[12]!==c.phase||e[13]!==c.previewInSoundSculpt||e[14]!==c.reconnect||e[15]!==c.seekPremiere||e[16]!==l.premiereSnapshot||e[17]!==l.status.waveformSamples||e[18]!==l.target||e[19]!==l.waveformProjectionSourceSong||e[20]!==k||e[21]!==P||e[22]!==w||e[23]!==b||e[24]!==x||e[25]!==y?(j=m.jsx(ee,{onPremiereWorkspaceSaveReady:o,premiereSnapshot:h,premiereEditorialMarkers:S,premiereHolderClientId:w,premierePlaybackAuthority:b,premierePreviewingFromSoundSculpt:s,premiereRenderChangesPending:a,premiereSyncPhase:c.phase,onPremiereSeek:c.seekPremiere,onPremierePreviewTransport:c.previewInSoundSculpt,onPremiereSnapshotPersisted:x,onPremiereUseRenderedAudio:d,onPremiereReconnect:c.reconnect,target:l.target,userId:y,waveformSamples:l.status.waveformSamples,waveformProjectionSourceSong:l.waveformProjectionSourceSong,onRequireAuth:u,showAssistant:k,surface:P}),e[6]=d,e[7]=o,e[8]=u,e[9]=s,e[10]=a,e[11]=c.editorialMarkers,e[12]=c.phase,e[13]=c.previewInSoundSculpt,e[14]=c.reconnect,e[15]=c.seekPremiere,e[16]=l.premiereSnapshot,e[17]=l.status.waveformSamples,e[18]=l.target,e[19]=l.waveformProjectionSourceSong,e[20]=k,e[21]=P,e[22]=w,e[23]=b,e[24]=x,e[25]=y,e[26]=j):j=e[26];let T;return e[27]!==l.status.source||e[28]!==i||e[29]!==j||e[30]!==f||e[31]!==g?(T=m.jsxs("main",{id:"track-editor","data-testid":"track-editor-slot","data-song-id":i,"data-session-source":p,className:f,children:[g,j]}),e[27]=l.status.source,e[28]=i,e[29]=j,e[30]=f,e[31]=g,e[32]=T):T=e[32],T}function De(r){const e=I.c(19),{embeddedPremiereSurface:t,onPremiereWorkspaceSaveReady:o,songId:i,premiereReference:n,premiereRenderChangesPending:a,premierePreviewingFromSoundSculpt:s,onPremiereUseRenderedAudio:d,premiereSync:c,session:l,onRequireAuth:u}=r;if(l.status.kind==="auth-required"){let f;return e[0]!==u?(f=m.jsx(C,{title:"Sign in to edit this Song",description:"This private editing workflow requires your Sound Sculpt account. Public Catalog Songs remain available for anonymous adaptation.",actionLabel:"Sign in",onAction:u}),e[0]=u,e[1]=f):f=e[1],f}if(l.status.kind==="error"){let f;e[2]!==l.status.reason?(f=$(l.status.reason),e[2]=l.status.reason,e[3]=f):f=e[3];let g;return e[4]!==l.retry||e[5]!==f?(g=m.jsx(C,{title:"The editor could not open this Song",description:f,actionLabel:"Retry",onAction:l.retry}),e[4]=l.retry,e[5]=f,e[6]=g):g=e[6],g}if(l.status.kind==="ready"){let f;return e[7]!==t||e[8]!==d||e[9]!==o||e[10]!==u||e[11]!==s||e[12]!==n||e[13]!==a||e[14]!==c||e[15]!==l||e[16]!==i?(f=m.jsx(Ue,{embeddedPremiereSurface:t,onPremiereWorkspaceSaveReady:o,songId:i,premiereReference:n,premiereRenderChangesPending:a,premierePreviewingFromSoundSculpt:s,onPremiereUseRenderedAudio:d,premiereSync:c,session:l,onRequireAuth:u}),e[7]=t,e[8]=d,e[9]=o,e[10]=u,e[11]=s,e[12]=n,e[13]=a,e[14]=c,e[15]=l,e[16]=i,e[17]=f):f=e[17],f}let p;return e[18]===Symbol.for("react.memo_cache_sentinel")?(p=m.jsx(C,{title:"Opening Track Editor",description:"Resolving the exact Song and persistent playback sessionâ¦"}),e[18]=p):p=e[18],p}function ze(r){const e=I.c(2),{status:t}=r;let o="Track Editor session loading.";t.kind==="ready"?o="Track Editor session ready.":t.kind==="error"?o="Track Editor session failed.":t.kind==="auth-required"&&(o="Sign in to open Track Editor.");let i;return e[0]!==o?(i=m.jsx("p",{"aria-live":"polite",className:"sr-only",children:o}),e[0]=o,e[1]=i):i=e[1],i}function Ve(r){return!H(r)||typeof window>"u"?!1:K(window)}function He(r,e){if(r.kind!=="ready")return{heading:"Track Editor",title:"Track Editor"};const t=e||"Untitled Song";return{heading:`${t} Track Editor`,title:t}}function Ke(r){const e=I.c(16),{embedded:t,labels:o,onBack:i,status:n,children:a}=r,s=t?"bg-dominant-950 text-dominant-100 min-h-screen":"bg-dominant-950 text-dominant-100 min-h-screen px-4 py-4 sm:px-6";let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=m.jsx("a",{href:"#track-editor-content",className:"bg-action-400 text-dominant-950 fixed -top-20 left-2 z-50 rounded-lg px-4 py-2 font-semibold focus-visible:top-2",children:"Skip to Track Editor content"}),e[0]=d):d=e[0];let c;e[1]!==t||e[2]!==o.heading||e[3]!==o.title||e[4]!==i?(c=t?m.jsx("h1",{id:"track-editor-title",className:"sr-only",children:o.heading}):m.jsxs("header",{className:"border-dominant-800 flex min-h-14 items-center justify-between gap-4 border-b pb-4",children:[m.jsx("button",{type:"button",onClick:i,className:"focus-visible:ring-action-300 min-h-11 rounded-lg px-3 text-sm font-semibold outline-none focus-visible:ring-2",children:"Back to Sound Sculpt"}),m.jsxs("div",{className:"min-w-0 text-right",children:[m.jsx("p",{className:"text-dominant-400 text-[11px] font-semibold tracking-[0.16em] uppercase",children:"Track Editor"}),m.jsx("h1",{id:"track-editor-title",className:"truncate text-lg font-semibold",children:o.title})]})]}),e[1]=t,e[2]=o.heading,e[3]=o.title,e[4]=i,e[5]=c):c=e[5];let l;
1e[6]!==a?(l=m.jsx("div",{id:"track-editor-content",tabIndex:-1,children:a}),e[6]=a,e[7]=l):l=e[7];let u;e[8]!==n?(u=m.jsx(ze,{status:n}),e[8]=n,e[9]=u):u=e[9];let p;return e[10]!==n.kind||e[11]!==s||e[12]!==c||e[13]!==l||e[14]!==u?(p=m.jsxs("section",{"aria-labelledby":"track-editor-title","data-testid":"track-editor-shell","data-session-status":n.kind,className:s,children:[d,c,l,u]}),e[10]=n.kind,e[11]=s,e[12]=c,e[13]=l,e[14]=u,e[15]=p):p=e[15],p}const Qe=(r,e,t)=>r&&!e&&t!=="track-editor-save",Ge=(r,e)=>!r||e==="none"||e==="soundsculpt-preview",Xe=r=>{const e=I.c(9),{embedded:t,reference:o,status:i}=r;let n;e[0]!==t||e[1]!==o||e[2]!==i?(n=()=>{if(!(!t||!o)){if(i.kind==="ready"){_({hostWindow:window,projectId:o.projectId,cueId:o.cueId,state:{type:"ready"}});return}i.kind==="error"&&_({hostWindow:window,projectId:o.projectId,cueId:o.cueId,state:{type:"error",message:$(i.reason)}})}},e[0]=t,e[1]=o,e[2]=i,e[3]=n):n=e[3];const a=o?.cueId,s=o?.projectId;let d;e[4]!==t||e[5]!==i||e[6]!==a||e[7]!==s?(d=[t,a,s,i],e[4]=t,e[5]=i,e[6]=a,e[7]=s,e[8]=d):d=e[8],v.useEffect(n,d)},Je=r=>{const e=I.c(6),{approvedNavigation:t,navigate:o,reference:i,saveController:n}=r;let a,s;e[0]!==t||e[1]!==o||e[2]!==i||e[3]!==n?(a=()=>be({prepare:async d=>{const c=n.current;return c?ye(i,d)?!c.isDirty||c.save():!0:!1},switchTo:d=>{t.current=!0,o({to:"/edit/song/$songId",params:{songId:d.state.sourceId},replace:!0,state:d.state});try{window.focus()}catch{}}}),s=[t,o,i,n],e[0]=t,e[1]=o,e[2]=i,e[3]=n,e[4]=a,e[5]=s):(a=e[4],s=e[5]),v.useEffect(a,s)},Ye=(r,e)=>e?r.navigate({href:Q(e)}):Be()?r.history.back():r.navigate({to:"/songs"}),Ze=(r,e)=>{v.useEffect(()=>{if(e.state==="blocked"){if(window.confirm("Leave Track Editor and discard your unsaved changes?")){r.current=!0,e.proceed();return}e.reset()}},[r,e])},et=r=>{const e=I.c(4),{hasSelection:t,isDirty:o}=r;let i,n;e[0]!==t||e[1]!==o?(i=()=>{const a=d=>{o&&(d.preventDefault(),d.returnValue="")},s=d=>{d.key!=="Escape"||d.defaultPrevented||d.target?.closest('input, select, textarea, [role="dialog"]')||t&&N.getState().setStructuralChordSelection(null)};return window.addEventListener("beforeunload",a),window.addEventListener("keydown",s),()=>{window.removeEventListener("beforeunload",a),window.removeEventListener("keydown",s)}},n=[t,o],e[0]=t,e[1]=o,e[2]=i,e[3]=n):(i=e[2],n=e[3]),v.useEffect(i,n)},tt=({cue:r,enabled:e,navigationKey:t,ready:o,startedAtEpochMs:i,userId:n})=>{v.useEffect(()=>{!e||!r||me(n,r,"use_to_editor_route_start",i)},[r?.cueId,r?.projectId,e,i,n]);const a=v.useRef({navigationKey:t,startedAt:performance.now(),captured:!1});a.current.navigationKey!==t&&(a.current={navigationKey:t,startedAt:performance.now(),captured:!1}),v.useEffect(()=>{if(!e||!o||a.current.captured)return;let s;const d=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{a.current.captured||(a.current.captured=!0,A("editor_first_ready_paint",a.current.startedAt),r&&pe(n,r))})});return()=>{cancelAnimationFrame(d),s!==void 0&&cancelAnimationFrame(s)}},[r?.cueId,r?.projectId,e,t,o,n])};function $r(){const r=v.useRef(Date.now()),{songId:e}=U("/_pages/edit/song/$songId").useParams(),t=e.trim(),o=D(),i=z(),n=V(),{setActiveModal:a}=te(),s=N(k=>k.song),d=N(k=>k.initialSong),c=N(k=>k.structuralChordSelection),l=!q(s,d),u=v.useRef(!1),p=v.useRef(null),f=re(({nextLocation:k})=>Qe(l,u.current,k.state.entrySurface)),g=v.useMemo(()=>oe(o.state.premiereSession),[o.state]),h=Ve(o.searchStr),S=Z(),w=Fe({navigationState:o.state,premiereReference:g,routeSearch:o.searchStr,songId:t}),b=w.status.kind==="ready";tt({cue:g===null?null:{projectId:g.projectId,cueId:g.cueId},enabled:h&&!!g,navigationKey:o.state.__TSR_key??o.href,ready:b,startedAtEpochMs:r.current,userId:w.user?.id});const x=ne(g,b,b?s:void 0,Ge(h,S?.renderedAudioMode));Xe({embedded:h,reference:g,status:w.status}),Je({approvedNavigation:u,navigate:i,reference:g,saveController:p});const y=v.useCallback(()=>Ye(n,w.target.returnTo),[n,w.target.returnTo]);return Ze(u,f),et({hasSelection:c!==null,isDirty:l}),m.jsx(Ke,{embedded:h,labels:He(w.status,s?.name),onBack:y,status:w.status,children:m.jsx(De,{embeddedPremiereSurface:h,onPremiereWorkspaceSaveReady:k=>{p.current=k},songId:t,premiereReference:g,premiereRenderChangesPending:S?.renderChangesPending??!1,premierePreviewingFromSoundSculpt:S?.renderedAudioMode==="soundsculpt-preview",onPremiereUseRenderedAudio:S?.useRenderedAudio,premiereSync:x,session:w,onRequireAuth:()=>a("login")})})}function C(r){const e=I.c(11),{title:t,description:o,actionLabel:i,onAction:n}=r;let a;e[0]!==t?(a=m.jsx("h2",{className:"text-xl font-semibold",children:t}),e[0]=t,e[1]=a):a=e[1];let s;e[2]!==o?(s=m.jsx("p",{className:"text-dominant-400 mt-2 text-sm",children:o}),e[2]=o,e[3]=s):s=e[3];let d;e[4]!==i||e[5]!==n?(d=i&&n?m.jsx("button",{type:"button",onClick:n,className:"bg-action-400 text-dominant-950 focus-visible:ring-action-200 mt-5 min-h-11 rounded-xl px-5 text-sm font-semibold outline-none focus-visible:ring-2",children:i}):null,e[4]=i,e[5]=n,e[6]=d):d=e[6];let c;return e[7]!==a||e[8]!==s||e[9]!==d?(c=m.jsx("div",{className:"mx-auto flex min-h-[calc(100vh-5rem)] max-w-xl items-center justify-center px-6 text-center",children:m.jsxs("div",{children:[a,s,d]})}),e[7]=a,e[8]=s,e[9]=d,e[10]=c):c=e[10],c}
1export{$r as default};
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.