PageSourceSearch

https://soundgen.ai/assets/AIMusicians-M_m9ntN5.js

js soundgen.ai collected 2026-10-05 15:15:09 UTC 13,249 bytes, 1 lines download raw bytes

1import{r as v,j as e}from"./vendor-react-DK8sSDTI.js";import{H as I,J as E,K as F,M as z,N as L,L as n,I as g,x as T,y as V,z as _,F as B,G,w as R,B as i,k as f,X as q,O as H,a3 as O,C as x,l as p,P as w,V as S,d as W,e as J,a as N,ah as K,T as U,f as Y,a7 as Q,br as X,aj as Z,bg as $}from"./index-BEP3oK3s.js";import{L as k}from"./Layout-7p2CYcdb.js";import{u as ee}from"./useAIMusicians-DNWUDqgt.js";import{U as D}from"./users-CZRz652T.js";import{M as C}from"./music-D_IVJ3AO.js";import{D as se}from"./drum-DNy0NXrM.js";import{W as ae}from"./effectRegistry-CBru4A4t.js";import"./vendor-radix-DfM_gqlA.js";import"./vendor-supabase-D-CR3b6K.js";import"./team-HJYLEbVr.js";import"./index-COSo-KRB.js";import"./wallet-DmRXj3CJ.js";import"./clock-C_8yOljv.js";import"./house-Dj1QzcEu.js";import"./paperclip-C-IoIDwZ.js";import"./soundgenTiers-BjzoRwC-.js";import"./circle-alert-DPqF7DhT.js";import"./scissors-B3KjSIRB.js";import"./storage-a3z5XoZ2.js";import"./index-BClPjZgv.js";import"./index-BUfwsyyR.js";import"./stemTypes-DnLveQvC.js";import"./backgroundTools-DFqLYY_1.js";import"./shield-check-DEEeYaIn.js";import"./shield-bPDytHEZ.js";import"./gauge-ClDGkEAO.js";import"./audio-waveform-CVsn2mAk.js";import"./sliders-horizontal-hTT1lzX0.js";import"./trending-up-D8SN2rG8.js";import"./guitar-Clv98-T7.js";import"./audio-lines-BihZ6G_V.js";const te=[{value:"singer",label:"Singer/Vocalist"},{value:"drummer",label:"Drummer"},{value:"mixer",label:"Audio Mixer"},{value:"synth",label:"Synthesizer"},{value:"mastering",label:"Mastering Engineer"},{value:"bassist",label:"Bassist"},{value:"guitarist",label:"Guitarist"},{value:"producer",label:"Producer"}],re={singer:["Vocal Processing","Harmony Generation","Emotional Expression","Pitch Correction","Vocal Layering"],drummer:["Polyrhythms","Dynamic Control","Genre Adaptation","Fill Creation","Groove Variation"],mixer:["Spatial Audio","Dynamic Processing","Creative Effects","EQ Mastery","Compression"],synth:["Sound Design","Patch Creation","Modulation","Analog Modeling","Digital Synthesis"],mastering:["Loudness Optimization","Stereo Enhancement","Frequency Balance","Dynamics Control","Final Polish"],bassist:["Groove Creation","Rhythm Section","Low-End Management","Walking Bass","Slap Technique"],guitarist:["Chord Progressions","Lead Lines","Effects Processing","Rhythm Guitar","Fingerpicking"],producer:["Arrangement","Track Organization","Creative Direction","Sound Selection","Mix Preparation"]};function ie({open:c,onOpenChange:h,onCreateMusician:u}){const[t,r]=v.useState({name:"",role:"singer",description:"",skills:[],style:"",personality:"",is_active:!0}),[o,l]=v.useState(""),b=a=>{a.preventDefault(),t.name&&t.description&&t.style&&t.personality&&(u(t),r({name:"",role:"singer",description:"",skills:[],style:"",personality:"",is_active:!0}),l(""))},d=a=>{a&&!t.skills.includes(a)&&r(s=>({...s,skills:[...s.skills,a]})),l("")},y=a=>{r(s=>({...s,skills:s.skills.filter(m=>m!==a)}))},j=a=>{r(s=>({...s,role:a,skills:[]}))};return e.jsx(I,{open:c,onOpenChange:h,children:e.jsxs(E,{className:"max-w-[95vw] sm:max-w-[600px] bg-bg-elevated border-border-subtle max-h-modal overflow-y-auto",children:[e.jsxs(F,{children:[e.jsx(z,{className:"text-text-primary",children:"Create AI Musician"}),e.jsx(L,{className:"text-text-secondary",children:"Build a new AI musician with specific skills and personality traits."})]}),e.jsxs("form",{onSubmit:b,className:"space-y-4 sm:space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"name",className:"text-text-primary",children:"Name"}),e.jsx(g,{id:"name",value:t.name,onChange:a=>r(s=>({...s,name:a.target.value})),placeholder:"Enter musician name",className:"bg-bg-primary border-border-default text-text-primary",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"role",className:"text-text-primary",children:"Role"}),e.jsxs(T,{value:t.role,onValueChange:j,children:[e.jsx(V,{className:"bg-bg-primary border-border-default text-text-primary",children:e.jsx(_,{placeholder:"Select role"})}),e.jsx(B,{className:"bg-bg-elevated border-border-subtle",children:te.map(a=>e.jsx(G,{value:a.value,className:"text-text-primary",children:a.label},a.value))})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"description",className:"text-text-primary",children:"Description"}),e.jsx(R,{id:"description",value:t.description,onChange:a=>r(s=>({...s,description:a.target.value})),placeholder:"Describe the musician's expertise and characteristics",className:"bg-bg-primary border-border-default text-text-primary resize-none",rows:3,required:!0})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"style",className:"text-text-primary",children:"Musical Style"}),e.jsx(g,{id:"style",value:t.style,onChange:a=>r(s=>({...s,style:a.target.value})),placeholder:"e.g., Jazz, Electronic, Rock",className:"bg-bg-primary border-border-default text-text-primary",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{htmlFor:"personality",className:"text-text-primary",children:"Personality"}),e.jsx(g,{id:"personality",value:t.personality,onChange:a=>r(s=>({...s,personality:a.target.value})),placeholder:"e.g., Creative and intuitive",className:"bg-bg-primary border-border-default text-text-primary",required:!0})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(n,{className:"text-text-primary",children:"Skills"}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Suggested skills for ",t.role,":"]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:re[t.role].map(a=>e.jsxs(i,{type:"button",variant:"outline",size:"sm",onClick:()=>d(a),disabled:t.skills.includes(a),className:"text-xs bg-bg-primary border-border-default text-text-secondary hover:bg-bg-elevated",children:["+ ",a]},a))})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(g,{value:o,onChange:a=>l(a.target.value),placeholder:"Add custom skill",className:"bg-bg-primary border-border-default text-text-primary",onKeyDown:a=>a.key==="Enter"&&(a.preventDefault(),d(o))}),e.jsx(i,{type:"button",onClick:()=>d(o),variant:"outline",className:"bg-bg-primary border-border-default text-text-primary",children:"Add"})]}),t.skills.length>0&&e.jsx("div",{className:"flex flex-wrap gap-2",children:t.skills.map(a=>e.jsxs(f,{variant:"secondary",className:"bg-accent-cyan/20 text-accent-cyan border-accent-cyan/30 pr-1",children:[a,e.jsx(i,{type:"button",variant:"ghost",size:"sm",onClick:()=>y(a),className:"ml-2 h-auto p-0 w-4 h-4 hover:bg-transparent",children:e.jsx(q,{className:"w-3 h-3"})})]},a))})]}
1),e.jsxs(H,{children:[e.jsx(i,{type:"button",variant:"outline",onClick:()=>h(!1),className:"bg-bg-primary border-border-default text-text-primary",children:"Cancel"}),e.jsx(i,{type:"submit",className:"bg-gradient-primary hover:bg-gradient-primary/90 text-on-accent",children:"Create Musician"})]})]})]})})}const le={singer:Q,drummer:se,mixer:X,synth:C,mastering:Z,bassist:ae,guitarist:C,producer:$},ce={singer:"bg-accent-purple/20 text-accent-purple border-accent-purple/30",drummer:"bg-accent-orange/20 text-accent-orange border-accent-orange/30",mixer:"bg-accent-cyan/20 text-accent-cyan border-accent-cyan/30",synth:"bg-accent-pink/20 text-accent-pink border-accent-pink/30",mastering:"bg-accent-lime/20 text-accent-lime border-accent-lime/30",bassist:"bg-accent-blue/20 text-accent-blue border-accent-blue/30",guitarist:"bg-accent-yellow/20 text-accent-yellow border-accent-yellow/30",producer:"bg-accent-green/20 text-accent-green border-accent-green/30"};function Ge(){const{musicians:c,loading:h,createMusician:u,deleteMusician:t,toggleMusicianStatus:r}=ee(),[o,l]=v.useState(!1),b=async s=>{await u(s),l(!1)},d=async s=>{await r(s)},y=async s=>{await t(s)},j=c.filter(s=>s.is_active).length,a=c.reduce((s,m)=>s+m.collaborations,0);return h?e.jsx(k,{title:"AI Musicians",children:e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx(O,{className:"w-8 h-8 animate-spin text-accent-cyan"})})}):e.jsxs(k,{title:"AI Musicians",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-2 md:grid-cols-4 gap-3 sm:gap-4",children:[e.jsx(x,{variant:"surface",children:e.jsx(p,{className:"p-3 sm:p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs sm:text-sm text-text-secondary",children:"Total"}),e.jsx("p",{className:"text-heading-1",children:c.length})]}),e.jsx(D,{className:"w-6 h-6 sm:w-8 sm:h-8 text-accent-cyan"})]})})}),e.jsx(x,{variant:"surface",children:e.jsx(p,{className:"p-3 sm:p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs sm:text-sm text-text-secondary",children:"Active"}),e.jsx("p",{className:"text-heading-1",children:j})]}),e.jsx(w,{className:"w-6 h-6 sm:w-8 sm:h-8 text-accent-lime"})]})})}),e.jsx(x,{variant:"surface",children:e.jsx(p,{className:"p-3 sm:p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs sm:text-sm text-text-secondary",children:"Collabs"}),e.jsx("p",{className:"text-heading-1",children:a})]}),e.jsx(C,{className:"w-6 h-6 sm:w-8 sm:h-8 text-accent-purple"})]})})}),e.jsxs(i,{onClick:()=>l(!0),className:"h-[70px] sm:h-[80px] bg-gradient-primary hover:bg-gradient-primary/90 text-on-accent border-none text-sm sm:text-base",children:[e.jsx(S,{className:"w-4 h-4 sm:w-5 sm:h-5 mr-2"}),e.jsx("span",{className:"hidden sm:inline",children:"Create Musician"}),e.jsx("span",{className:"sm:hidden",children:"Create"})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:c.map(s=>{const m=le[s.role],M=ce[s.role];return e.jsxs(x,{variant:"surface",className:"hover:border-accent-cyan/50 transition-colors",children:[e.jsx(W,{className:"pb-3",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-bg-primary border-border-subtle",children:e.jsx(m,{className:"w-5 h-5 text-foreground"})}),e.jsxs("div",{children:[e.jsx(J,{className:"text-lg text-foreground",children:s.name}),e.jsx(f,{className:N(M,"text-xs capitalize mt-1"),children:s.role})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>d(s.id),className:"p-1 w-8 h-8",children:s.is_active?e.jsx(K,{className:"w-4 h-4 text-accent-orange"}):e.jsx(w,{className:"w-4 h-4 text-accent-lime"})}),e.jsx(i,{variant:"ghost",size:"sm",onClick:()=>y(s.id),className:"p-1 w-8 h-8 hover:bg-semantic-error/10 hover:text-semantic-error",children:e.jsx(U,{className:"w-4 h-4"})})]})]})}),e.jsxs(p,{className:"space-y-4",children:[e.jsx(Y,{className:"text-text-secondary",children:s.description||"No description"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-foreground mb-2",children:"Skills"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:(s.skills||[]).map((A,P)=>e.jsx(f,{variant:"secondary",className:"text-xs bg-bg-primary text-text-secondary",children:A},P))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-secondary",children:"Style"}),e.jsx("p",{className:"text-foreground font-medium",children:s.style||"Not set"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-secondary",children:"Collaborations"}),e.jsx("p",{className:"text-foreground font-medium",children:s.collaborations})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-secondary text-sm",children:"Personality"}),e.jsx("p",{className:"text-foreground text-sm",children:s.personality||"Not set"})]}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-border-subtle",children:[e.jsxs("div",{className:N("flex items-center gap-2",s.is_active?"text-accent-lime":"text-text-tertiary"),children:[e.jsx("div",{className:N("w-2 h-2 rounded-full",s.is_active?"bg-accent-lime":"bg-text-tertiary")}),e.jsx("span",{className:"text-xs font-medium",children:s.is_active?"Active":"Inactive"})]}),e.jsxs("span",{className:"text-xs text-text-tertiary",children:["Created ",new Date(s.created_at).toLocaleDateString()]})]})]})]},s.id)})}),c.length===0&&e.jsx(x,{variant:"surface",children:e.jsxs(p,{className:"p-12 text-center",children:[e.jsx(D,{className:"w-16 h-16 text-text-tertiary mx-auto mb-4"}),e.jsx("h3",{className:"text-heading-3 mb-2",children:"No AI Musicians Yet"}),e.jsx("p",{className:"text-text-secondary mb-6",children:"Create your first AI musician to start building your virtual band"}),e.jsxs(i,{onClick:()=>l(!0),className:"bg-gradient-primary hover:bg-gradient-primary/90 text-on-accent",children:[e.jsx(S,{className:"w-4 h-4 mr-2"}),"Create Your First Musician"]})]})})]}),e.jsx(ie,{open:o,onOpenChange:l,onCreateMusician:b})]})}
1export{Ge 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.