PageSourceSearch

https://music-prod.com/assets/Tools-BYzzClZ5.js

js music-prod.com collected 2026-09-29 12:33:53 UTC 5,988 bytes, 1 lines download raw bytes

1import{j as s}from"./vendor-query-REUEbryQ.js";import{u as e,L as o}from"./vendor-react-tIoPkRwd.js";import{u as r}from"./useEmbedMode-CVdryXa-.js";import{VersionFooter as t}from"./VersionFooter-CKh0QyN6.js";import{M as i}from"./MainLayout-Ksz7zHhr.js";import{EmbedAuthBar as a}from"./EmbedAuthBar-BTglXdYk.js";import{g as l}from"./index--0ud_HHy.js";import{S as m}from"./SEO-BruwIufJ.js";import{t as n,A as c,v as d}from"./AdUnit-CEQHIbmD.js";import{T as p}from"./ToolsSubscriptionPromo-Cq5eWAuZ.js";import{b as j,k as u,c as x,a as h,l as g,r as f,d as b,m as v,e as N,s as w,f as y,p as k,g as M,h as T,v as F}from"./v1-icon-CBClWKvi.js";import{W as L}from"./wrench-Ct-JOGKM.js";import"./ChangelogDialog-BzgFCNA6.js";import"./scroll-area-BAEFWRJq.js";import"./vendor-ui-BVtOlGvj.js";import"./textarea-C1OSlJeR.js";import"./label-BLxROBsa.js";import"./message-square-text-BD9gOrla.js";import"./external-link-D4r3JqVx.js";import"./useAdPlacements-C3kKsaFs.js";import"./info-O2IQVtLI.js";import"./circle-alert-CObcGLbk.js";import"./credit-card-CYKdopSW.js";import"./use-mobile-B4hqzuWL.js";import"./download-yNQ0nzkl.js";import"./dropdown-menu-BhjWH65A.js";import"./chevron-right-0eTVlG1M.js";import"./check-ekX4Q09Q.js";import"./circle-DNRAjJQk.js";import"./ThemeToggle-DvFkM08t.js";import"./book-open-aITWI1Zk.js";import"./music-CBz0HdiS.js";import"./chevron-down-D56Is0vg.js";import"./UserMenu-G0fpOx5r.js";import"./sparkles-B8pZP29O.js";import"./star-MSjiZEel.js";import"./vendor-supabase-BcbvpzCe.js";import"./useVyreExpansions-78Z_uhHg.js";import"./memberCodes-D8CLuRSK.js";import"./useCourseCategories-CHRMRi9s.js";import"./toolVersions-n8IhcncZ.js";import"./monitor-CWBouFUT.js";import"./audio-lines-DULcR7cS.js";import"./piano-DpUfrck2.js";import"./volume-2-BGXhlmMK.js";import"./graduation-cap-ByWPWr0j.js";import"./message-square-BEMCGeba.js";import"./arrow-left-DdlyX7wK.js";import"./badge-CSsjGdxs.js";import"./lock-DAUsFfZV.js";import"./arrow-right-BzaDoiD0.js";const A={"/tools/bpm-tap-tempo":j,"/tools/key-finder":u,"/tools/chord-detector":x,"/tools/chord-progression-maker":h,"/tools/loudness-meter":g,"/tools/audio-recorder":f,"/tools/audio-converter":b,"/tools/melody-chord-generator":v,"/tools/drum-pattern-generator":N,"/tools/screen-share-ai":w,"/tools/mixing-assistant":y,"/tools/piano-learner":k,"/tools/midi-chord-tool":M,"/tools/hook-creator":"/assets/hook-creator-zs7ajrMK.jpg","/ai-chat":T},E=({tool:e})=>{const r=A[e.path],t="/tools/screen-share-ai"===e.path,i=t?d:F;return s.jsx(o,{to:e.path,className:"group",children:s.jsxs("div",{className:"flex flex-col rounded-2xl border border-border bg-card overflow-hidden transition-colors hover:border-foreground
1/20",children:[s.jsxs("div",{className:"relative h-44 flex flex-col justify-between text-white p-5 overflow-hidden",children:[s.jsx("div",{className:"absolute inset-0 bg-cover bg-center saturate-[0.35] brightness-[0.55] transition-transform duration-500 group-hover:scale-105",style:{backgroundImage:`url(${r})`},"aria-hidden":"true"}),s.jsx("div",{className:"absolute inset-0 bg-[hsl(240_6%_4%/0.45)]","aria-hidden":"true"}),s.jsxs("div",{className:"relative flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"flex flex-col gap-2 min-w-0",children:[e.isNew&&s.jsx("span",{className:"self-start eyebrow text-brand",children:"New"}),s.jsx("p",{className:"text-lg font-semibold font-serif tracking-tight",children:e.name})]}),s.jsx("div",{className:"w-8 h-8 shrink-0 flex items-center justify-center",children:s.jsx("img",{src:i,alt:t?"Version 2 tool icon":"Version 1 tool icon",className:"rounded-lg opacity-80 "+(t?"w-8 h-8 scale-125":"w-8 h-8"),width:32,height:32})})]}),s.jsx("p",{className:"relative text-sm text-white/80",children:e.description})]}),s.jsx("div",{className:"p-4",children:s.jsx("div",{className:"w-full py-2.5 rounded-full border border-border bg-transparent text-foreground text-sm font-medium text-center transition-colors group-hover:bg-secondary",children:"Open Tool"})})]})})},P=()=>{const{isEmbedMode:o}=r(),{isLoggedIn:d,isSubscribed:j,userName:u,userEmail:x,logout:h}=l(),g=e();return o?s.jsxs("div",{className:"min-h-screen bg-background",children:[s.jsx(m,{title:"Free Music Production Tools",description:"Free online tools for music producers: BPM Tap Tempo, Key Finder, Loudness Meter, Audio Recorder, and more.",url:"/tools"}),s.jsx(a,{isLoggedIn:d,isSubscribed:j,userName:u,userEmail:x,onLogin:()=>g("/login"),onLogout:async()=>{await h(),g("/")}}),s.jsxs("main",{className:"container mx-auto px-4 py-8",children:[s.jsxs("div",{className:"text-center mb-8",children:[s.jsxs("h1",{className:"text-2xl font-bold flex items-center justify-center gap-2",children:[s.jsx(L,{className:"w-5 h-5 text-primary"}),"Music Tools"]}),s.jsx("p",{className:"text-muted-foreground mt-2",children:"Free tools to help with your music production"})]}),s.jsx("div",{className:"max-w-5xl mx-auto grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:n.map(e=>s.jsx(E,{tool:e},e.path))})]}),s.jsx(t,{})]}):s.jsxs(i,{children:[s.jsx(m,{title:"Free Music Production Tools",description:"Free online tools for music producers: BPM Tap Tempo, Key Finder, Loudness Meter, Audio Recorder, and more.",url:"/tools"}),s.jsxs("div",{className:"container mx-auto px-4 py-8",children:[s.jsxs("div",{className:"text-center mb-8",children:[s.jsxs("h1",{className:"text-2xl font-bold flex items-center justify-center gap-2",children:[s.jsx(L,{className:"w-5 h-5 text-primary"}),"Music Tools"]}),s.jsx("p",{className:"text-muted-foreground mt-2",children:"Free tools to help with your music production"})]}),s.jsx("div",{className:"max-w-5xl mx-auto grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:n.map(e=>s.jsx(E,{tool:e},e.path))}),s.jsx("div",{className:"max-w-5xl mx-auto mt-4",children:s.jsx(p,{})}),s.jsx(c,{placementKey:"tools",className:"max-w-5xl mx-auto w-full flex justify-center py-4"})]})]})};export{P 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.